diff options
author | KV Sujith <sujithkv@ti.com> | 2013-08-18 01:18:58 -0400 |
---|---|---|
committer | Sekhar Nori <nsekhar@ti.com> | 2013-09-24 01:01:51 -0400 |
commit | 118150f22d6b4431a1fe2e715de314a5d93836f5 (patch) | |
tree | 080754912ca05cd7dc93fd177e435582b5671f1b /arch/arm/mach-davinci | |
parent | 131a10a39545cce2f569a760e4470ebd988132b0 (diff) |
gpio: davinci: move to platform device
Modify DaVinci GPIO driver to become a platform device
driver.
The driver does not have platform driver structure or
a probe. Instead, it has pure_initcall function for
initialization. The platform specific informaiton is
obtained using the DaVinci specific davinci_soc_info
structure. This is a problem for Device Tree (DT)
implementation.
As a first stage of DT conversion, we implement a probe.
Additional notes:
- The driver registration happens as postcore_initcall.
This is required since machine init functions like
da850_lcd_hw_init() make use of GPIO.
- Start using devres APIs for simpler error handling.
Signed-off-by: KV Sujith <sujithkv@ti.com>
[avinashphilip@ti.com: Move global definition of
"davinci_gpio_controller" to local]
Signed-off-by: Philip Avinash <avinashphilip@ti.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
[nsekhar@ti.com: drop unused structure member, rebase to new
clean-up patch and fix error messages]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Diffstat (limited to 'arch/arm/mach-davinci')
-rw-r--r-- | arch/arm/mach-davinci/include/mach/gpio-davinci.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm/mach-davinci/include/mach/gpio-davinci.h b/arch/arm/mach-davinci/include/mach/gpio-davinci.h index 1fdd1fd35448..551ba43a763e 100644 --- a/arch/arm/mach-davinci/include/mach/gpio-davinci.h +++ b/arch/arm/mach-davinci/include/mach/gpio-davinci.h | |||
@@ -60,6 +60,7 @@ struct davinci_gpio_controller { | |||
60 | void __iomem *set_data; | 60 | void __iomem *set_data; |
61 | void __iomem *clr_data; | 61 | void __iomem *clr_data; |
62 | void __iomem *in_data; | 62 | void __iomem *in_data; |
63 | unsigned gpio_irq; | ||
63 | }; | 64 | }; |
64 | 65 | ||
65 | /* The __gpio_to_controller() and __gpio_mask() functions inline to constants | 66 | /* The __gpio_to_controller() and __gpio_mask() functions inline to constants |