diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-generic/gpio.h | 6 | ||||
| -rw-r--r-- | include/linux/amba/pl022.h | 4 | ||||
| -rw-r--r-- | include/linux/of.h | 11 | ||||
| -rw-r--r-- | include/linux/of_gpio.h | 10 |
4 files changed, 23 insertions, 8 deletions
diff --git a/include/asm-generic/gpio.h b/include/asm-generic/gpio.h index 8c8621097fa0..d466c8d8826d 100644 --- a/include/asm-generic/gpio.h +++ b/include/asm-generic/gpio.h | |||
| @@ -4,6 +4,7 @@ | |||
| 4 | #include <linux/kernel.h> | 4 | #include <linux/kernel.h> |
| 5 | #include <linux/types.h> | 5 | #include <linux/types.h> |
| 6 | #include <linux/errno.h> | 6 | #include <linux/errno.h> |
| 7 | #include <linux/of.h> | ||
| 7 | 8 | ||
| 8 | #ifdef CONFIG_GPIOLIB | 9 | #ifdef CONFIG_GPIOLIB |
| 9 | 10 | ||
| @@ -128,13 +129,14 @@ struct gpio_chip { | |||
| 128 | */ | 129 | */ |
| 129 | struct device_node *of_node; | 130 | struct device_node *of_node; |
| 130 | int of_gpio_n_cells; | 131 | int of_gpio_n_cells; |
| 131 | int (*of_xlate)(struct gpio_chip *gc, struct device_node *np, | 132 | int (*of_xlate)(struct gpio_chip *gc, |
| 132 | const void *gpio_spec, u32 *flags); | 133 | const struct of_phandle_args *gpiospec, u32 *flags); |
| 133 | #endif | 134 | #endif |
| 134 | }; | 135 | }; |
| 135 | 136 | ||
| 136 | extern const char *gpiochip_is_requested(struct gpio_chip *chip, | 137 | extern const char *gpiochip_is_requested(struct gpio_chip *chip, |
| 137 | unsigned offset); | 138 | unsigned offset); |
| 139 | extern struct gpio_chip *gpio_to_chip(unsigned gpio); | ||
| 138 | extern int __must_check gpiochip_reserve(int start, int ngpio); | 140 | extern int __must_check gpiochip_reserve(int start, int ngpio); |
| 139 | 141 | ||
| 140 | /* add/remove chips */ | 142 | /* add/remove chips */ |
diff --git a/include/linux/amba/pl022.h b/include/linux/amba/pl022.h index 4ce98f54186b..572f637299c9 100644 --- a/include/linux/amba/pl022.h +++ b/include/linux/amba/pl022.h | |||
| @@ -238,6 +238,9 @@ struct dma_chan; | |||
| 238 | * @enable_dma: if true enables DMA driven transfers. | 238 | * @enable_dma: if true enables DMA driven transfers. |
| 239 | * @dma_rx_param: parameter to locate an RX DMA channel. | 239 | * @dma_rx_param: parameter to locate an RX DMA channel. |
| 240 | * @dma_tx_param: parameter to locate a TX DMA channel. | 240 | * @dma_tx_param: parameter to locate a TX DMA channel. |
| 241 | * @autosuspend_delay: delay in ms following transfer completion before the | ||
| 242 | * runtime power management system suspends the device. A setting of 0 | ||
| 243 | * indicates no delay and the device will be suspended immediately. | ||
| 241 | */ | 244 | */ |
| 242 | struct pl022_ssp_controller { | 245 | struct pl022_ssp_controller { |
| 243 | u16 bus_id; | 246 | u16 bus_id; |
| @@ -246,6 +249,7 @@ struct pl022_ssp_controller { | |||
| 246 | bool (*dma_filter)(struct dma_chan *chan, void *filter_param); | 249 | bool (*dma_filter)(struct dma_chan *chan, void *filter_param); |
| 247 | void *dma_rx_param; | 250 | void *dma_rx_param; |
| 248 | void *dma_tx_param; | 251 | void *dma_tx_param; |
| 252 | int autosuspend_delay; | ||
| 249 | }; | 253 | }; |
| 250 | 254 | ||
| 251 | /** | 255 | /** |
diff --git a/include/linux/of.h b/include/linux/of.h index 4948552d60f5..ea44fd72af5f 100644 --- a/include/linux/of.h +++ b/include/linux/of.h | |||
| @@ -65,6 +65,13 @@ struct device_node { | |||
| 65 | #endif | 65 | #endif |
| 66 | }; | 66 | }; |
| 67 | 67 | ||
| 68 | #define MAX_PHANDLE_ARGS 8 | ||
| 69 | struct of_phandle_args { | ||
| 70 | struct device_node *np; | ||
| 71 | int args_count; | ||
| 72 | uint32_t args[MAX_PHANDLE_ARGS]; | ||
| 73 | }; | ||
| 74 | |||
| 68 | #ifdef CONFIG_OF | 75 | #ifdef CONFIG_OF |
| 69 | 76 | ||
| 70 | /* Pointer for first entry in chain of all nodes. */ | 77 | /* Pointer for first entry in chain of all nodes. */ |
| @@ -230,9 +237,9 @@ extern int of_modalias_node(struct device_node *node, char *modalias, int len); | |||
| 230 | extern struct device_node *of_parse_phandle(struct device_node *np, | 237 | extern struct device_node *of_parse_phandle(struct device_node *np, |
| 231 | const char *phandle_name, | 238 | const char *phandle_name, |
| 232 | int index); | 239 | int index); |
| 233 | extern int of_parse_phandles_with_args(struct device_node *np, | 240 | extern int of_parse_phandle_with_args(struct device_node *np, |
| 234 | const char *list_name, const char *cells_name, int index, | 241 | const char *list_name, const char *cells_name, int index, |
| 235 | struct device_node **out_node, const void **out_args); | 242 | struct of_phandle_args *out_args); |
| 236 | 243 | ||
| 237 | extern void of_alias_scan(void * (*dt_alloc)(u64 size, u64 align)); | 244 | extern void of_alias_scan(void * (*dt_alloc)(u64 size, u64 align)); |
| 238 | extern int of_alias_get_id(struct device_node *np, const char *stem); | 245 | extern int of_alias_get_id(struct device_node *np, const char *stem); |
diff --git a/include/linux/of_gpio.h b/include/linux/of_gpio.h index 52280a2b5e63..b254052a49d7 100644 --- a/include/linux/of_gpio.h +++ b/include/linux/of_gpio.h | |||
| @@ -18,6 +18,7 @@ | |||
| 18 | #include <linux/kernel.h> | 18 | #include <linux/kernel.h> |
| 19 | #include <linux/errno.h> | 19 | #include <linux/errno.h> |
| 20 | #include <linux/gpio.h> | 20 | #include <linux/gpio.h> |
| 21 | #include <linux/of.h> | ||
| 21 | 22 | ||
| 22 | struct device_node; | 23 | struct device_node; |
| 23 | 24 | ||
| @@ -57,8 +58,9 @@ extern int of_mm_gpiochip_add(struct device_node *np, | |||
| 57 | extern void of_gpiochip_add(struct gpio_chip *gc); | 58 | extern void of_gpiochip_add(struct gpio_chip *gc); |
| 58 | extern void of_gpiochip_remove(struct gpio_chip *gc); | 59 | extern void of_gpiochip_remove(struct gpio_chip *gc); |
| 59 | extern struct gpio_chip *of_node_to_gpiochip(struct device_node *np); | 60 | extern struct gpio_chip *of_node_to_gpiochip(struct device_node *np); |
| 60 | extern int of_gpio_simple_xlate(struct gpio_chip *gc, struct device_node *np, | 61 | extern int of_gpio_simple_xlate(struct gpio_chip *gc, |
| 61 | const void *gpio_spec, u32 *flags); | 62 | const struct of_phandle_args *gpiospec, |
| 63 | u32 *flags); | ||
| 62 | 64 | ||
| 63 | #else /* CONFIG_OF_GPIO */ | 65 | #else /* CONFIG_OF_GPIO */ |
| 64 | 66 | ||
| @@ -75,8 +77,8 @@ static inline unsigned int of_gpio_count(struct device_node *np) | |||
| 75 | } | 77 | } |
| 76 | 78 | ||
| 77 | static inline int of_gpio_simple_xlate(struct gpio_chip *gc, | 79 | static inline int of_gpio_simple_xlate(struct gpio_chip *gc, |
| 78 | struct device_node *np, | 80 | const struct of_phandle_args *gpiospec, |
| 79 | const void *gpio_spec, u32 *flags) | 81 | u32 *flags) |
| 80 | { | 82 | { |
| 81 | return -ENOSYS; | 83 | return -ENOSYS; |
| 82 | } | 84 | } |
