aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpio
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-03-12 13:21:38 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-03-12 13:21:38 -0400
commit6d9431a7496947cba54fa3b4940ba6041029d5c1 (patch)
treecde18f14d93f5fdcba64c437505b216b51eeea6c /drivers/gpio
parent4388817f702c68bf4857dae87b6cf4969c1791bc (diff)
parent27f423fe120df3a7488dd750b4e0508f03c325b6 (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.c7
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;