diff options
author | David Brownell <dbrownell@users.sourceforge.net> | 2008-12-10 20:35:26 -0500 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2008-12-10 20:35:26 -0500 |
commit | e918edf7c2f2270dcf18cdcbdf86174a013a124e (patch) | |
tree | 36a5d45c3795ac188e32c09b427fa67068d6cacd /arch/arm/plat-omap/gpio.c | |
parent | 40e3925ba15b604c9ff87154d77a914221d11cdc (diff) |
ARM: OMAP: switch to gpio_direction_output
More conversion to the standard GPIO interfaces: stop using
omap_set_gpio_direction() entirely, and switch over to the
gpio_direction_output() call.
Note that because gpio_direction_output() includes the initial
value, this change isn't quite transparent.
- For the call sites which defined an initial value either
before or after setting the direction, that value was used.
When that value was previously assigned afterwards, this
could eliminate a brief output glitch ... and possibly
change behavior. In a few cases (LCDs) several values
were assigned together ... those were re-arranged to match
the explicit sequence provided.
- Some call sites didn't define such a value; so I chose an
initial "off/reset" value that seemed to default to "off".
In short, files touched by this patch might notice some small
changes in startup behavior (with trivial fixes).
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/plat-omap/gpio.c')
-rw-r--r-- | arch/arm/plat-omap/gpio.c | 14 |
1 files changed, 0 insertions, 14 deletions
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c index c0322b56efe9..a6dbef476035 100644 --- a/arch/arm/plat-omap/gpio.c +++ b/arch/arm/plat-omap/gpio.c | |||
@@ -333,19 +333,6 @@ static void _set_gpio_direction(struct gpio_bank *bank, int gpio, int is_input) | |||
333 | __raw_writel(l, reg); | 333 | __raw_writel(l, reg); |
334 | } | 334 | } |
335 | 335 | ||
336 | void omap_set_gpio_direction(int gpio, int is_input) | ||
337 | { | ||
338 | struct gpio_bank *bank; | ||
339 | unsigned long flags; | ||
340 | |||
341 | if (check_gpio(gpio) < 0) | ||
342 | return; | ||
343 | bank = get_gpio_bank(gpio); | ||
344 | spin_lock_irqsave(&bank->lock, flags); | ||
345 | _set_gpio_direction(bank, get_gpio_index(gpio), is_input); | ||
346 | spin_unlock_irqrestore(&bank->lock, flags); | ||
347 | } | ||
348 | |||
349 | static void _set_gpio_dataout(struct gpio_bank *bank, int gpio, int enable) | 336 | static void _set_gpio_dataout(struct gpio_bank *bank, int gpio, int enable) |
350 | { | 337 | { |
351 | void __iomem *reg = bank->base; | 338 | void __iomem *reg = bank->base; |
@@ -1741,7 +1728,6 @@ static int __init omap_gpio_sysinit(void) | |||
1741 | 1728 | ||
1742 | EXPORT_SYMBOL(omap_request_gpio); | 1729 | EXPORT_SYMBOL(omap_request_gpio); |
1743 | EXPORT_SYMBOL(omap_free_gpio); | 1730 | EXPORT_SYMBOL(omap_free_gpio); |
1744 | EXPORT_SYMBOL(omap_set_gpio_direction); | ||
1745 | 1731 | ||
1746 | arch_initcall(omap_gpio_sysinit); | 1732 | arch_initcall(omap_gpio_sysinit); |
1747 | 1733 | ||