aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-davinci
diff options
context:
space:
mode:
authorKV Sujith <sujithkv@ti.com>2013-08-18 01:18:58 -0400
committerSekhar Nori <nsekhar@ti.com>2013-09-24 01:01:51 -0400
commit118150f22d6b4431a1fe2e715de314a5d93836f5 (patch)
tree080754912ca05cd7dc93fd177e435582b5671f1b /arch/arm/mach-davinci
parent131a10a39545cce2f569a760e4470ebd988132b0 (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.h1
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