diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-07 15:15:36 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-07 15:15:36 -0500 |
commit | fbce1c234feedb5270468aa4b1770c1cab58a960 (patch) | |
tree | 7391d7bcce50eab43c750c4055b056ab1892d6b2 /include | |
parent | 7affca3537d74365128e477b40c529d6f2fe86c8 (diff) | |
parent | d0ad5e89256c351ddd40167152c24a88efcb0f6d (diff) |
Merge tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux-2.6
Changes queued in gpio/next for the start of the 3.3 merge window
* tag 'gpio-for-linus-20120104' of git://git.secretlab.ca/git/linux-2.6:
gpio: Add decode of WM8994 GPIO configuration
gpio: Convert GPIO drivers to module_platform_driver
gpio: Fix typo in comment in Samsung driver
gpio: Explicitly index samsung_gpio_cfgs
gpio: Add Linus Walleij as gpio co-maintainer
of: Add device tree selftests
of: create of_phandle_args to simplify return of phandle parsing data
gpio/powerpc: Eliminate duplication of of_get_named_gpio_flags()
gpio/microblaze: Eliminate duplication of of_get_named_gpio_flags()
gpiolib: output basic details and consolidate gpio device drivers
pch_gpio: Change company name OKI SEMICONDUCTOR to LAPIS Semiconductor
pch_gpio: Support new device LAPIS Semiconductor ML7831 IOH
spi/pl022: make the chip deselect handling thread safe
spi/pl022: add support for pm_runtime autosuspend
spi/pl022: disable the PL022 block when unused
spi/pl022: move device disable to workqueue thread
spi/pl022: skip default configuration before suspending
spi/pl022: fix build warnings
spi/pl022: only enable RX interrupts when TX is complete
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 | } |