diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-06-09 22:27:52 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-06-09 22:27:52 -0400 |
| commit | d5301a0e884b0dced6e13837f00505f871e3458f (patch) | |
| tree | 2bf71e6123a4aaf912a6a76fac3da23d8c5e22b2 | |
| parent | cc55875e26e2b85484b196edbada6caf84eb7765 (diff) | |
| parent | 3b8458a9793a92a6ca3cb24e309f19821bf0d8e5 (diff) | |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6:
Blackfin serial driver: fix up tty core set_ldisc API change breakage bug
Blackfin arch: protect only the SPI bus controller with CONFIG_SPI_BFIN
Blackfin arch: fixup warnings with the new cplb saved values
Blackfin Serial Driver: Clean up BF54x macro in blackfin UART driver.
| -rw-r--r-- | arch/blackfin/kernel/traps.c | 8 | ||||
| -rw-r--r-- | arch/blackfin/mach-bf527/boards/ezkit.c | 9 | ||||
| -rw-r--r-- | arch/blackfin/mach-bf533/boards/ezkit.c | 6 | ||||
| -rw-r--r-- | arch/blackfin/mach-bf533/boards/stamp.c | 10 | ||||
| -rw-r--r-- | arch/blackfin/mach-bf537/boards/stamp.c | 9 | ||||
| -rw-r--r-- | arch/blackfin/mach-bf548/boards/ezkit.c | 10 | ||||
| -rw-r--r-- | arch/blackfin/mach-bf561/boards/ezkit.c | 9 | ||||
| -rw-r--r-- | drivers/serial/bfin_5xx.c | 40 | ||||
| -rw-r--r-- | include/asm-blackfin/mach-bf527/bfin_serial_5xx.h | 6 | ||||
| -rw-r--r-- | include/asm-blackfin/mach-bf533/bfin_serial_5xx.h | 6 | ||||
| -rw-r--r-- | include/asm-blackfin/mach-bf537/bfin_serial_5xx.h | 6 | ||||
| -rw-r--r-- | include/asm-blackfin/mach-bf548/bfin_serial_5xx.h | 6 | ||||
| -rw-r--r-- | include/asm-blackfin/mach-bf561/bfin_serial_5xx.h | 6 |
13 files changed, 57 insertions, 74 deletions
diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c index 7bfbd958980c..f061f5181623 100644 --- a/arch/blackfin/kernel/traps.c +++ b/arch/blackfin/kernel/traps.c | |||
| @@ -67,7 +67,7 @@ void __init trap_init(void) | |||
| 67 | CSYNC(); | 67 | CSYNC(); |
| 68 | } | 68 | } |
| 69 | 69 | ||
| 70 | void *saved_icplb_fault_addr, *saved_dcplb_fault_addr; | 70 | unsigned long saved_icplb_fault_addr, saved_dcplb_fault_addr; |
| 71 | 71 | ||
| 72 | int kstack_depth_to_print = 48; | 72 | int kstack_depth_to_print = 48; |
| 73 | 73 | ||
| @@ -366,7 +366,7 @@ asmlinkage void trap_c(struct pt_regs *fp) | |||
| 366 | info.si_code = ILL_CPLB_MULHIT; | 366 | info.si_code = ILL_CPLB_MULHIT; |
| 367 | sig = SIGSEGV; | 367 | sig = SIGSEGV; |
| 368 | #ifdef CONFIG_DEBUG_HUNT_FOR_ZERO | 368 | #ifdef CONFIG_DEBUG_HUNT_FOR_ZERO |
| 369 | if (saved_dcplb_fault_addr < (void *)FIXED_CODE_START) | 369 | if (saved_dcplb_fault_addr < FIXED_CODE_START) |
| 370 | printk(KERN_NOTICE "NULL pointer access\n"); | 370 | printk(KERN_NOTICE "NULL pointer access\n"); |
| 371 | else | 371 | else |
| 372 | #endif | 372 | #endif |
| @@ -421,7 +421,7 @@ asmlinkage void trap_c(struct pt_regs *fp) | |||
| 421 | info.si_code = ILL_CPLB_MULHIT; | 421 | info.si_code = ILL_CPLB_MULHIT; |
| 422 | sig = SIGSEGV; | 422 | sig = SIGSEGV; |
| 423 | #ifdef CONFIG_DEBUG_HUNT_FOR_ZERO | 423 | #ifdef CONFIG_DEBUG_HUNT_FOR_ZERO |
| 424 | if (saved_icplb_fault_addr < (void *)FIXED_CODE_START) | 424 | if (saved_icplb_fault_addr < FIXED_CODE_START) |
| 425 | printk(KERN_NOTICE "Jump to NULL address\n"); | 425 | printk(KERN_NOTICE "Jump to NULL address\n"); |
| 426 | else | 426 | else |
| 427 | #endif | 427 | #endif |
| @@ -939,8 +939,6 @@ void panic_cplb_error(int cplb_panic, struct pt_regs *fp) | |||
| 939 | 939 | ||
| 940 | oops_in_progress = 1; | 940 | oops_in_progress = 1; |
| 941 | 941 | ||
| 942 | printk(KERN_EMERG "DCPLB_FAULT_ADDR=%p\n", saved_dcplb_fault_addr); | ||
| 943 | printk(KERN_EMERG "ICPLB_FAULT_ADDR=%p\n", saved_icplb_fault_addr); | ||
| 944 | dump_bfin_process(fp); | 942 | dump_bfin_process(fp); |
| 945 | dump_bfin_mem(fp); | 943 | dump_bfin_mem(fp); |
| 946 | show_regs(fp); | 944 | show_regs(fp); |
diff --git a/arch/blackfin/mach-bf527/boards/ezkit.c b/arch/blackfin/mach-bf527/boards/ezkit.c index fa4f4e833e84..5958eecefcf1 100644 --- a/arch/blackfin/mach-bf527/boards/ezkit.c +++ b/arch/blackfin/mach-bf527/boards/ezkit.c | |||
| @@ -451,9 +451,6 @@ static struct platform_device net2272_bfin_device = { | |||
| 451 | }; | 451 | }; |
| 452 | #endif | 452 | #endif |
| 453 | 453 | ||
| 454 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | ||
| 455 | /* all SPI peripherals info goes here */ | ||
| 456 | |||
| 457 | #if defined(CONFIG_MTD_M25P80) \ | 454 | #if defined(CONFIG_MTD_M25P80) \ |
| 458 | || defined(CONFIG_MTD_M25P80_MODULE) | 455 | || defined(CONFIG_MTD_M25P80_MODULE) |
| 459 | static struct mtd_partition bfin_spi_flash_partitions[] = { | 456 | static struct mtd_partition bfin_spi_flash_partitions[] = { |
| @@ -676,6 +673,7 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
| 676 | #endif | 673 | #endif |
| 677 | }; | 674 | }; |
| 678 | 675 | ||
| 676 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | ||
| 679 | /* SPI controller data */ | 677 | /* SPI controller data */ |
| 680 | static struct bfin5xx_spi_master bfin_spi0_info = { | 678 | static struct bfin5xx_spi_master bfin_spi0_info = { |
| 681 | .num_chipselect = 8, | 679 | .num_chipselect = 8, |
| @@ -1018,10 +1016,7 @@ static int __init stamp_init(void) | |||
| 1018 | #endif | 1016 | #endif |
| 1019 | 1017 | ||
| 1020 | platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); | 1018 | platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); |
| 1021 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 1019 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); |
| 1022 | spi_register_board_info(bfin_spi_board_info, | ||
| 1023 | ARRAY_SIZE(bfin_spi_board_info)); | ||
| 1024 | #endif | ||
| 1025 | 1020 | ||
| 1026 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) | 1021 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) |
| 1027 | irq_desc[PATA_INT].status |= IRQ_NOAUTOEN; | 1022 | irq_desc[PATA_INT].status |= IRQ_NOAUTOEN; |
diff --git a/arch/blackfin/mach-bf533/boards/ezkit.c b/arch/blackfin/mach-bf533/boards/ezkit.c index 9d28415163ea..079389cbd859 100644 --- a/arch/blackfin/mach-bf533/boards/ezkit.c +++ b/arch/blackfin/mach-bf533/boards/ezkit.c | |||
| @@ -87,9 +87,6 @@ static struct platform_device smc91x_device = { | |||
| 87 | }; | 87 | }; |
| 88 | #endif | 88 | #endif |
| 89 | 89 | ||
| 90 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | ||
| 91 | /* all SPI peripherals info goes here */ | ||
| 92 | |||
| 93 | #if defined(CONFIG_MTD_M25P80) || defined(CONFIG_MTD_M25P80_MODULE) | 90 | #if defined(CONFIG_MTD_M25P80) || defined(CONFIG_MTD_M25P80_MODULE) |
| 94 | static struct mtd_partition bfin_spi_flash_partitions[] = { | 91 | static struct mtd_partition bfin_spi_flash_partitions[] = { |
| 95 | { | 92 | { |
| @@ -189,6 +186,7 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
| 189 | #endif | 186 | #endif |
| 190 | }; | 187 | }; |
| 191 | 188 | ||
| 189 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | ||
| 192 | /* SPI (0) */ | 190 | /* SPI (0) */ |
| 193 | static struct resource bfin_spi0_resource[] = { | 191 | static struct resource bfin_spi0_resource[] = { |
| 194 | [0] = { | 192 | [0] = { |
| @@ -425,9 +423,7 @@ static int __init ezkit_init(void) | |||
| 425 | { | 423 | { |
| 426 | printk(KERN_INFO "%s(): registering device resources\n", __func__); | 424 | printk(KERN_INFO "%s(): registering device resources\n", __func__); |
| 427 | platform_add_devices(ezkit_devices, ARRAY_SIZE(ezkit_devices)); | 425 | platform_add_devices(ezkit_devices, ARRAY_SIZE(ezkit_devices)); |
| 428 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | ||
| 429 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); | 426 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); |
| 430 | #endif | ||
| 431 | 427 | ||
| 432 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) | 428 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) |
| 433 | irq_desc[PATA_INT].status |= IRQ_NOAUTOEN; | 429 | irq_desc[PATA_INT].status |= IRQ_NOAUTOEN; |
diff --git a/arch/blackfin/mach-bf533/boards/stamp.c b/arch/blackfin/mach-bf533/boards/stamp.c index ec05b236dc3f..13ae49515f73 100644 --- a/arch/blackfin/mach-bf533/boards/stamp.c +++ b/arch/blackfin/mach-bf533/boards/stamp.c | |||
| @@ -161,9 +161,6 @@ static struct platform_device stamp_flash_device = { | |||
| 161 | }; | 161 | }; |
| 162 | #endif | 162 | #endif |
| 163 | 163 | ||
| 164 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | ||
| 165 | /* all SPI peripherals info goes here */ | ||
| 166 | |||
| 167 | #if defined(CONFIG_MTD_M25P80) || defined(CONFIG_MTD_M25P80_MODULE) | 164 | #if defined(CONFIG_MTD_M25P80) || defined(CONFIG_MTD_M25P80_MODULE) |
| 168 | static struct mtd_partition bfin_spi_flash_partitions[] = { | 165 | static struct mtd_partition bfin_spi_flash_partitions[] = { |
| 169 | { | 166 | { |
| @@ -320,6 +317,7 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
| 320 | #endif | 317 | #endif |
| 321 | }; | 318 | }; |
| 322 | 319 | ||
| 320 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | ||
| 323 | /* SPI (0) */ | 321 | /* SPI (0) */ |
| 324 | static struct resource bfin_spi0_resource[] = { | 322 | static struct resource bfin_spi0_resource[] = { |
| 325 | [0] = { | 323 | [0] = { |
| @@ -626,10 +624,8 @@ static int __init stamp_init(void) | |||
| 626 | SSYNC(); | 624 | SSYNC(); |
| 627 | #endif | 625 | #endif |
| 628 | 626 | ||
| 629 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 627 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); |
| 630 | spi_register_board_info(bfin_spi_board_info, | 628 | |
| 631 | ARRAY_SIZE(bfin_spi_board_info)); | ||
| 632 | #endif | ||
| 633 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) | 629 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) |
| 634 | irq_desc[PATA_INT].status |= IRQ_NOAUTOEN; | 630 | irq_desc[PATA_INT].status |= IRQ_NOAUTOEN; |
| 635 | #endif | 631 | #endif |
diff --git a/arch/blackfin/mach-bf537/boards/stamp.c b/arch/blackfin/mach-bf537/boards/stamp.c index 9a756d1f3d73..671f9d67f23a 100644 --- a/arch/blackfin/mach-bf537/boards/stamp.c +++ b/arch/blackfin/mach-bf537/boards/stamp.c | |||
| @@ -400,9 +400,6 @@ static struct platform_device stamp_flash_device = { | |||
| 400 | }; | 400 | }; |
| 401 | #endif | 401 | #endif |
| 402 | 402 | ||
| 403 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | ||
| 404 | /* all SPI peripherals info goes here */ | ||
| 405 | |||
| 406 | #if defined(CONFIG_MTD_M25P80) \ | 403 | #if defined(CONFIG_MTD_M25P80) \ |
| 407 | || defined(CONFIG_MTD_M25P80_MODULE) | 404 | || defined(CONFIG_MTD_M25P80_MODULE) |
| 408 | static struct mtd_partition bfin_spi_flash_partitions[] = { | 405 | static struct mtd_partition bfin_spi_flash_partitions[] = { |
| @@ -629,6 +626,7 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
| 629 | #endif | 626 | #endif |
| 630 | }; | 627 | }; |
| 631 | 628 | ||
| 629 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | ||
| 632 | /* SPI controller data */ | 630 | /* SPI controller data */ |
| 633 | static struct bfin5xx_spi_master bfin_spi0_info = { | 631 | static struct bfin5xx_spi_master bfin_spi0_info = { |
| 634 | .num_chipselect = 8, | 632 | .num_chipselect = 8, |
| @@ -939,10 +937,7 @@ static int __init stamp_init(void) | |||
| 939 | #endif | 937 | #endif |
| 940 | 938 | ||
| 941 | platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); | 939 | platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); |
| 942 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 940 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); |
| 943 | spi_register_board_info(bfin_spi_board_info, | ||
| 944 | ARRAY_SIZE(bfin_spi_board_info)); | ||
| 945 | #endif | ||
| 946 | 941 | ||
| 947 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) | 942 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) |
| 948 | irq_desc[PATA_INT].status |= IRQ_NOAUTOEN; | 943 | irq_desc[PATA_INT].status |= IRQ_NOAUTOEN; |
diff --git a/arch/blackfin/mach-bf548/boards/ezkit.c b/arch/blackfin/mach-bf548/boards/ezkit.c index d1682bb37509..af7c211a580e 100644 --- a/arch/blackfin/mach-bf548/boards/ezkit.c +++ b/arch/blackfin/mach-bf548/boards/ezkit.c | |||
| @@ -412,8 +412,6 @@ static struct platform_device ezkit_flash_device = { | |||
| 412 | }; | 412 | }; |
| 413 | #endif | 413 | #endif |
| 414 | 414 | ||
| 415 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | ||
| 416 | /* all SPI peripherals info goes here */ | ||
| 417 | #if defined(CONFIG_MTD_M25P80) \ | 415 | #if defined(CONFIG_MTD_M25P80) \ |
| 418 | || defined(CONFIG_MTD_M25P80_MODULE) | 416 | || defined(CONFIG_MTD_M25P80_MODULE) |
| 419 | /* SPI flash chip (m25p16) */ | 417 | /* SPI flash chip (m25p16) */ |
| @@ -481,7 +479,7 @@ static struct bfin5xx_spi_chip spidev_chip_info = { | |||
| 481 | }; | 479 | }; |
| 482 | #endif | 480 | #endif |
| 483 | 481 | ||
| 484 | static struct spi_board_info bf54x_spi_board_info[] __initdata = { | 482 | static struct spi_board_info bfin_spi_board_info[] __initdata = { |
| 485 | #if defined(CONFIG_MTD_M25P80) \ | 483 | #if defined(CONFIG_MTD_M25P80) \ |
| 486 | || defined(CONFIG_MTD_M25P80_MODULE) | 484 | || defined(CONFIG_MTD_M25P80_MODULE) |
| 487 | { | 485 | { |
| @@ -527,6 +525,7 @@ static struct spi_board_info bf54x_spi_board_info[] __initdata = { | |||
| 527 | #endif | 525 | #endif |
| 528 | }; | 526 | }; |
| 529 | 527 | ||
| 528 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | ||
| 530 | /* SPI (0) */ | 529 | /* SPI (0) */ |
| 531 | static struct resource bfin_spi0_resource[] = { | 530 | static struct resource bfin_spi0_resource[] = { |
| 532 | [0] = { | 531 | [0] = { |
| @@ -800,10 +799,7 @@ static int __init ezkit_init(void) | |||
| 800 | 799 | ||
| 801 | platform_add_devices(ezkit_devices, ARRAY_SIZE(ezkit_devices)); | 800 | platform_add_devices(ezkit_devices, ARRAY_SIZE(ezkit_devices)); |
| 802 | 801 | ||
| 803 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 802 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); |
| 804 | spi_register_board_info(bf54x_spi_board_info, | ||
| 805 | ARRAY_SIZE(bf54x_spi_board_info)); | ||
| 806 | #endif | ||
| 807 | 803 | ||
| 808 | return 0; | 804 | return 0; |
| 809 | } | 805 | } |
diff --git a/arch/blackfin/mach-bf561/boards/ezkit.c b/arch/blackfin/mach-bf561/boards/ezkit.c index 61d8f7648b24..bc6feded8569 100644 --- a/arch/blackfin/mach-bf561/boards/ezkit.c +++ b/arch/blackfin/mach-bf561/boards/ezkit.c | |||
| @@ -280,7 +280,6 @@ static struct platform_device ezkit_flash_device = { | |||
| 280 | }; | 280 | }; |
| 281 | #endif | 281 | #endif |
| 282 | 282 | ||
| 283 | #ifdef CONFIG_SPI_BFIN | ||
| 284 | #if defined(CONFIG_SND_BLACKFIN_AD1836) \ | 283 | #if defined(CONFIG_SND_BLACKFIN_AD1836) \ |
| 285 | || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) | 284 | || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) |
| 286 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { | 285 | static struct bfin5xx_spi_chip ad1836_spi_chip_info = { |
| @@ -295,8 +294,8 @@ static struct bfin5xx_spi_chip spidev_chip_info = { | |||
| 295 | .bits_per_word = 8, | 294 | .bits_per_word = 8, |
| 296 | }; | 295 | }; |
| 297 | #endif | 296 | #endif |
| 298 | #endif | ||
| 299 | 297 | ||
| 298 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | ||
| 300 | /* SPI (0) */ | 299 | /* SPI (0) */ |
| 301 | static struct resource bfin_spi0_resource[] = { | 300 | static struct resource bfin_spi0_resource[] = { |
| 302 | [0] = { | 301 | [0] = { |
| @@ -327,6 +326,7 @@ static struct platform_device bfin_spi0_device = { | |||
| 327 | .platform_data = &bfin_spi0_info, /* Passed to driver */ | 326 | .platform_data = &bfin_spi0_info, /* Passed to driver */ |
| 328 | }, | 327 | }, |
| 329 | }; | 328 | }; |
| 329 | #endif | ||
| 330 | 330 | ||
| 331 | static struct spi_board_info bfin_spi_board_info[] __initdata = { | 331 | static struct spi_board_info bfin_spi_board_info[] __initdata = { |
| 332 | #if defined(CONFIG_SND_BLACKFIN_AD1836) \ | 332 | #if defined(CONFIG_SND_BLACKFIN_AD1836) \ |
| @@ -537,10 +537,7 @@ static int __init ezkit_init(void) | |||
| 537 | SSYNC(); | 537 | SSYNC(); |
| 538 | #endif | 538 | #endif |
| 539 | 539 | ||
| 540 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 540 | spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); |
| 541 | spi_register_board_info(bfin_spi_board_info, | ||
| 542 | ARRAY_SIZE(bfin_spi_board_info)); | ||
| 543 | #endif | ||
| 544 | 541 | ||
| 545 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) | 542 | #if defined(CONFIG_PATA_PLATFORM) || defined(CONFIG_PATA_PLATFORM_MODULE) |
| 546 | irq_desc[PATA_INT].status |= IRQ_NOAUTOEN; | 543 | irq_desc[PATA_INT].status |= IRQ_NOAUTOEN; |
diff --git a/drivers/serial/bfin_5xx.c b/drivers/serial/bfin_5xx.c index d6b4ead693b7..f20952c43cb8 100644 --- a/drivers/serial/bfin_5xx.c +++ b/drivers/serial/bfin_5xx.c | |||
| @@ -530,11 +530,7 @@ static unsigned int bfin_serial_get_mctrl(struct uart_port *port) | |||
| 530 | if (uart->cts_pin < 0) | 530 | if (uart->cts_pin < 0) |
| 531 | return TIOCM_CTS | TIOCM_DSR | TIOCM_CAR; | 531 | return TIOCM_CTS | TIOCM_DSR | TIOCM_CAR; |
| 532 | 532 | ||
| 533 | # ifdef BF54x | 533 | if (UART_GET_CTS(uart)) |
| 534 | if (UART_GET_MSR(uart) & CTS) | ||
| 535 | # else | ||
| 536 | if (gpio_get_value(uart->cts_pin)) | ||
| 537 | # endif | ||
| 538 | return TIOCM_DSR | TIOCM_CAR; | 534 | return TIOCM_DSR | TIOCM_CAR; |
| 539 | else | 535 | else |
| 540 | #endif | 536 | #endif |
| @@ -549,17 +545,9 @@ static void bfin_serial_set_mctrl(struct uart_port *port, unsigned int mctrl) | |||
| 549 | return; | 545 | return; |
| 550 | 546 | ||
| 551 | if (mctrl & TIOCM_RTS) | 547 | if (mctrl & TIOCM_RTS) |
| 552 | # ifdef BF54x | 548 | UART_CLEAR_RTS(uart); |
| 553 | UART_PUT_MCR(uart, UART_GET_MCR(uart) & ~MRTS); | ||
| 554 | # else | ||
| 555 | gpio_set_value(uart->rts_pin, 0); | ||
| 556 | # endif | ||
| 557 | else | 549 | else |
| 558 | # ifdef BF54x | 550 | UART_SET_RTS(uart); |
| 559 | UART_PUT_MCR(uart, UART_GET_MCR(uart) | MRTS); | ||
| 560 | # else | ||
| 561 | gpio_set_value(uart->rts_pin, 1); | ||
| 562 | # endif | ||
| 563 | #endif | 551 | #endif |
| 564 | } | 552 | } |
| 565 | 553 | ||
| @@ -752,11 +740,7 @@ bfin_serial_set_termios(struct uart_port *port, struct ktermios *termios, | |||
| 752 | 740 | ||
| 753 | /* Disable UART */ | 741 | /* Disable UART */ |
| 754 | ier = UART_GET_IER(uart); | 742 | ier = UART_GET_IER(uart); |
| 755 | #ifdef CONFIG_BF54x | 743 | UART_DISABLE_INTS(uart); |
| 756 | UART_CLEAR_IER(uart, 0xF); | ||
| 757 | #else | ||
| 758 | UART_PUT_IER(uart, 0); | ||
| 759 | #endif | ||
| 760 | 744 | ||
| 761 | /* Set DLAB in LCR to Access DLL and DLH */ | 745 | /* Set DLAB in LCR to Access DLL and DLH */ |
| 762 | UART_SET_DLAB(uart); | 746 | UART_SET_DLAB(uart); |
| @@ -771,11 +755,7 @@ bfin_serial_set_termios(struct uart_port *port, struct ktermios *termios, | |||
| 771 | UART_PUT_LCR(uart, lcr); | 755 | UART_PUT_LCR(uart, lcr); |
| 772 | 756 | ||
| 773 | /* Enable UART */ | 757 | /* Enable UART */ |
| 774 | #ifdef CONFIG_BF54x | 758 | UART_ENABLE_INTS(uart, ier); |
| 775 | UART_SET_IER(uart, ier); | ||
| 776 | #else | ||
| 777 | UART_PUT_IER(uart, ier); | ||
| 778 | #endif | ||
| 779 | 759 | ||
| 780 | val = UART_GET_GCTL(uart); | 760 | val = UART_GET_GCTL(uart); |
| 781 | val |= UCEN; | 761 | val |= UCEN; |
| @@ -833,15 +813,15 @@ bfin_serial_verify_port(struct uart_port *port, struct serial_struct *ser) | |||
| 833 | * Enable the IrDA function if tty->ldisc.num is N_IRDA. | 813 | * Enable the IrDA function if tty->ldisc.num is N_IRDA. |
| 834 | * In other cases, disable IrDA function. | 814 | * In other cases, disable IrDA function. |
| 835 | */ | 815 | */ |
| 836 | static void bfin_set_ldisc(struct tty_struct *tty) | 816 | static void bfin_serial_set_ldisc(struct uart_port *port) |
| 837 | { | 817 | { |
| 838 | int line = tty->index; | 818 | int line = port->line; |
| 839 | unsigned short val; | 819 | unsigned short val; |
| 840 | 820 | ||
| 841 | if (line >= tty->driver->num) | 821 | if (line >= port->info->tty->driver->num) |
| 842 | return; | 822 | return; |
| 843 | 823 | ||
| 844 | switch (tty->ldisc.num) { | 824 | switch (port->info->tty->ldisc.num) { |
| 845 | case N_IRDA: | 825 | case N_IRDA: |
| 846 | val = UART_GET_GCTL(&bfin_serial_ports[line]); | 826 | val = UART_GET_GCTL(&bfin_serial_ports[line]); |
| 847 | val |= (IREN | RPOLC); | 827 | val |= (IREN | RPOLC); |
| @@ -866,6 +846,7 @@ static struct uart_ops bfin_serial_pops = { | |||
| 866 | .startup = bfin_serial_startup, | 846 | .startup = bfin_serial_startup, |
| 867 | .shutdown = bfin_serial_shutdown, | 847 | .shutdown = bfin_serial_shutdown, |
| 868 | .set_termios = bfin_serial_set_termios, | 848 | .set_termios = bfin_serial_set_termios, |
| 849 | .set_ldisc = bfin_serial_set_ldisc, | ||
| 869 | .type = bfin_serial_type, | 850 | .type = bfin_serial_type, |
| 870 | .release_port = bfin_serial_release_port, | 851 | .release_port = bfin_serial_release_port, |
| 871 | .request_port = bfin_serial_request_port, | 852 | .request_port = bfin_serial_request_port, |
| @@ -1206,7 +1187,6 @@ static int __init bfin_serial_init(void) | |||
| 1206 | 1187 | ||
| 1207 | ret = uart_register_driver(&bfin_serial_reg); | 1188 | ret = uart_register_driver(&bfin_serial_reg); |
| 1208 | if (ret == 0) { | 1189 | if (ret == 0) { |
| 1209 | bfin_serial_reg.tty_driver->set_ldisc = bfin_set_ldisc; | ||
| 1210 | ret = platform_driver_register(&bfin_serial_driver); | 1190 | ret = platform_driver_register(&bfin_serial_driver); |
| 1211 | if (ret) { | 1191 | if (ret) { |
| 1212 | pr_debug("uart register failed\n"); | 1192 | pr_debug("uart register failed\n"); |
diff --git a/include/asm-blackfin/mach-bf527/bfin_serial_5xx.h b/include/asm-blackfin/mach-bf527/bfin_serial_5xx.h index 26e3c8076b4e..96bd09e31e36 100644 --- a/include/asm-blackfin/mach-bf527/bfin_serial_5xx.h +++ b/include/asm-blackfin/mach-bf527/bfin_serial_5xx.h | |||
| @@ -53,6 +53,12 @@ | |||
| 53 | #define UART_SET_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) | DLAB); SSYNC(); } while (0) | 53 | #define UART_SET_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) | DLAB); SSYNC(); } while (0) |
| 54 | #define UART_CLEAR_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) & ~DLAB); SSYNC(); } while (0) | 54 | #define UART_CLEAR_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) & ~DLAB); SSYNC(); } while (0) |
| 55 | 55 | ||
| 56 | #define UART_GET_CTS(x) gpio_get_value(x->cts_pin) | ||
| 57 | #define UART_SET_RTS(x) gpio_set_value(x->rts_pin, 1) | ||
| 58 | #define UART_CLEAR_RTS(x) gpio_set_value(x->rts_pin, 0) | ||
| 59 | #define UART_ENABLE_INTS(x, v) UART_PUT_IER(x, v) | ||
| 60 | #define UART_DISABLE_INTS(x) UART_PUT_IER(x, 0) | ||
| 61 | |||
| 56 | #if defined(CONFIG_BFIN_UART0_CTSRTS) || defined(CONFIG_BFIN_UART1_CTSRTS) | 62 | #if defined(CONFIG_BFIN_UART0_CTSRTS) || defined(CONFIG_BFIN_UART1_CTSRTS) |
| 57 | # define CONFIG_SERIAL_BFIN_CTSRTS | 63 | # define CONFIG_SERIAL_BFIN_CTSRTS |
| 58 | 64 | ||
diff --git a/include/asm-blackfin/mach-bf533/bfin_serial_5xx.h b/include/asm-blackfin/mach-bf533/bfin_serial_5xx.h index d016603b6615..e924569ad1d8 100644 --- a/include/asm-blackfin/mach-bf533/bfin_serial_5xx.h +++ b/include/asm-blackfin/mach-bf533/bfin_serial_5xx.h | |||
| @@ -53,6 +53,12 @@ | |||
| 53 | #define UART_SET_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) | DLAB); SSYNC(); } while (0) | 53 | #define UART_SET_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) | DLAB); SSYNC(); } while (0) |
| 54 | #define UART_CLEAR_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) & ~DLAB); SSYNC(); } while (0) | 54 | #define UART_CLEAR_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) & ~DLAB); SSYNC(); } while (0) |
| 55 | 55 | ||
| 56 | #define UART_GET_CTS(x) gpio_get_value(x->cts_pin) | ||
| 57 | #define UART_SET_RTS(x) gpio_set_value(x->rts_pin, 1) | ||
| 58 | #define UART_CLEAR_RTS(x) gpio_set_value(x->rts_pin, 0) | ||
| 59 | #define UART_ENABLE_INTS(x, v) UART_PUT_IER(x, v) | ||
| 60 | #define UART_DISABLE_INTS(x) UART_PUT_IER(x, 0) | ||
| 61 | |||
| 56 | #ifdef CONFIG_BFIN_UART0_CTSRTS | 62 | #ifdef CONFIG_BFIN_UART0_CTSRTS |
| 57 | # define CONFIG_SERIAL_BFIN_CTSRTS | 63 | # define CONFIG_SERIAL_BFIN_CTSRTS |
| 58 | # ifndef CONFIG_UART0_CTS_PIN | 64 | # ifndef CONFIG_UART0_CTS_PIN |
diff --git a/include/asm-blackfin/mach-bf537/bfin_serial_5xx.h b/include/asm-blackfin/mach-bf537/bfin_serial_5xx.h index f79d1a0e9129..41d7b6490bb1 100644 --- a/include/asm-blackfin/mach-bf537/bfin_serial_5xx.h +++ b/include/asm-blackfin/mach-bf537/bfin_serial_5xx.h | |||
| @@ -53,6 +53,12 @@ | |||
| 53 | #define UART_SET_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) | DLAB); SSYNC(); } while (0) | 53 | #define UART_SET_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) | DLAB); SSYNC(); } while (0) |
| 54 | #define UART_CLEAR_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) & ~DLAB); SSYNC(); } while (0) | 54 | #define UART_CLEAR_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) & ~DLAB); SSYNC(); } while (0) |
| 55 | 55 | ||
| 56 | #define UART_GET_CTS(x) gpio_get_value(x->cts_pin) | ||
| 57 | #define UART_SET_RTS(x) gpio_set_value(x->rts_pin, 1) | ||
| 58 | #define UART_CLEAR_RTS(x) gpio_set_value(x->rts_pin, 0) | ||
| 59 | #define UART_ENABLE_INTS(x, v) UART_PUT_IER(x, v) | ||
| 60 | #define UART_DISABLE_INTS(x) UART_PUT_IER(x, 0) | ||
| 61 | |||
| 56 | #if defined(CONFIG_BFIN_UART0_CTSRTS) || defined(CONFIG_BFIN_UART1_CTSRTS) | 62 | #if defined(CONFIG_BFIN_UART0_CTSRTS) || defined(CONFIG_BFIN_UART1_CTSRTS) |
| 57 | # define CONFIG_SERIAL_BFIN_CTSRTS | 63 | # define CONFIG_SERIAL_BFIN_CTSRTS |
| 58 | 64 | ||
diff --git a/include/asm-blackfin/mach-bf548/bfin_serial_5xx.h b/include/asm-blackfin/mach-bf548/bfin_serial_5xx.h index 5eb46a77d919..59b4ad4e5b4a 100644 --- a/include/asm-blackfin/mach-bf548/bfin_serial_5xx.h +++ b/include/asm-blackfin/mach-bf548/bfin_serial_5xx.h | |||
| @@ -57,6 +57,12 @@ | |||
| 57 | #define UART_SET_DLAB(uart) /* MMRs not muxed on BF54x */ | 57 | #define UART_SET_DLAB(uart) /* MMRs not muxed on BF54x */ |
| 58 | #define UART_CLEAR_DLAB(uart) /* MMRs not muxed on BF54x */ | 58 | #define UART_CLEAR_DLAB(uart) /* MMRs not muxed on BF54x */ |
| 59 | 59 | ||
| 60 | #define UART_GET_CTS(x) (UART_GET_MSR(x) & CTS) | ||
| 61 | #define UART_SET_RTS(x) (UART_PUT_MCR(x, UART_GET_MCR(x) | MRTS)) | ||
| 62 | #define UART_CLEAR_RTS(x) (UART_PUT_MCR(x, UART_GET_MCR(x) & ~MRTS)) | ||
| 63 | #define UART_ENABLE_INTS(x, v) UART_SET_IER(x, v) | ||
| 64 | #define UART_DISABLE_INTS(x) UART_CLEAR_IER(x, 0xF) | ||
| 65 | |||
| 60 | #if defined(CONFIG_BFIN_UART0_CTSRTS) || defined(CONFIG_BFIN_UART1_CTSRTS) | 66 | #if defined(CONFIG_BFIN_UART0_CTSRTS) || defined(CONFIG_BFIN_UART1_CTSRTS) |
| 61 | # define CONFIG_SERIAL_BFIN_CTSRTS | 67 | # define CONFIG_SERIAL_BFIN_CTSRTS |
| 62 | 68 | ||
diff --git a/include/asm-blackfin/mach-bf561/bfin_serial_5xx.h b/include/asm-blackfin/mach-bf561/bfin_serial_5xx.h index 7a9628769296..30d90b580f18 100644 --- a/include/asm-blackfin/mach-bf561/bfin_serial_5xx.h +++ b/include/asm-blackfin/mach-bf561/bfin_serial_5xx.h | |||
| @@ -53,6 +53,12 @@ | |||
| 53 | #define UART_SET_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) | DLAB); SSYNC(); } while (0) | 53 | #define UART_SET_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) | DLAB); SSYNC(); } while (0) |
| 54 | #define UART_CLEAR_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) & ~DLAB); SSYNC(); } while (0) | 54 | #define UART_CLEAR_DLAB(uart) do { UART_PUT_LCR(uart, UART_GET_LCR(uart) & ~DLAB); SSYNC(); } while (0) |
| 55 | 55 | ||
| 56 | #define UART_GET_CTS(x) gpio_get_value(x->cts_pin) | ||
| 57 | #define UART_SET_RTS(x) gpio_set_value(x->rts_pin, 1) | ||
| 58 | #define UART_CLEAR_RTS(x) gpio_set_value(x->rts_pin, 0) | ||
| 59 | #define UART_ENABLE_INTS(x, v) UART_PUT_IER(x, v) | ||
| 60 | #define UART_DISABLE_INTS(x) UART_PUT_IER(x, 0) | ||
| 61 | |||
| 56 | #ifdef CONFIG_BFIN_UART0_CTSRTS | 62 | #ifdef CONFIG_BFIN_UART0_CTSRTS |
| 57 | # define CONFIG_SERIAL_BFIN_CTSRTS | 63 | # define CONFIG_SERIAL_BFIN_CTSRTS |
| 58 | # ifndef CONFIG_UART0_CTS_PIN | 64 | # ifndef CONFIG_UART0_CTS_PIN |
