aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpio/gpio-pxa.c
AgeCommit message (Collapse)AuthorFilesLines
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]>