diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-03-25 23:24:05 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-03-25 23:24:05 -0400 |
| commit | 0dd61be7ec1be1b6820af978f901b9ae2c244dc6 (patch) | |
| tree | 1f49edaa21351034e7d1dff6511424e9a949cf6b | |
| parent | 8dd90265ac0754da0df47d9c597f25187bb1c947 (diff) | |
| parent | ab7798ffcf98b11a9525cf65bacdae3fd58d357f (diff) | |
Merge branch 'irq-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'irq-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (23 commits)
genirq: Expand generic show_interrupts()
gpio: Fold irq_set_chip/irq_set_handler to irq_set_chip_and_handler
gpio: Cleanup genirq namespace
arm: ep93xx: Add basic interrupt info
arm/gpio: Remove three copies of broken and racy debug code
xtensa: Use generic show_interrupts()
xtensa: Convert genirq namespace
xtensa: Use generic IRQ Kconfig and set GENERIC_HARDIRQS_NO_DEPRECATED
xtensa: Convert s6000 gpio irq_chip to new functions
xtensa: Convert main irq_chip to new functions
um: Use generic show_interrupts()
um: Convert genirq namespace
m32r: Use generic show_interrupts()
m32r: Convert genirq namespace
h8300: Use generic show_interrupts()
h8300: Convert genirq namespace
avr32: Cleanup eic_set_irq_type()
avr32: Use generic show_interrupts()
avr: Cleanup genirq namespace
avr32: Use generic IRQ config, enable GENERIC_HARDIRQS_NO_DEPRECATED
...
Fix up trivial conflict in drivers/gpio/timbgpio.c
40 files changed, 285 insertions, 604 deletions
diff --git a/arch/arm/mach-ep93xx/gpio.c b/arch/arm/mach-ep93xx/gpio.c index a889fa7c3ba1..34e071d79761 100644 --- a/arch/arm/mach-ep93xx/gpio.c +++ b/arch/arm/mach-ep93xx/gpio.c | |||
| @@ -360,52 +360,14 @@ static void ep93xx_gpio_dbg_show(struct seq_file *s, struct gpio_chip *chip) | |||
| 360 | gpio = ep93xx_chip->chip.base; | 360 | gpio = ep93xx_chip->chip.base; |
| 361 | for (i = 0; i < chip->ngpio; i++, gpio++) { | 361 | for (i = 0; i < chip->ngpio; i++, gpio++) { |
| 362 | int is_out = data_dir_reg & (1 << i); | 362 | int is_out = data_dir_reg & (1 << i); |
| 363 | int irq = gpio_to_irq(gpio); | ||
| 363 | 364 | ||
| 364 | seq_printf(s, " %s%d gpio-%-3d (%-12s) %s %s", | 365 | seq_printf(s, " %s%d gpio-%-3d (%-12s) %s %s %s\n", |
| 365 | chip->label, i, gpio, | 366 | chip->label, i, gpio, |
| 366 | gpiochip_is_requested(chip, i) ? : "", | 367 | gpiochip_is_requested(chip, i) ? : "", |
| 367 | is_out ? "out" : "in ", | 368 | is_out ? "out" : "in ", |
| 368 | (data_reg & (1 << i)) ? "hi" : "lo"); | 369 | (data_reg & (1<< i)) ? "hi" : "lo", |
| 369 | 370 | (!is_out && irq>= 0) ? "(interrupt)" : ""); | |
| 370 | if (!is_out) { | ||
| 371 | int irq = gpio_to_irq(gpio); | ||
| 372 | struct irq_desc *desc = irq_desc + irq; | ||
| 373 | |||
| 374 | if (irq >= 0 && desc->action) { | ||
| 375 | char *trigger; | ||
| 376 | |||
| 377 | switch (desc->status & IRQ_TYPE_SENSE_MASK) { | ||
| 378 | case IRQ_TYPE_NONE: | ||
| 379 | trigger = "(default)"; | ||
| 380 | break; | ||
| 381 | case IRQ_TYPE_EDGE_FALLING: | ||
| 382 | trigger = "edge-falling"; | ||
| 383 | break; | ||
| 384 | case IRQ_TYPE_EDGE_RISING: | ||
| 385 | trigger = "edge-rising"; | ||
| 386 | break; | ||
| 387 | case IRQ_TYPE_EDGE_BOTH: | ||
| 388 | trigger = "edge-both"; | ||
| 389 | break; | ||
| 390 | case IRQ_TYPE_LEVEL_HIGH: | ||
| 391 | trigger = "level-high"; | ||
| 392 | break; | ||
| 393 | case IRQ_TYPE_LEVEL_LOW: | ||
| 394 | trigger = "level-low"; | ||
| 395 | break; | ||
| 396 | default: | ||
| 397 | trigger = "?trigger?"; | ||
| 398 | break; | ||
| 399 | } | ||
| 400 | |||
| 401 | seq_printf(s, " irq-%d %s%s", | ||
| 402 | irq, trigger, | ||
| 403 | (desc->status & IRQ_WAKEUP) | ||
| 404 | ? " wakeup" : ""); | ||
| 405 | } | ||
| 406 | } | ||
| 407 | |||
| 408 | seq_printf(s, "\n"); | ||
| 409 | } | 371 | } |
| 410 | } | 372 | } |
| 411 | 373 | ||
diff --git a/arch/arm/plat-nomadik/gpio.c b/arch/arm/plat-nomadik/gpio.c index 70620426ee55..80643bc38e10 100644 --- a/arch/arm/plat-nomadik/gpio.c +++ b/arch/arm/plat-nomadik/gpio.c | |||
| @@ -832,51 +832,6 @@ static void nmk_gpio_dbg_show(struct seq_file *s, struct gpio_chip *chip) | |||
| 832 | : "? ", | 832 | : "? ", |
| 833 | (mode < 0) ? "unknown" : modes[mode], | 833 | (mode < 0) ? "unknown" : modes[mode], |
| 834 | pull ? "pull" : "none"); | 834 | pull ? "pull" : "none"); |
| 835 | |||
| 836 | if (!is_out) { | ||
| 837 | int irq = gpio_to_irq(gpio); | ||
| 838 | struct irq_desc *desc = irq_to_desc(irq); | ||
| 839 | |||
| 840 | /* This races with request_irq(), set_irq_type(), | ||
| 841 | * and set_irq_wake() ... but those are "rare". | ||
| 842 | * | ||
| 843 | * More significantly, trigger type flags aren't | ||
| 844 | * currently maintained by genirq. | ||
| 845 | */ | ||
| 846 | if (irq >= 0 && desc->action) { | ||
| 847 | char *trigger; | ||
| 848 | |||
| 849 | switch (desc->status & IRQ_TYPE_SENSE_MASK) { | ||
| 850 | case IRQ_TYPE_NONE: | ||
| 851 | trigger = "(default)"; | ||
| 852 | break; | ||
| 853 | case IRQ_TYPE_EDGE_FALLING: | ||
| 854 | trigger = "edge-falling"; | ||
| 855 | break; | ||
| 856 | case IRQ_TYPE_EDGE_RISING: | ||
| 857 | trigger = "edge-rising"; | ||
| 858 | break; | ||
| 859 | case IRQ_TYPE_EDGE_BOTH: | ||
| 860 | trigger = "edge-both"; | ||
| 861 | break; | ||
| 862 | case IRQ_TYPE_LEVEL_HIGH: | ||
| 863 | trigger = "level-high"; | ||
| 864 | break; | ||
| 865 | case IRQ_TYPE_LEVEL_LOW: | ||
| 866 | trigger = "level-low"; | ||
| 867 | break; | ||
| 868 | default: | ||
| 869 | trigger = "?trigger?"; | ||
| 870 | break; | ||
| 871 | } | ||
| 872 | |||
| 873 | seq_printf(s, " irq-%d %s%s", | ||
| 874 | irq, trigger, | ||
| 875 | (desc->status & IRQ_WAKEUP) | ||
| 876 | ? " wakeup" : ""); | ||
| 877 | } | ||
| 878 | } | ||
| 879 | |||
| 880 | seq_printf(s, "\n"); | 835 | seq_printf(s, "\n"); |
| 881 | } | 836 | } |
| 882 | } | 837 | } |
diff --git a/arch/avr32/Kconfig b/arch/avr32/Kconfig index cd2062fe0f61..49642b59f73d 100644 --- a/arch/avr32/Kconfig +++ b/arch/avr32/Kconfig | |||
| @@ -6,6 +6,11 @@ config AVR32 | |||
| 6 | select HAVE_CLK | ||
