diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-05-02 09:03:55 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-05-02 09:03:55 -0700 | 
| commit | a7726350e06401929eac0aa0677a5467106565fc (patch) | |
| tree | e189513e5014bdfccd73a3af731a6b57733743fa /arch/arm/mach-gemini/gpio.c | |
| parent | 4d26aa305414dbb33b3c32fb205b68004cda8ffc (diff) | |
| parent | afcf7924ecab726dab0227188783c4a40d9f0eec (diff) | |
| download | olio-linux-3.10-a7726350e06401929eac0aa0677a5467106565fc.tar.xz olio-linux-3.10-a7726350e06401929eac0aa0677a5467106565fc.zip  | |
Merge tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC cleanup from Olof Johansson:
 "Here is a collection of cleanup patches.  Among the pieces that stand
  out are:
   - The deletion of h720x platforms
   - Split of at91 non-dt platforms to their own Kconfig file to keep
     them separate
   - General cleanups and refactoring of i.MX and MXS platforms
   - Some restructuring of clock tables for OMAP
   - Convertion of PMC driver for Tegra to dt-only
   - Some renames of sunxi -> sun4i (Allwinner A10)
   - ... plus a bunch of other stuff that I haven't mentioned"
* tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (119 commits)
  ARM: i.MX: remove unused ARCH_* configs
  ARM i.MX53: remove platform ahci support
  ARM: sunxi: Rework the restart code
  irqchip: sunxi: Rename sunxi to sun4i
  irqchip: sunxi: Make use of the IRQCHIP_DECLARE macro
  clocksource: sunxi: Rename sunxi to sun4i
  clocksource: sunxi: make use of CLKSRC_OF
  clocksource: sunxi: Cleanup the timer code
  ARM: at91: remove trailing semicolon from macros
  ARM: at91/setup: fix trivial typos
  ARM: EXYNOS: remove "config EXYNOS_DEV_DRM"
  ARM: EXYNOS: change the name of USB ohci header
  ARM: SAMSUNG: Remove unnecessary code for dma
  ARM: S3C24XX: Remove unused GPIO drive strength register definitions
  ARM: OMAP4+: PM: Restore CPU power state to ON with clockdomain force wakeup method
  ARM: S3C24XX: Removed unneeded dependency on CPU_S3C2412
  ARM: S3C24XX: Removed unneeded dependency on CPU_S3C2410
  ARM: S3C24XX: Removed unneeded dependency on ARCH_S3C24XX for boards
  ARM: SAMSUNG: Fix typo "CONFIG_SAMSUNG_DEV_RTC"
  ARM: S5P64X0: Fix typo "CONFIG_S5P64X0_SETUP_SDHCI"
  ...
Diffstat (limited to 'arch/arm/mach-gemini/gpio.c')
| -rw-r--r-- | arch/arm/mach-gemini/gpio.c | 19 | 
1 files changed, 10 insertions, 9 deletions
diff --git a/arch/arm/mach-gemini/gpio.c b/arch/arm/mach-gemini/gpio.c index fdc7ef1391d..70bfa571b24 100644 --- a/arch/arm/mach-gemini/gpio.c +++ b/arch/arm/mach-gemini/gpio.c @@ -21,6 +21,7 @@  #include <mach/hardware.h>  #include <mach/irqs.h> +#include <mach/gpio.h>  #define GPIO_BASE(x)		IO_ADDRESS(GEMINI_GPIO_BASE(x)) @@ -44,7 +45,7 @@  #define GPIO_PORT_NUM		3 -static void _set_gpio_irqenable(unsigned int base, unsigned int index, +static void _set_gpio_irqenable(void __iomem *base, unsigned int index,  				int enable)  {  	unsigned int reg; @@ -57,7 +58,7 @@ static void _set_gpio_irqenable(unsigned int base, unsigned int index,  static void gpio_ack_irq(struct irq_data *d)  {  	unsigned int gpio = irq_to_gpio(d->irq); -	unsigned int base = GPIO_BASE(gpio / 32); +	void __iomem *base = GPIO_BASE(gpio / 32);  	__raw_writel(1 << (gpio % 32), base + GPIO_INT_CLR);  } @@ -65,7 +66,7 @@ static void gpio_ack_irq(struct irq_data *d)  static void gpio_mask_irq(struct irq_data *d)  {  	unsigned int gpio = irq_to_gpio(d->irq); -	unsigned int base = GPIO_BASE(gpio / 32); +	void __iomem *base = GPIO_BASE(gpio / 32);  	_set_gpio_irqenable(base, gpio % 32, 0);  } @@ -73,7 +74,7 @@ static void gpio_mask_irq(struct irq_data *d)  static void gpio_unmask_irq(struct irq_data *d)  {  	unsigned int gpio = irq_to_gpio(d->irq); -	unsigned int base = GPIO_BASE(gpio / 32); +	void __iomem *base = GPIO_BASE(gpio / 32);  	_set_gpio_irqenable(base, gpio % 32, 1);  } @@ -82,7 +83,7 @@ static int gpio_set_irq_type(struct irq_data *d, unsigned int type)  {  	unsigned int gpio = irq_to_gpio(d->irq);  	unsigned int gpio_mask = 1 << (gpio % 32); -	unsigned int base = GPIO_BASE(gpio / 32); +	void __iomem *base = GPIO_BASE(gpio / 32);  	unsigned int reg_both, reg_level, reg_type;  	reg_type = __raw_readl(base + GPIO_INT_TYPE); @@ -120,7 +121,7 @@ static int gpio_set_irq_type(struct irq_data *d, unsigned int type)  	__raw_writel(reg_level, base + GPIO_INT_LEVEL);  	__raw_writel(reg_both, base + GPIO_INT_BOTH_EDGE); -	gpio_ack_irq(d->irq); +	gpio_ack_irq(d);  	return 0;  } @@ -153,7 +154,7 @@ static struct irq_chip gpio_irq_chip = {  static void _set_gpio_direction(struct gpio_chip *chip, unsigned offset,  				int dir)  { -	unsigned int base = GPIO_BASE(offset / 32); +	void __iomem *base = GPIO_BASE(offset / 32);  	unsigned int reg;  	reg = __raw_readl(base + GPIO_DIR); @@ -166,7 +167,7 @@ static void _set_gpio_direction(struct gpio_chip *chip, unsigned offset,  static void gemini_gpio_set(struct gpio_chip *chip, unsigned offset, int value)  { -	unsigned int base = GPIO_BASE(offset / 32); +	void __iomem *base = GPIO_BASE(offset / 32);  	if (value)  		__raw_writel(1 << (offset % 32), base + GPIO_DATA_SET); @@ -176,7 +177,7 @@ static void gemini_gpio_set(struct gpio_chip *chip, unsigned offset, int value)  static int gemini_gpio_get(struct gpio_chip *chip, unsigned offset)  { -	unsigned int base = GPIO_BASE(offset / 32); +	void __iomem *base = GPIO_BASE(offset / 32);  	return (__raw_readl(base + GPIO_DATA_IN) >> (offset % 32)) & 1;  }  |