aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpio/gpio-pxa.c
AgeCommit message (Collapse)AuthorFilesLines
2012-11-15ARM: pxa: remove pxa95x supportHaojian Zhuang1-1/+1
PXA95x isn't widely used. And it adds the effort on supporting multiple platform. So remove it. The assumption is that nobody will miss this support. If you are reading this text because you actually require pxa95x support on a new kernel, we can work out a way to revert this patch or add support to the mmp platform. Signed-off-by: Haojian Zhuang <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]>
2012-10-02Merge tag 'gpio-for-v3.7' of ↵Linus Torvalds1-11/+2
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio Pull GPIO changes from Linus Walleij: "So this is the LW GPIO patch stack for v3.7: - refactoring from Thierry Redding at Arnd Bergmann's request to use the seq_file iterator interface in gpiolib. - A new driver for Avionic Design's N-bit GPIO expander. - Two instances of mutexes replaced by spinlocks from Axel Lin to code that is supposed to be fastpath compliant. - IRQ demuxer and gpio_to_irq() support for pcf857x by Kuninori Morimoto. - Dynamic GPIO numbers, device tree support, daisy chaining and some other fixes for the 74x164 driver by Maxime Ripard. - IRQ domain and device tree support for the tc3589x driver by Lee Jones. - Some conversion to use managed resources devm_* code. - Some instances of clk_prepare() or clk_prepare_enable() added to support the new, stricter common clock framework. - Some for_each_set_bit() simplifications. - Then a lot of fixes as we fixed up all of the above tripping over our own shoelaces and that kind of thing." * tag 'gpio-for-v3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (34 commits) gpio: pcf857x: select IRQ_DOMAIN gpio: Document device_node's det_debounce gpio-lpc32xx: Add GPI_28 gpio: adnp: dt: Reference generic interrupt binding gpio: Add Avionic Design N-bit GPIO expander support gpio: pxa: using for_each_set_bit to simplify the code gpio_msm: using for_each_set_bit to simplify the code gpio: Enable the tc3298x GPIO expander driver for Device Tree gpio: Provide the tc3589x GPIO expander driver with an IRQ domain ARM: shmobile: kzm9g: use gpio-keys instead of gpio-keys-polled gpio: pcf857x: fixup smatch WARNING gpio: 74x164: Add support for the daisy-chaining gpio: 74x164: dts: Add documentation for the dt binding dt: Fix incorrect reference in gpio-led documentation gpio: 74x164: Add device tree support gpio: 74x164: Use dynamic gpio number assignment if no pdata is present gpio: 74x164: Use devm_kzalloc gpio: 74x164: Use module_spi_driver boiler plate function gpio: sx150x: Use irq_data_get_irq_chip_data() at appropriate places gpio: em: Use irq_data_get_irq_chip_data() at appropriate places ...
2012-09-18gpio: pxa: using for_each_set_bit to simplify the codeWei Yongjun1-3/+1
Using for_each_set_bit() to simplify the code. spatch with a semantic match is used to found this. (http://coccinelle.lip6.fr/) Signed-off-by: Wei Yongjun <[email protected]> Acked-by: Haojian Zhuang <[email protected]> Acked-by: Eric Miao <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2012-09-05Merge branch 'soc-core' of ↵Olof Johansson1-2/+28
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt * 'soc-core' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: mach-shmobile: Add compilation support for dtbs using 'make dtbs' + sync to 3.6-rc3
2012-09-01drivers/gpio/gpio-pxa.c: use clk_prepare_enable and clk_disable_unprepareJulia Lawall1-8/+1
Clk_prepare_enable and clk_disable_unprepare combine clk_prepare and clk_enable, and clk_disable and clk_unprepare. They make the code more concise, and ensure that clk_unprepare is called when clk_enable fails. A simplified version of the semantic patch that introduces calls to these functions is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression e; @@ - clk_prepare(e); - clk_enable(e); + clk_prepare_enable(e); @@ expression e; @@ - clk_disable(e); - clk_unprepare(e); + clk_disable_unprepare(e); // </smpl> Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2012-08-16gpio: pxa: add chain_eneter and chain_exit for irq handlerChao Xie1-0/+7
Signed-off-by: Chao Xie <[email protected]> Signed-off-by: Haojian Zhuang <[email protected]>
2012-08-16GPIO: gpio-pxa: simplify pxa_gpio_to_irq() and pxa_irq_to_chip()Daniel Mack1-54/+16
Simplify the code in gpio-pxa.c and make them based on irq_base. When not probed from devicetree, initialize irq_base from PXA_GPIO_TO_IRQ() or MMP_GPIO_TO_IRQ(), respectively, so the non-DT case still works. Only tested on PXA3xx. Signed-off-by: Daniel Mack <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Acked-by: Linus Walleij <[email protected]> Signed-off-by: Haojian Zhuang <[email protected]>
2012-08-14GPIO: gpio-pxa: fix building without CONFIG_OFArnd Bergmann1-2/+2
Commit 7212157267 ("GPIO: gpio-pxa: fix devicetree functions") added an "xlate" function pointer to the irq_domain_ops, but this function is nor declared or defined anywhere when CONFIG_OF is disabled, causing the build error: drivers/gpio/gpio-pxa.c:532:11: error: 'irq_domain_xlate_twocell' undeclared here (not in a function) Extending the DT-only code section to cover the irq_domain_ops and the pxa_gpio_dt_ids solves this problem and makes it clearer which code is actually used without DT. Signed-off-by: Arnd Bergmann <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2012-08-05GPIO: gpio-pxa: fix devicetree functionsDaniel Mack1-0/+26
Provide an of_xlate function for the PXA GPIO chips and make it work for devicetree environments. Successfully tested on a PXA3xx board. Signed-off-by: Daniel Mack <[email protected]> Acked-by: Haojian Zhuang <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2012-05-05gpio: pxa: parse gpio from DTS fileHaojian Zhuang1-18/+98
Parse GPIO numbers from DTS file. Allocate interrupt according to GPIO numbers. Signed-off-by: Haojian Zhuang <[email protected]> Acked-by: Arnd Bergmann <[email protected]>
2012-04-27ARM: pxa: fix gpio wakeup settingRobert Jarzmik1-2/+19
In 3.3, gpio wakeup setting was broken. The call enable_irq_wake() didn't set up the PXA gpio registers (PWER, ...) anymore. Fix it at least for pxa27x. The driver doesn't seem to be used in pxa25x (weird ...), and the fix doesn't extend to pxa3xx and pxa95x (which don't have a gpio_set_wake() available). Signed-off-by: Robert Jarzmik <[email protected]> Signed-off-by: Haojian Zhuang <[email protected]>
2012-01-25gpio: pxa: explicitly include mach/irqs.hRob Herring1-0/+2
In preparation to make mach/irqs.h optional and remove from asm/irq.h, directly include mach/irq.h to get MMP_GPIO_TO_IRQ and PXA_GPIO_TO_IRQ. Signed-off-by: Rob Herring <[email protected]>
2011-11-15ARM: pxa: add clk support in gpio driverHaojian Zhuang1-1/+25
Support clk in gpio driver. There's no gpio clock in PXA25x and PXA27x. So use dummy clk instead. And move the gpio edge initialization into gpio driver for arch-mmp. Signed-off-by: Haojian Zhuang <[email protected]>
2011-11-15ARM: mmp: clear gpio edge detectHaojian Zhuang1-0/+4
Append code to clear gpio edge detect in gpio-pxa driver. Signed-off-by: Haojian Zhuang <[email protected]>
2011-11-15ARM: pxa: change gpio to platform deviceHaojian Zhuang1-10/+125
Remove most gpio macros and change gpio driver to platform driver. Signed-off-by: Haojian Zhuang <[email protected]>
2011-11-14ARM: pxa: use little endian read write in gpio driverHaojian Zhuang1-34/+34
Remove __raw_readl()/__raw_writel(). Use readl_relaxed()/writel_relaxed() instead. Signed-off-by: Haojian Zhuang <[email protected]>
2011-11-14ARM: pxa: recognize gpio number and typeHaojian Zhuang1-1/+40
Use cpuid to recognize the gpio number and type. CPU_PXA26x is the special case since we can't identify it by cpuid. Signed-off-by: Haojian Zhuang <[email protected]>
2011-11-14ARM: pxa: rename gpio_to_irq and irq_to_gpioHaojian Zhuang1-4/+85
Avoid to define gpio_to_irq() and irq_to_gpio() for potential name confliction since multiple architecture will be built together. Signed-off-by: Haojian Zhuang <[email protected]>
2011-11-14ARM: pxa: use chained interrupt for GPIO0 and GPIO1Haojian Zhuang1-0/+14
GPIO0 and GPIO1 are linked to unique interrupt line in PXA series, others are linked to another interrupt line. All GPIO are linked to one interrupt line in MMP series. Since gpio driver is shared between PXA series and MMP series, define GPIO0 and GPIO1 as chained interrupt chip. So we can move out gpio code from irq.c to gpio-pxa.c. Signed-off-by: Haojian Zhuang <[email protected]> Acked-by: Grant Likely <[email protected]>
2011-10-31Merge branch 'depends/rmk/gpio' into next/fixesArnd Bergmann1-0/+338
This sorts out merge conflicts with the arm/gpio branch that already got merged into mainline Linux. Signed-off-by: Arnd Bergmann <[email protected]>
2011-10-01ARM: 7104/1: plat-pxa: break out GPIO driver specificsLinus Walleij1-0/+2
The <mach/gpio.h> file is included from upper directories and deal with generic GPIO and gpiolib stuff. Break out the platform and driver specific defines and functions into its own header file. Cc: Eric Miao <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Russell King <[email protected]>
2011-10-01ARM: 7103/1: plat-pxa: move PXA GPIO driver to GPIO subsystemLinus Walleij1-0/+336
As per example from the other ARM boards, push the PXA GPIO driver down to the GPIO subsystem so it can be consolidated. Acked-by: Eric Miao <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Russell King <[email protected]>