diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-03-12 13:21:38 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-03-12 13:21:38 -0400 |
commit | 6d9431a7496947cba54fa3b4940ba6041029d5c1 (patch) | |
tree | cde18f14d93f5fdcba64c437505b216b51eeea6c /drivers/gpio | |
parent | 4388817f702c68bf4857dae87b6cf4969c1791bc (diff) | |
parent | 27f423fe120df3a7488dd750b4e0508f03c325b6 (diff) |
Merge tag 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC fixes from Arnd Bergmann:
"These bug fixes are for the largest part for mvebu/kirkwood, which saw
a few regressions after the clock infrastructure was enabled, and for
OMAP, which showed a few more preexisting bugs with the new
multiplatform support.
Other small fixes are for imx, mxs, tegra, spear and socfpga"
* tag 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (37 commits)
ARM: spear3xx: Use correct pl080 header file
Arm: socfpga: pl330: Add #dma-cells for generic dma binding support
ARM: multiplatform: Sort the max gpio numbers.
ARM: imx: fix typo "DEBUG_IMX50_IMX53_UART"
ARM: imx: pll1_sys should be an initial on clk
arm: mach-orion5x: fix typo in compatible string of a .dts file
arm: mvebu: fix address-cells in mpic DT node
arm: plat-orion: fix address decoding when > 4GB is used
arm: mvebu: Reduce reg-io-width with UARTs
ARM: Dove: add RTC device node
arm: mvebu: enable the USB ports on Armada 370 Reference Design board
ARM: dove: drop "select COMMON_CLK_DOVE"
rtc: rtc-mv: Add support for clk to avoid lockups
gpio: mvebu: Add clk support to prevent lockup
ARM: kirkwood: fix to retain gbe MAC addresses for DT kernels
ARM: kirkwood: of_serial: fix clock gating by removing clock-frequency
ARM: mxs: cfa10049: Fix fb initialisation function
ARM: SPEAr13xx: Fix typo "ARCH_HAVE_CPUFREQ"
ARM: OMAP: RX-51: add missing USB phy binding
clk: Tegra: Remove duplicate smp_twd clock
...
Diffstat (limited to 'drivers/gpio')
-rw-r--r-- | drivers/gpio/gpio-mvebu.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpio/gpio-mvebu.c b/drivers/gpio/gpio-mvebu.c index 7472182967ce..61a6fde6c089 100644 --- a/drivers/gpio/gpio-mvebu.c +++ b/drivers/gpio/gpio-mvebu.c | |||
@@ -42,6 +42,7 @@ | |||
42 | #include <linux/io.h> | 42 | #include <linux/io.h> |
43 | #include <linux/of_irq.h> | 43 | #include <linux/of_irq.h> |
44 | #include <linux/of_device.h> | 44 | #include <linux/of_device.h> |
45 | #include <linux/clk.h> | ||
45 | #include <linux/pinctrl/consumer.h> | 46 | #include <linux/pinctrl/consumer.h> |
46 | 47 | ||
47 | /* | 48 | /* |
@@ -496,6 +497,7 @@ static int mvebu_gpio_probe(struct platform_device *pdev) | |||
496 | struct resource *res; | 497 | struct resource *res; |
497 | struct irq_chip_generic *gc; | 498 | struct irq_chip_generic *gc; |
498 | struct irq_chip_type *ct; | 499 | struct irq_chip_type *ct; |
500 | struct clk *clk; | ||
499 | unsigned int ngpios; | 501 | unsigned int ngpios; |
500 | int soc_variant; | 502 | int soc_variant; |
501 | int i, cpu, id; | 503 | int i, cpu, id; |
@@ -529,6 +531,11 @@ static int mvebu_gpio_probe(struct platform_device *pdev) | |||
529 | return id; | 531 | return id; |
530 | } | 532 | } |
531 | 533 | ||
534 | clk = devm_clk_get(&pdev->dev, NULL); | ||
535 | /* Not all SoCs require a clock.*/ | ||
536 | if (!IS_ERR(clk)) | ||
537 | clk_prepare_enable(clk); | ||
538 | |||
532 | mvchip->soc_variant = soc_variant; | 539 | mvchip->soc_variant = soc_variant; |
533 | mvchip->chip.label = dev_name(&pdev->dev); | 540 | mvchip->chip.label = dev_name(&pdev->dev); |
534 | mvchip->chip.dev = &pdev->dev; | 541 | mvchip->chip.dev = &pdev->dev; |