diff options
| author | Tony Lindgren <tony@atomide.com> | 2012-09-16 18:35:06 -0400 | 
|---|---|---|
| committer | Tony Lindgren <tony@atomide.com> | 2012-09-16 18:35:06 -0400 | 
| commit | 6bfc82ff589a00e5fbc12b958c649d703d273c86 (patch) | |
| tree | 9326c7213d5ccee556bff1831e8f88681a27e57c /drivers/gpio/gpio-omap.c | |
| parent | 26638c667e645de368cd68cade716ed0faef6269 (diff) | |
| parent | 68cb700c59fae6cd539c9dc1e9f2584f671935a0 (diff) | |
Merge tag 'omap-cleanup-sparseirq-for-v3.7' into devel-dt
This branch contains changes needed to make omap2+
work properly with sparse IRQ. It also removes
dependencies to mach/hardware.h. These help moving
things towards ARM single zImage support.
This branch is based on a commit in tty-next
branch with omap-devel-gpmc-fixed-for-v3.7 and
cleanup-omap-tags-for-v3.7 merged in to keep things
compiling and sort out some merge conflicts.
Conflicts:
	arch/arm/mach-omap2/omap4-common.c
	drivers/gpio/gpio-twl4030.c
Diffstat (limited to 'drivers/gpio/gpio-omap.c')
| -rw-r--r-- | drivers/gpio/gpio-omap.c | 15 | 
1 files changed, 8 insertions, 7 deletions
| diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c index e6efd77668f0..64fbce30c502 100644 --- a/drivers/gpio/gpio-omap.c +++ b/drivers/gpio/gpio-omap.c | |||
| @@ -25,11 +25,9 @@ | |||
| 25 | #include <linux/of.h> | 25 | #include <linux/of.h> | 
| 26 | #include <linux/of_device.h> | 26 | #include <linux/of_device.h> | 
| 27 | #include <linux/irqdomain.h> | 27 | #include <linux/irqdomain.h> | 
| 28 | #include <linux/gpio.h> | ||
| 29 | #include <linux/platform_data/gpio-omap.h> | ||
| 28 | 30 | ||
| 29 | #include <mach/hardware.h> | ||
| 30 | #include <asm/irq.h> | ||
| 31 | #include <mach/irqs.h> | ||
| 32 | #include <asm/gpio.h> | ||
| 33 | #include <asm/mach/irq.h> | 31 | #include <asm/mach/irq.h> | 
| 34 | 32 | ||
| 35 | #define OFF_MODE 1 | 33 | #define OFF_MODE 1 | 
| @@ -385,13 +383,16 @@ static int _set_gpio_triggering(struct gpio_bank *bank, int gpio, | |||
| 385 | static int gpio_irq_type(struct irq_data *d, unsigned type) | 383 | static int gpio_irq_type(struct irq_data *d, unsigned type) | 
| 386 | { | 384 | { | 
| 387 | struct gpio_bank *bank = irq_data_get_irq_chip_data(d); | 385 | struct gpio_bank *bank = irq_data_get_irq_chip_data(d); | 
| 388 | unsigned gpio; | 386 | unsigned gpio = 0; | 
| 389 | int retval; | 387 | int retval; | 
| 390 | unsigned long flags; | 388 | unsigned long flags; | 
| 391 | 389 | ||
| 392 | if (!cpu_class_is_omap2() && d->irq > IH_MPUIO_BASE) | 390 | #ifdef CONFIG_ARCH_OMAP1 | 
| 391 | if (d->irq > IH_MPUIO_BASE) | ||
| 393 | gpio = OMAP_MPUIO(d->irq - IH_MPUIO_BASE); | 392 | gpio = OMAP_MPUIO(d->irq - IH_MPUIO_BASE); | 
| 394 | else | 393 | #endif | 
| 394 | |||
| 395 | if (!gpio) | ||
| 395 | gpio = irq_to_gpio(bank, d->irq); | 396 | gpio = irq_to_gpio(bank, d->irq); | 
| 396 | 397 | ||
| 397 | if (type & ~IRQ_TYPE_SENSE_MASK) | 398 | if (type & ~IRQ_TYPE_SENSE_MASK) | 
