diff options
Diffstat (limited to 'target/linux/generic/files/include')
-rw-r--r-- | target/linux/generic/files/include/linux/pwm/pwm.h | 165 |
1 files changed, 0 insertions, 165 deletions
diff --git a/target/linux/generic/files/include/linux/pwm/pwm.h b/target/linux/generic/files/include/linux/pwm/pwm.h deleted file mode 100644 index e01cca9036..0000000000 --- a/target/linux/generic/files/include/linux/pwm/pwm.h +++ /dev/null @@ -1,165 +0,0 @@ -/* - * include/linux/pwm.h - * - * Copyright (C) 2008 Bill Gatliff < bgat@billgatliff.com> - * - * This program is free software; you may redistribute and/or modify - * it under the terms of the GNU General Public License version 2, as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 - * USA - */ -#ifndef __LINUX_PWM_H -#define __LINUX_PWM_H - -enum { - PWM_CONFIG_DUTY_TICKS = BIT(0), - PWM_CONFIG_PERIOD_TICKS = BIT(1), - PWM_CONFIG_POLARITY = BIT(2), - PWM_CONFIG_START = BIT(3), - PWM_CONFIG_STOP = BIT(4), - - PWM_CONFIG_HANDLER = BIT(5), - - PWM_CONFIG_DUTY_NS = BIT(6), - PWM_CONFIG_DUTY_PERCENT = BIT(7), - PWM_CONFIG_PERIOD_NS = BIT(8), -}; - -struct pwm_channel; -struct work_struct; - -typedef int (*pwm_handler_t)(struct pwm_channel *p, void *data); -typedef void (*pwm_callback_t)(struct pwm_channel *p); - -struct pwm_channel_config { - int config_mask; - unsigned long duty_ticks; - unsigned long period_ticks; - int polarity; - - pwm_handler_t handler; - - unsigned long duty_ns; - unsigned long period_ns; - int duty_percent; -}; - -struct pwm_device { - struct list_head list; - spinlock_t list_lock; - struct device *dev; - struct module *owner; - struct pwm_channel *channels; - - const char *bus_id; - int nchan; - - int (*request) (struct pwm_channel *p); - void (*free) (struct pwm_channel *p); - int (*config) (struct pwm_channel *p, - struct pwm_channel_config *c); - int (*config_nosleep)(struct pwm_channel *p, - struct pwm_channel_config *c); - int (*synchronize) (struct pwm_channel *p, - struct pwm_channel *to_p); - int (*unsynchronize)(struct pwm_channel *p, - struct pwm_channel *from_p); - int (*set_callback) (struct pwm_channel *p, - pwm_callback_t callback); -}; - -int pwm_register(struct pwm_device *pwm); -int pwm_unregister(struct pwm_device *pwm); - -enum { - FLAG_REQUESTED = 0, - FLAG_STOP = 1, -}; - -struct pwm_channel { - struct list_head list; - struct pwm_device *pwm; - const char *requester; - pid_t pid; - int chan; - unsigned long flags; - unsigned long tick_hz; - - spinlock_t lock; - struct completion complete; - - pwm_callback_t callback; - - struct work_struct handler_work; - pwm_handler_t handler; - void *handler_data; - - int active_high; - unsigned long period_ticks; - unsigned long duty_ticks; -}; - -struct gpio_pwm_platform_data { - int gpio; -}; - -struct pwm_channel * -pwm_request(const char *bus_id, int chan, - const char *requester); - -void pwm_free(struct pwm_channel *pwm); - -int pwm_config_nosleep(struct pwm_channel *pwm, - struct pwm_channel_config *c); - -int pwm_config(struct pwm_channel *pwm, - struct pwm_channel_config *c); - -unsigned long pwm_ns_to_ticks(struct pwm_channel *pwm, - unsigned long nsecs); - -unsigned long pwm_ticks_to_ns(struct pwm_channel *pwm, - unsigned long ticks); - -int pwm_set_period_ns(struct pwm_channel *pwm, - unsigned long period_ns); - -unsigned long int pwm_get_period_ns(struct pwm_channel *pwm); - -int pwm_set_duty_ns(struct pwm_channel *pwm, - unsigned long duty_ns); - -int pwm_set_duty_percent(struct pwm_channel *pwm, - int percent); - -unsigned long pwm_get_duty_ns(struct pwm_channel *pwm); - -int pwm_set_polarity(struct pwm_channel *pwm, - int active_high); - -int pwm_start(struct pwm_channel *pwm); - -int pwm_stop(struct pwm_channel *pwm); - -int pwm_set_handler(struct pwm_channel *pwm, - pwm_handler_t handler, - void *data); - -int pwm_synchronize(struct pwm_channel *p, - struct pwm_channel *to_p); - - -int pwm_unsynchronize(struct pwm_channel *p, - struct pwm_channel *from_p); - - -#endif /* __LINUX_PWM_H */ |