Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] 5405/1: ep93xx: remove unused gesbc9312.h header
[ARM] 5404/1: Fix condition in arm_elf_read_implies_exec() to set READ_IMPLIES_EXEC
[ARM] omap: fix clock reparenting in omap2_clk_set_parent()
[ARM] 5403/1: pxa25x_ep_fifo_flush() *ep->reg_udccs always set to 0
[ARM] 5402/1: fix a case of wrap-around in sanity_check_meminfo()
[ARM] 5401/1: Orion: fix edge triggered GPIO interrupt support
[ARM] 5400/1: Add support for inverted rdy_busy pin for Atmel nand device controller
[ARM] 5391/1: AT91: Enable GPIO clocks earlier
[ARM] 5390/1: AT91: Watchdog fixes
[ARM] 5398/1: Add Wan ZongShun to MAINTAINERS for W90P910
[ARM] omap: fix _omap2_clksel_get_src_field()
[ARM] omap: fix omap2_divisor_to_clksel() error return value

+78 -89
+7
MAINTAINERS
··· 692 L: linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only) 693 S: Maintained 694 695 ARPD SUPPORT 696 P: Jonathan Layes 697 L: netdev@vger.kernel.org
··· 692 L: linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only) 693 S: Maintained 694 695 + ARM/NUVOTON W90X900 ARM ARCHITECTURE 696 + P: Wan ZongShun 697 + M: mcuos.com@gmail.com 698 + L: linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only) 699 + W: http://www.mcuos.com 700 + S: Maintained 701 + 702 ARPD SUPPORT 703 P: Jonathan Layes 704 L: netdev@vger.kernel.org
+1 -1
arch/arm/configs/at91sam9260ek_defconfig
··· 608 # Watchdog Device Drivers 609 # 610 # CONFIG_SOFT_WATCHDOG is not set 611 - CONFIG_AT91SAM9_WATCHDOG=y 612 613 # 614 # USB-based Watchdog Cards
··· 608 # Watchdog Device Drivers 609 # 610 # CONFIG_SOFT_WATCHDOG is not set 611 + CONFIG_AT91SAM9X_WATCHDOG=y 612 613 # 614 # USB-based Watchdog Cards
+1 -1
arch/arm/configs/at91sam9261ek_defconfig
··· 700 # Watchdog Device Drivers 701 # 702 # CONFIG_SOFT_WATCHDOG is not set 703 - CONFIG_AT91SAM9_WATCHDOG=y 704 705 # 706 # USB-based Watchdog Cards
··· 700 # Watchdog Device Drivers 701 # 702 # CONFIG_SOFT_WATCHDOG is not set 703 + CONFIG_AT91SAM9X_WATCHDOG=y 704 705 # 706 # USB-based Watchdog Cards
+1 -1
arch/arm/configs/at91sam9263ek_defconfig
··· 710 # Watchdog Device Drivers 711 # 712 # CONFIG_SOFT_WATCHDOG is not set 713 - CONFIG_AT91SAM9_WATCHDOG=y 714 715 # 716 # USB-based Watchdog Cards
··· 710 # Watchdog Device Drivers 711 # 712 # CONFIG_SOFT_WATCHDOG is not set 713 + CONFIG_AT91SAM9X_WATCHDOG=y 714 715 # 716 # USB-based Watchdog Cards
+1 -1
arch/arm/configs/at91sam9rlek_defconfig
··· 606 # Watchdog Device Drivers 607 # 608 # CONFIG_SOFT_WATCHDOG is not set 609 - CONFIG_AT91SAM9_WATCHDOG=y 610 611 # 612 # Sonics Silicon Backplane
··· 606 # Watchdog Device Drivers 607 # 608 # CONFIG_SOFT_WATCHDOG is not set 609 + CONFIG_AT91SAM9X_WATCHDOG=y 610 611 # 612 # Sonics Silicon Backplane
+1 -1
arch/arm/configs/qil-a9260_defconfig
··· 727 # Watchdog Device Drivers 728 # 729 # CONFIG_SOFT_WATCHDOG is not set 730 - # CONFIG_AT91SAM9_WATCHDOG is not set 731 732 # 733 # USB-based Watchdog Cards
··· 727 # Watchdog Device Drivers 728 # 729 # CONFIG_SOFT_WATCHDOG is not set 730 + # CONFIG_AT91SAM9X_WATCHDOG is not set 731 732 # 733 # USB-based Watchdog Cards
+2 -2
arch/arm/kernel/elf.c
··· 74 */ 75 int arm_elf_read_implies_exec(const struct elf32_hdr *x, int executable_stack) 76 { 77 - if (executable_stack != EXSTACK_ENABLE_X) 78 return 1; 79 - if (cpu_architecture() <= CPU_ARCH_ARMv6) 80 return 1; 81 return 0; 82 }
··· 74 */ 75 int arm_elf_read_implies_exec(const struct elf32_hdr *x, int executable_stack) 76 { 77 + if (executable_stack != EXSTACK_DISABLE_X) 78 return 1; 79 + if (cpu_architecture() < CPU_ARCH_ARMv6) 80 return 1; 81 return 0; 82 }
+1 -1
arch/arm/mach-at91/at91cap9_devices.c
··· 697 * Watchdog 698 * -------------------------------------------------------------------- */ 699 700 - #if defined(CONFIG_AT91SAM9_WATCHDOG) || defined(CONFIG_AT91SAM9_WATCHDOG_MODULE) 701 static struct platform_device at91cap9_wdt_device = { 702 .name = "at91_wdt", 703 .id = -1,
··· 697 * Watchdog 698 * -------------------------------------------------------------------- */ 699 700 + #if defined(CONFIG_AT91SAM9X_WATCHDOG) || defined(CONFIG_AT91SAM9X_WATCHDOG_MODULE) 701 static struct platform_device at91cap9_wdt_device = { 702 .name = "at91_wdt", 703 .id = -1,
+1 -1
arch/arm/mach-at91/at91sam9260_devices.c
··· 643 * Watchdog 644 * -------------------------------------------------------------------- */ 645 646 - #if defined(CONFIG_AT91SAM9_WATCHDOG) || defined(CONFIG_AT91SAM9_WATCHDOG_MODULE) 647 static struct platform_device at91sam9260_wdt_device = { 648 .name = "at91_wdt", 649 .id = -1,
··· 643 * Watchdog 644 * -------------------------------------------------------------------- */ 645 646 + #if defined(CONFIG_AT91SAM9X_WATCHDOG) || defined(CONFIG_AT91SAM9X_WATCHDOG_MODULE) 647 static struct platform_device at91sam9260_wdt_device = { 648 .name = "at91_wdt", 649 .id = -1,
+1 -1
arch/arm/mach-at91/at91sam9261_devices.c
··· 621 * Watchdog 622 * -------------------------------------------------------------------- */ 623 624 - #if defined(CONFIG_AT91SAM9_WATCHDOG) || defined(CONFIG_AT91SAM9_WATCHDOG_MODULE) 625 static struct platform_device at91sam9261_wdt_device = { 626 .name = "at91_wdt", 627 .id = -1,
··· 621 * Watchdog 622 * -------------------------------------------------------------------- */ 623 624 + #if defined(CONFIG_AT91SAM9X_WATCHDOG) || defined(CONFIG_AT91SAM9X_WATCHDOG_MODULE) 625 static struct platform_device at91sam9261_wdt_device = { 626 .name = "at91_wdt", 627 .id = -1,
+1 -1
arch/arm/mach-at91/at91sam9263_devices.c
··· 854 * Watchdog 855 * -------------------------------------------------------------------- */ 856 857 - #if defined(CONFIG_AT91SAM9_WATCHDOG) || defined(CONFIG_AT91SAM9_WATCHDOG_MODULE) 858 static struct platform_device at91sam9263_wdt_device = { 859 .name = "at91_wdt", 860 .id = -1,
··· 854 * Watchdog 855 * -------------------------------------------------------------------- */ 856 857 + #if defined(CONFIG_AT91SAM9X_WATCHDOG) || defined(CONFIG_AT91SAM9X_WATCHDOG_MODULE) 858 static struct platform_device at91sam9263_wdt_device = { 859 .name = "at91_wdt", 860 .id = -1,
+1 -1
arch/arm/mach-at91/at91sam9rl_devices.c
··· 609 * Watchdog 610 * -------------------------------------------------------------------- */ 611 612 - #if defined(CONFIG_AT91SAM9_WATCHDOG) || defined(CONFIG_AT91SAM9_WATCHDOG_MODULE) 613 static struct platform_device at91sam9rl_wdt_device = { 614 .name = "at91_wdt", 615 .id = -1,
··· 609 * Watchdog 610 * -------------------------------------------------------------------- */ 611 612 + #if defined(CONFIG_AT91SAM9X_WATCHDOG) || defined(CONFIG_AT91SAM9X_WATCHDOG_MODULE) 613 static struct platform_device at91sam9rl_wdt_device = { 614 .name = "at91_wdt", 615 .id = -1,
+10 -5
arch/arm/mach-at91/gpio.c
··· 490 491 /*--------------------------------------------------------------------------*/ 492 493 - /* This lock class tells lockdep that GPIO irqs are in a different 494 * category than their parents, so it won't report false recursion. 495 */ 496 static struct lock_class_key gpio_lock_class; ··· 509 prev = this, this++) { 510 unsigned id = this->id; 511 unsigned i; 512 - 513 - /* enable PIO controller's clock */ 514 - clk_enable(this->clock); 515 516 __raw_writel(~0, this->regbase + PIO_IDR); 517 ··· 554 data->chipbase = PIN_BASE + i * 32; 555 data->regbase = data->offset + (void __iomem *)AT91_VA_BASE_SYS; 556 557 - /* AT91SAM9263_ID_PIOCDE groups PIOC, PIOD, PIOE */ 558 if (last && last->id == data->id) 559 last->next = data; 560 }
··· 490 491 /*--------------------------------------------------------------------------*/ 492 493 + /* 494 + * This lock class tells lockdep that GPIO irqs are in a different 495 * category than their parents, so it won't report false recursion. 496 */ 497 static struct lock_class_key gpio_lock_class; ··· 508 prev = this, this++) { 509 unsigned id = this->id; 510 unsigned i; 511 512 __raw_writel(~0, this->regbase + PIO_IDR); 513 ··· 556 data->chipbase = PIN_BASE + i * 32; 557 data->regbase = data->offset + (void __iomem *)AT91_VA_BASE_SYS; 558 559 + /* enable PIO controller's clock */ 560 + clk_enable(data->clock); 561 + 562 + /* 563 + * Some processors share peripheral ID between multiple GPIO banks. 564 + * SAM9263 (PIOC, PIOD, PIOE) 565 + * CAP9 (PIOA, PIOB, PIOC, PIOD) 566 + */ 567 if (last && last->id == data->id) 568 last->next = data; 569 }
+1
arch/arm/mach-at91/include/mach/board.h
··· 93 u8 enable_pin; /* chip enable */ 94 u8 det_pin; /* card detect */ 95 u8 rdy_pin; /* ready/busy */ 96 u8 ale; /* address line number connected to ALE */ 97 u8 cle; /* address line number connected to CLE */ 98 u8 bus_width_16; /* buswidth is 16 bit */
··· 93 u8 enable_pin; /* chip enable */ 94 u8 det_pin; /* card detect */ 95 u8 rdy_pin; /* ready/busy */ 96 + u8 rdy_pin_active_low; /* rdy_pin value is inverted */ 97 u8 ale; /* address line number connected to ALE */ 98 u8 cle; /* address line number connected to CLE */ 99 u8 bus_width_16; /* buswidth is 16 bit */
-3
arch/arm/mach-ep93xx/include/mach/gesbc9312.h
··· 1 - /* 2 - * arch/arm/mach-ep93xx/include/mach/gesbc9312.h 3 - */
···
-1
arch/arm/mach-ep93xx/include/mach/hardware.h
··· 10 11 #include "platform.h" 12 13 - #include "gesbc9312.h" 14 #include "ts72xx.h" 15 16 #endif
··· 10 11 #include "platform.h" 12 13 #include "ts72xx.h" 14 15 #endif
+1 -1
arch/arm/mach-kirkwood/irq.c
··· 42 writel(0, GPIO_EDGE_CAUSE(32)); 43 44 for (i = IRQ_KIRKWOOD_GPIO_START; i < NR_IRQS; i++) { 45 - set_irq_chip(i, &orion_gpio_irq_level_chip); 46 set_irq_handler(i, handle_level_irq); 47 irq_desc[i].status |= IRQ_LEVEL; 48 set_irq_flags(i, IRQF_VALID);
··· 42 writel(0, GPIO_EDGE_CAUSE(32)); 43 44 for (i = IRQ_KIRKWOOD_GPIO_START; i < NR_IRQS; i++) { 45 + set_irq_chip(i, &orion_gpio_irq_chip); 46 set_irq_handler(i, handle_level_irq); 47 irq_desc[i].status |= IRQ_LEVEL; 48 set_irq_flags(i, IRQF_VALID);
+1 -1
arch/arm/mach-mv78xx0/irq.c
··· 40 writel(0, GPIO_EDGE_CAUSE(0)); 41 42 for (i = IRQ_MV78XX0_GPIO_START; i < NR_IRQS; i++) { 43 - set_irq_chip(i, &orion_gpio_irq_level_chip); 44 set_irq_handler(i, handle_level_irq); 45 irq_desc[i].status |= IRQ_LEVEL; 46 set_irq_flags(i, IRQF_VALID);
··· 40 writel(0, GPIO_EDGE_CAUSE(0)); 41 42 for (i = IRQ_MV78XX0_GPIO_START; i < NR_IRQS; i++) { 43 + set_irq_chip(i, &orion_gpio_irq_chip); 44 set_irq_handler(i, handle_level_irq); 45 irq_desc[i].status |= IRQ_LEVEL; 46 set_irq_flags(i, IRQF_VALID);
+8 -8
arch/arm/mach-omap2/clock.c
··· 565 * 566 * Given a struct clk of a rate-selectable clksel clock, and a clock divisor, 567 * find the corresponding register field value. The return register value is 568 - * the value before left-shifting. Returns 0xffffffff on error 569 */ 570 u32 omap2_divisor_to_clksel(struct clk *clk, u32 div) 571 { ··· 577 578 clks = omap2_get_clksel_by_parent(clk, clk->parent); 579 if (clks == NULL) 580 - return 0; 581 582 for (clkr = clks->rates; clkr->div; clkr++) { 583 if ((clkr->flags & cpu_mask) && (clkr->div == div)) ··· 588 printk(KERN_ERR "clock: Could not find divisor %d for " 589 "clock %s parent %s\n", div, clk->name, 590 clk->parent->name); 591 - return 0; 592 } 593 594 return clkr->val; ··· 708 return 0; 709 710 for (clkr = clks->rates; clkr->div; clkr++) { 711 - if (clkr->flags & (cpu_mask | DEFAULT_RATE)) 712 break; /* Found the default rate for this platform */ 713 } 714 ··· 746 return -EINVAL; 747 748 if (clk->usecount > 0) 749 - _omap2_clk_disable(clk); 750 751 /* Set new source value (previous dividers if any in effect) */ 752 reg_val = __raw_readl(src_addr) & ~field_mask; ··· 759 wmb(); 760 } 761 762 - if (clk->usecount > 0) 763 - _omap2_clk_enable(clk); 764 - 765 clk->parent = new_parent; 766 767 /* CLKSEL clocks follow their parents' rates, divided by a divisor */ 768 clk->rate = new_parent->rate;
··· 565 * 566 * Given a struct clk of a rate-selectable clksel clock, and a clock divisor, 567 * find the corresponding register field value. The return register value is 568 + * the value before left-shifting. Returns ~0 on error 569 */ 570 u32 omap2_divisor_to_clksel(struct clk *clk, u32 div) 571 { ··· 577 578 clks = omap2_get_clksel_by_parent(clk, clk->parent); 579 if (clks == NULL) 580 + return ~0; 581 582 for (clkr = clks->rates; clkr->div; clkr++) { 583 if ((clkr->flags & cpu_mask) && (clkr->div == div)) ··· 588 printk(KERN_ERR "clock: Could not find divisor %d for " 589 "clock %s parent %s\n", div, clk->name, 590 clk->parent->name); 591 + return ~0; 592 } 593 594 return clkr->val; ··· 708 return 0; 709 710 for (clkr = clks->rates; clkr->div; clkr++) { 711 + if (clkr->flags & cpu_mask && clkr->flags & DEFAULT_RATE) 712 break; /* Found the default rate for this platform */ 713 } 714 ··· 746 return -EINVAL; 747 748 if (clk->usecount > 0) 749 + omap2_clk_disable(clk); 750 751 /* Set new source value (previous dividers if any in effect) */ 752 reg_val = __raw_readl(src_addr) & ~field_mask; ··· 759 wmb(); 760 } 761 762 clk->parent = new_parent; 763 + 764 + if (clk->usecount > 0) 765 + omap2_clk_enable(clk); 766 767 /* CLKSEL clocks follow their parents' rates, divided by a divisor */ 768 clk->rate = new_parent->rate;
+1 -1
arch/arm/mach-orion5x/irq.c
··· 44 * User can use set_type() if he wants to use edge types handlers. 45 */ 46 for (i = IRQ_ORION5X_GPIO_START; i < NR_IRQS; i++) { 47 - set_irq_chip(i, &orion_gpio_irq_level_chip); 48 set_irq_handler(i, handle_level_irq); 49 irq_desc[i].status |= IRQ_LEVEL; 50 set_irq_flags(i, IRQF_VALID);
··· 44 * User can use set_type() if he wants to use edge types handlers. 45 */ 46 for (i = IRQ_ORION5X_GPIO_START; i < NR_IRQS; i++) { 47 + set_irq_chip(i, &orion_gpio_irq_chip); 48 set_irq_handler(i, handle_level_irq); 49 irq_desc[i].status |= IRQ_LEVEL; 50 set_irq_flags(i, IRQF_VALID);
+2 -1
arch/arm/mm/mmu.c
··· 693 * Check whether this memory bank would entirely overlap 694 * the vmalloc area. 695 */ 696 - if (__va(bank->start) >= VMALLOC_MIN) { 697 printk(KERN_NOTICE "Ignoring RAM at %.8lx-%.8lx " 698 "(vmalloc region overlap).\n", 699 bank->start, bank->start + bank->size - 1);
··· 693 * Check whether this memory bank would entirely overlap 694 * the vmalloc area. 695 */ 696 + if (__va(bank->start) >= VMALLOC_MIN || 697 + __va(bank->start) < PAGE_OFFSET) { 698 printk(KERN_NOTICE "Ignoring RAM at %.8lx-%.8lx " 699 "(vmalloc region overlap).\n", 700 bank->start, bank->start + bank->size - 1);
+26 -49
arch/arm/plat-orion/gpio.c
··· 265 * polarity LEVEL mask 266 * 267 ****************************************************************************/ 268 - static void gpio_irq_edge_ack(u32 irq) 269 - { 270 - int pin = irq_to_gpio(irq); 271 272 - writel(~(1 << (pin & 31)), GPIO_EDGE_CAUSE(pin)); 273 } 274 275 - static void gpio_irq_edge_mask(u32 irq) 276 { 277 int pin = irq_to_gpio(irq); 278 - u32 u; 279 - 280 - u = readl(GPIO_EDGE_MASK(pin)); 281 u &= ~(1 << (pin & 31)); 282 - writel(u, GPIO_EDGE_MASK(pin)); 283 } 284 285 - static void gpio_irq_edge_unmask(u32 irq) 286 { 287 int pin = irq_to_gpio(irq); 288 - u32 u; 289 - 290 - u = readl(GPIO_EDGE_MASK(pin)); 291 u |= 1 << (pin & 31); 292 - writel(u, GPIO_EDGE_MASK(pin)); 293 - } 294 - 295 - static void gpio_irq_level_mask(u32 irq) 296 - { 297 - int pin = irq_to_gpio(irq); 298 - u32 u; 299 - 300 - u = readl(GPIO_LEVEL_MASK(pin)); 301 - u &= ~(1 << (pin & 31)); 302 - writel(u, GPIO_LEVEL_MASK(pin)); 303 - } 304 - 305 - static void gpio_irq_level_unmask(u32 irq) 306 - { 307 - int pin = irq_to_gpio(irq); 308 - u32 u; 309 - 310 - u = readl(GPIO_LEVEL_MASK(pin)); 311 - u |= 1 << (pin & 31); 312 - writel(u, GPIO_LEVEL_MASK(pin)); 313 } 314 315 static int gpio_irq_set_type(u32 irq, u32 type) ··· 316 * Set edge/level type. 317 */ 318 if (type & (IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING)) { 319 - desc->chip = &orion_gpio_irq_edge_chip; 320 } else if (type & (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_LEVEL_LOW)) { 321 - desc->chip = &orion_gpio_irq_level_chip; 322 } else { 323 printk(KERN_ERR "failed to set irq=%d (type=%d)\n", irq, type); 324 return -EINVAL; ··· 356 return 0; 357 } 358 359 - struct irq_chip orion_gpio_irq_edge_chip = { 360 - .name = "orion_gpio_irq_edge", 361 - .ack = gpio_irq_edge_ack, 362 - .mask = gpio_irq_edge_mask, 363 - .unmask = gpio_irq_edge_unmask, 364 - .set_type = gpio_irq_set_type, 365 - }; 366 - 367 - struct irq_chip orion_gpio_irq_level_chip = { 368 - .name = "orion_gpio_irq_level", 369 - .mask = gpio_irq_level_mask, 370 - .mask_ack = gpio_irq_level_mask, 371 - .unmask = gpio_irq_level_unmask, 372 .set_type = gpio_irq_set_type, 373 }; 374
··· 265 * polarity LEVEL mask 266 * 267 ****************************************************************************/ 268 269 + static void gpio_irq_ack(u32 irq) 270 + { 271 + int type = irq_desc[irq].status & IRQ_TYPE_SENSE_MASK; 272 + if (type & (IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING)) { 273 + int pin = irq_to_gpio(irq); 274 + writel(~(1 << (pin & 31)), GPIO_EDGE_CAUSE(pin)); 275 + } 276 } 277 278 + static void gpio_irq_mask(u32 irq) 279 { 280 int pin = irq_to_gpio(irq); 281 + int type = irq_desc[irq].status & IRQ_TYPE_SENSE_MASK; 282 + u32 reg = (type & (IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING)) ? 283 + GPIO_EDGE_MASK(pin) : GPIO_LEVEL_MASK(pin); 284 + u32 u = readl(reg); 285 u &= ~(1 << (pin & 31)); 286 + writel(u, reg); 287 } 288 289 + static void gpio_irq_unmask(u32 irq) 290 { 291 int pin = irq_to_gpio(irq); 292 + int type = irq_desc[irq].status & IRQ_TYPE_SENSE_MASK; 293 + u32 reg = (type & (IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING)) ? 294 + GPIO_EDGE_MASK(pin) : GPIO_LEVEL_MASK(pin); 295 + u32 u = readl(reg); 296 u |= 1 << (pin & 31); 297 + writel(u, reg); 298 } 299 300 static int gpio_irq_set_type(u32 irq, u32 type) ··· 331 * Set edge/level type. 332 */ 333 if (type & (IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING)) { 334 + desc->handle_irq = handle_edge_irq; 335 } else if (type & (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_LEVEL_LOW)) { 336 + desc->handle_irq = handle_level_irq; 337 } else { 338 printk(KERN_ERR "failed to set irq=%d (type=%d)\n", irq, type); 339 return -EINVAL; ··· 371 return 0; 372 } 373 374 + struct irq_chip orion_gpio_irq_chip = { 375 + .name = "orion_gpio", 376 + .ack = gpio_irq_ack, 377 + .mask = gpio_irq_mask, 378 + .unmask = gpio_irq_unmask, 379 .set_type = gpio_irq_set_type, 380 }; 381
+1 -2
arch/arm/plat-orion/include/plat/gpio.h
··· 31 /* 32 * GPIO interrupt handling. 33 */ 34 - extern struct irq_chip orion_gpio_irq_edge_chip; 35 - extern struct irq_chip orion_gpio_irq_level_chip; 36 void orion_gpio_irq_handler(int irqoff); 37 38
··· 31 /* 32 * GPIO interrupt handling. 33 */ 34 + extern struct irq_chip orion_gpio_irq_chip; 35 void orion_gpio_irq_handler(int irqoff); 36 37
+1
arch/avr32/mach-at32ap/include/mach/board.h
··· 116 int enable_pin; /* chip enable */ 117 int det_pin; /* card detect */ 118 int rdy_pin; /* ready/busy */ 119 u8 ale; /* address line number connected to ALE */ 120 u8 cle; /* address line number connected to CLE */ 121 u8 bus_width_16; /* buswidth is 16 bit */
··· 116 int enable_pin; /* chip enable */ 117 int det_pin; /* card detect */ 118 int rdy_pin; /* ready/busy */ 119 + u8 rdy_pin_active_low; /* rdy_pin value is inverted */ 120 u8 ale; /* address line number connected to ALE */ 121 u8 cle; /* address line number connected to CLE */ 122 u8 bus_width_16; /* buswidth is 16 bit */
+2 -1
drivers/mtd/nand/atmel_nand.c
··· 139 struct nand_chip *nand_chip = mtd->priv; 140 struct atmel_nand_host *host = nand_chip->priv; 141 142 - return gpio_get_value(host->board->rdy_pin); 143 } 144 145 /*
··· 139 struct nand_chip *nand_chip = mtd->priv; 140 struct atmel_nand_host *host = nand_chip->priv; 141 142 + return gpio_get_value(host->board->rdy_pin) ^ 143 + !!host->board->rdy_pin_active_low; 144 } 145 146 /*
+2 -2
drivers/usb/gadget/pxa25x_udc.c
··· 904 905 /* most IN status is the same, but ISO can't stall */ 906 *ep->reg_udccs = UDCCS_BI_TPC|UDCCS_BI_FTF|UDCCS_BI_TUR 907 - | (ep->bmAttributes == USB_ENDPOINT_XFER_ISOC) 908 - ? 0 : UDCCS_BI_SST; 909 } 910 911
··· 904 905 /* most IN status is the same, but ISO can't stall */ 906 *ep->reg_udccs = UDCCS_BI_TPC|UDCCS_BI_FTF|UDCCS_BI_TUR 907 + | (ep->bmAttributes == USB_ENDPOINT_XFER_ISOC 908 + ? 0 : UDCCS_BI_SST); 909 } 910 911
+2 -2
drivers/watchdog/at91rm9200_wdt.c
··· 107 static int at91_wdt_settimeout(int new_time) 108 { 109 /* 110 - * All counting occurs at SLOW_CLOCK / 128 = 0.256 Hz 111 * 112 * Since WDV is a 16-bit counter, the maximum period is 113 - * 65536 / 0.256 = 256 seconds. 114 */ 115 if ((new_time <= 0) || (new_time > WDT_MAX_TIME)) 116 return -EINVAL;
··· 107 static int at91_wdt_settimeout(int new_time) 108 { 109 /* 110 + * All counting occurs at SLOW_CLOCK / 128 = 256 Hz 111 * 112 * Since WDV is a 16-bit counter, the maximum period is 113 + * 65536 / 256 = 256 seconds. 114 */ 115 if ((new_time <= 0) || (new_time > WDT_MAX_TIME)) 116 return -EINVAL;
+1
drivers/watchdog/at91sam9_wdt.c
··· 18 #include <linux/errno.h> 19 #include <linux/fs.h> 20 #include <linux/init.h> 21 #include <linux/kernel.h> 22 #include <linux/miscdevice.h> 23 #include <linux/module.h>
··· 18 #include <linux/errno.h> 19 #include <linux/fs.h> 20 #include <linux/init.h> 21 + #include <linux/io.h> 22 #include <linux/kernel.h> 23 #include <linux/miscdevice.h> 24 #include <linux/module.h>