diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-01 18:46:13 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-01 18:46:13 -0700 | 
| commit | 8f446a7a069e0af0639385f67c78ee2279bca04c (patch) | |
| tree | 580cf495616b36ca0af0826afa87c430cdc1e7cb /drivers/gpio/gpio-samsung.c | |
| parent | 84be4ae2c038e2b03d650cbf2a7cfd9e8d6e9e51 (diff) | |
| parent | 04ef037c926ddb31088c976538e29eada4fd1490 (diff) | |
| download | olio-linux-3.10-8f446a7a069e0af0639385f67c78ee2279bca04c.tar.xz olio-linux-3.10-8f446a7a069e0af0639385f67c78ee2279bca04c.zip  | |
Merge tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM soc driver specific changes from Olof Johansson:
 - A long-coming conversion of various platforms to a common LED
   infrastructure
 - AT91 is moved over to use the newer MCI driver for MMC
 - Pincontrol conversions for samsung platforms
 - DT bindings for gscaler on samsung
 - i2c driver fixes for tegra, acked by i2c maintainer
Fix up conflicts as per Olof.
* tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (48 commits)
  drivers: bus: omap_l3: use resources instead of hardcoded irqs
  pinctrl: exynos: Fix wakeup IRQ domain registration check
  pinctrl: samsung: Uninline samsung_pinctrl_get_soc_data
  pinctrl: exynos: Correct the detection of wakeup-eint node
  pinctrl: exynos: Mark exynos_irq_demux_eint as inline
  pinctrl: exynos: Handle only unmasked wakeup interrupts
  pinctrl: exynos: Fix typos in gpio/wkup _irq_mask
  pinctrl: exynos: Set pin function to EINT in irq_set_type of GPIO EINTa
  drivers: bus: Move the OMAP interconnect driver to drivers/bus/
  i2c: tegra: dynamically control fast clk
  i2c: tegra: I2_M_NOSTART functionality not supported in Tegra20
  ARM: tegra: clock: remove unused clock entry for i2c
  ARM: tegra: clock: add connection name in i2c clock entry
  i2c: tegra: pass proper name for getting clock
  ARM: tegra: clock: add i2c fast clock entry in clock table
  ARM: EXYNOS: Adds G-Scaler device from Device Tree
  ARM: EXYNOS: Add clock support for G-Scaler
  ARM: EXYNOS: Enable pinctrl driver support for EXYNOS4 device tree enabled platform
  ARM: dts: Add pinctrl node entries for SAMSUNG EXYNOS4210 SoC
  ARM: EXYNOS: skip wakeup interrupt setup if pinctrl driver is used
  ...
Diffstat (limited to 'drivers/gpio/gpio-samsung.c')
| -rw-r--r-- | drivers/gpio/gpio-samsung.c | 21 | 
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/gpio/gpio-samsung.c b/drivers/gpio/gpio-samsung.c index 8af4b06e80f..a006f0db15a 100644 --- a/drivers/gpio/gpio-samsung.c +++ b/drivers/gpio/gpio-samsung.c @@ -2797,6 +2797,27 @@ static __init void exynos4_gpiolib_init(void)  	int group = 0;  	void __iomem *gpx_base; +#ifdef CONFIG_PINCTRL_SAMSUNG +		/* +		 * This gpio driver includes support for device tree support and +		 * there are platforms using it. In order to maintain +		 * compatibility with those platforms, and to allow non-dt +		 * Exynos4210 platforms to use this gpiolib support, a check +		 * is added to find out if there is a active pin-controller +		 * driver support available. If it is available, this gpiolib +		 * support is ignored and the gpiolib support available in +		 * pin-controller driver is used. This is a temporary check and +		 * will go away when all of the Exynos4210 platforms have +		 * switched to using device tree and the pin-ctrl driver. +		 */ +		struct device_node *pctrl_np; +		const char *pctrl_compat = "samsung,pinctrl-exynos4210"; +		pctrl_np = of_find_compatible_node(NULL, NULL, pctrl_compat); +		if (pctrl_np) +			if (of_device_is_available(pctrl_np)) +				return; +#endif +  	/* gpio part1 */  	gpio_base1 = ioremap(EXYNOS4_PA_GPIO1, SZ_4K);  	if (gpio_base1 == NULL) {  |