diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-07-18 13:53:16 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-18 13:53:16 -0400 |
commit | 9b610fda0df5d0f0b0c64242e37441ad1b384aac (patch) | |
tree | 0ea14b15f2e6546f37fe18d8ac3dc83077ec0e55 /arch/blackfin | |
parent | b8f8c3cf0a4ac0632ec3f0e15e9dc0c29de917af (diff) | |
parent | 5b664cb235e97afbf34db9c4d77f08ebd725335e (diff) |
Merge branch 'linus' into timers/nohz
Diffstat (limited to 'arch/blackfin')
-rw-r--r-- | arch/blackfin/kernel/cplb-nompu/cplbinit.c | 6 | ||||
-rw-r--r-- | arch/blackfin/kernel/gptimers.c | 2 | ||||
-rw-r--r-- | arch/blackfin/kernel/irqchip.c | 5 | ||||
-rw-r--r-- | arch/blackfin/kernel/traps.c | 8 | ||||
-rw-r--r-- | arch/blackfin/lib/outs.S | 2 | ||||
-rw-r--r-- | arch/blackfin/mach-bf527/boards/ezkit.c | 13 | ||||
-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/Makefile | 2 | ||||
-rw-r--r-- | arch/blackfin/mach-bf537/boards/led.S | 183 | ||||
-rw-r--r-- | arch/blackfin/mach-bf537/boards/stamp.c | 9 | ||||
-rw-r--r-- | arch/blackfin/mach-bf548/boards/Makefile | 2 | ||||
-rw-r--r-- | arch/blackfin/mach-bf548/boards/cm_bf548.c | 2 | ||||
-rw-r--r-- | arch/blackfin/mach-bf548/boards/ezkit.c | 10 | ||||
-rw-r--r-- | arch/blackfin/mach-bf548/boards/led.S | 172 | ||||
-rw-r--r-- | arch/blackfin/mach-bf561/boards/ezkit.c | 9 | ||||
-rw-r--r-- | arch/blackfin/mach-bf561/coreb.c | 1 |
17 files changed, 34 insertions, 408 deletions
diff --git a/arch/blackfin/kernel/cplb-nompu/cplbinit.c b/arch/blackfin/kernel/cplb-nompu/cplbinit.c index 917325bfbd84..6be0c50122e8 100644 --- a/arch/blackfin/kernel/cplb-nompu/cplbinit.c +++ b/arch/blackfin/kernel/cplb-nompu/cplbinit.c | |||
@@ -254,7 +254,8 @@ close_cplbtab(struct cplb_tab *table) | |||
254 | } | 254 | } |
255 | 255 | ||
256 | /* helper function */ | 256 | /* helper function */ |
257 | static void __fill_code_cplbtab(struct cplb_tab *t, int i, u32 a_start, u32 a_end) | 257 | static void __init |
258 | __fill_code_cplbtab(struct cplb_tab *t, int i, u32 a_start, u32 a_end) | ||
258 | { | 259 | { |
259 | if (cplb_data[i].psize) { | 260 | if (cplb_data[i].psize) { |
260 | fill_cplbtab(t, | 261 | fill_cplbtab(t, |
@@ -291,7 +292,8 @@ static void __fill_code_cplbtab(struct cplb_tab *t, int i, u32 a_start, u32 a_en | |||
291 | } | 292 | } |
292 | } | 293 | } |
293 | 294 | ||
294 | static void __fill_data_cplbtab(struct cplb_tab *t, int i, u32 a_start, u32 a_end) | 295 | static void __init |
296 | __fill_data_cplbtab(struct cplb_tab *t, int i, u32 a_start, u32 a_end) | ||
295 | { | 297 | { |
296 | if (cplb_data[i].psize) { | 298 | if (cplb_data[i].psize) { |
297 | fill_cplbtab(t, | 299 | fill_cplbtab(t, |
diff --git a/arch/blackfin/kernel/gptimers.c b/arch/blackfin/kernel/gptimers.c index e698554895a7..3a3e9615b002 100644 --- a/arch/blackfin/kernel/gptimers.c +++ b/arch/blackfin/kernel/gptimers.c | |||
@@ -10,8 +10,8 @@ | |||
10 | 10 | ||
11 | #include <linux/kernel.h> | 11 | #include <linux/kernel.h> |
12 | #include <linux/module.h> | 12 | #include <linux/module.h> |
13 | #include <linux/io.h> | ||
13 | 14 | ||
14 | #include <asm/io.h> | ||
15 | #include <asm/blackfin.h> | 15 | #include <asm/blackfin.h> |
16 | #include <asm/gptimers.h> | 16 | #include <asm/gptimers.h> |
17 | 17 | ||
diff --git a/arch/blackfin/kernel/irqchip.c b/arch/blackfin/kernel/irqchip.c index 73647c158774..07402f57c9de 100644 --- a/arch/blackfin/kernel/irqchip.c +++ b/arch/blackfin/kernel/irqchip.c | |||
@@ -60,9 +60,14 @@ static struct irq_chip bad_chip = { | |||
60 | }; | 60 | }; |
61 | 61 | ||
62 | static struct irq_desc bad_irq_desc = { | 62 | static struct irq_desc bad_irq_desc = { |
63 | .status = IRQ_DISABLED, | ||
63 | .chip = &bad_chip, | 64 | .chip = &bad_chip, |
64 | .handle_irq = handle_bad_irq, | 65 | .handle_irq = handle_bad_irq, |
65 | .depth = 1, | 66 | .depth = 1, |
67 | .lock = __SPIN_LOCK_UNLOCKED(irq_desc->lock), | ||
68 | #ifdef CONFIG_SMP | ||
69 | .affinity = CPU_MASK_ALL | ||
70 | #endif | ||
66 | }; | 71 | }; |
67 | 72 | ||
68 | int show_interrupts(struct seq_file *p, void *v) | 73 | int show_interrupts(struct seq_file *p, void *v) |
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/lib/outs.S b/arch/blackfin/lib/outs.S index 3daf96035bf6..4685b7aa0080 100644 --- a/arch/blackfin/lib/outs.S +++ b/arch/blackfin/lib/outs.S | |||
@@ -76,4 +76,4 @@ ENTRY(_outsw_8) | |||
76 | R0 = R0 + R1; | 76 | R0 = R0 + R1; |
77 | .Lword8_loop_e: W[P0] = R0; | 77 | .Lword8_loop_e: W[P0] = R0; |
78 | RTS; | 78 | RTS; |
79 | ENDPROC(_outsw) | 79 | ENDPROC(_outsw_8) |
diff --git a/arch/blackfin/mach-bf527/boards/ezkit.c b/arch/blackfin/mach-bf527/boards/ezkit.c index bb6d58c931de..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[] = { |
@@ -647,10 +644,10 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
647 | { | 644 | { |
648 | .modalias = "ad7877", | 645 | .modalias = "ad7877", |
649 | .platform_data = &bfin_ad7877_ts_info, | 646 | .platform_data = &bfin_ad7877_ts_info, |
650 | .irq = IRQ_PF6, | 647 | .irq = IRQ_PF8, |
651 | .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */ | 648 | .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */ |
652 | .bus_num = 0, | 649 | .bus_num = 0, |
653 | .chip_select = 1, | 650 | .chip_select = 2, |
654 | .controller_data = &spi_ad7877_chip_info, | 651 | .controller_data = &spi_ad7877_chip_info, |
655 | }, | 652 | }, |
656 | #endif | 653 | #endif |
@@ -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/Makefile b/arch/blackfin/mach-bf537/boards/Makefile index 87e450f29e37..c94f7a5b8211 100644 --- a/arch/blackfin/mach-bf537/boards/Makefile +++ b/arch/blackfin/mach-bf537/boards/Makefile | |||
@@ -3,7 +3,7 @@ | |||
3 | # | 3 | # |
4 | 4 | ||
5 | obj-$(CONFIG_GENERIC_BF537_BOARD) += generic_board.o | 5 | obj-$(CONFIG_GENERIC_BF537_BOARD) += generic_board.o |
6 | obj-$(CONFIG_BFIN537_STAMP) += stamp.o led.o | 6 | obj-$(CONFIG_BFIN537_STAMP) += stamp.o |
7 | obj-$(CONFIG_BFIN537_BLUETECHNIX_CM) += cm_bf537.o | 7 | obj-$(CONFIG_BFIN537_BLUETECHNIX_CM) += cm_bf537.o |
8 | obj-$(CONFIG_PNAV10) += pnav10.o | 8 | obj-$(CONFIG_PNAV10) += pnav10.o |
9 | obj-$(CONFIG_CAMSIG_MINOTAUR) += minotaur.o | 9 | obj-$(CONFIG_CAMSIG_MINOTAUR) += minotaur.o |
diff --git a/arch/blackfin/mach-bf537/boards/led.S b/arch/blackfin/mach-bf537/boards/led.S deleted file mode 100644 index 4e9ea4283e5f..000000000000 --- a/arch/blackfin/mach-bf537/boards/led.S +++ /dev/null | |||
@@ -1,183 +0,0 @@ | |||
1 | /**************************************************** | ||
2 | * LED1 ---- PF6 LED2 ---- PF7 * | ||
3 | * LED3 ---- PF8 LED4 ---- PF9 * | ||
4 | * LED5 ---- PF10 LED6 ---- PF11 * | ||
5 | ****************************************************/ | ||
6 | |||
7 | #include <linux/linkage.h> | ||
8 | #include <asm/blackfin.h> | ||
9 | |||
10 | /* All functions in this file save the registers they uses. | ||
11 | So there is no need to save any registers before calling them. */ | ||
12 | |||
13 | .text; | ||
14 | |||
15 | /* Initialize LEDs. */ | ||
16 | |||
17 | ENTRY(_led_init) | ||
18 | LINK 12; | ||
19 | [--SP] = P0; | ||
20 | [--SP] = R0; | ||
21 | [--SP] = R1; | ||
22 | [--SP] = R2; | ||
23 | R1 = PF6|PF7|PF8|PF9|PF10|PF11 (Z); | ||
24 | R2 = ~R1; | ||
25 | |||
26 | P0.H = hi(PORTF_FER); | ||
27 | P0.L = lo(PORTF_FER); | ||
28 | R0 = W[P0](Z); | ||
29 | SSYNC; | ||
30 | R0 = R0 & R2; | ||
31 | W[P0] = R0.L; | ||
32 | SSYNC; | ||
33 | |||
34 | P0.H = hi(PORTFIO_DIR); | ||
35 | P0.L = lo(PORTFIO_DIR); | ||
36 | R0 = W[P0](Z); | ||
37 | SSYNC; | ||
38 | R0 = R0 | R1; | ||
39 | W[P0] = R0.L; | ||
40 | SSYNC; | ||
41 | |||
42 | P0.H = hi(PORTFIO_INEN); | ||
43 | P0.L = lo(PORTFIO_INEN); | ||
44 | R0 = W[P0](Z); | ||
45 | SSYNC; | ||
46 | R0 = R0 & R2; | ||
47 | W[P0] = R0.L; | ||
48 | SSYNC; | ||
49 | |||
50 | R2 = [SP++]; | ||
51 | R1 = [SP++]; | ||
52 | R0 = [SP++]; | ||
53 | P0 = [SP++]; | ||
54 | UNLINK; | ||
55 | RTS; | ||
56 | .size _led_init, .-_led_init | ||
57 | |||
58 | /* Set one LED on. Leave other LEDs unchanged. | ||
59 | It expects the LED number passed through R0. */ | ||
60 | |||
61 | ENTRY(_led_on) | ||
62 | LINK 12; | ||
63 | [--SP] = P0; | ||
64 | [--SP] = R1; | ||
65 | CALL _led_init; | ||
66 | R1 = 1; | ||
67 | R0 += 5; | ||
68 | R1 <<= R0; | ||
69 | P0.H = hi(PORTFIO); | ||
70 | P0.L = lo(PORTFIO); | ||
71 | R0 = W[P0](Z); | ||
72 | SSYNC; | ||
73 | R0 = R0 | R1; | ||
74 | W[P0] = R0.L; | ||
75 | SSYNC; | ||
76 | R1 = [SP++]; | ||
77 | P0 = [SP++]; | ||
78 | UNLINK; | ||
79 | RTS; | ||
80 | .size _led_on, .-_led_on | ||
81 | |||
82 | /* Set one LED off. Leave other LEDs unchanged. */ | ||
83 | |||
84 | ENTRY(_led_off) | ||
85 | LINK 12; | ||
86 | [--SP] = P0; | ||
87 | [--SP] = R1; | ||
88 | CALL _led_init; | ||
89 | R1 = 1; | ||
90 | R0 += 5; | ||
91 | R1 <<= R0; | ||
92 | R1 = ~R1; | ||
93 | P0.H = hi(PORTFIO); | ||
94 | P0.L = lo(PORTFIO); | ||
95 | R0 = W[P0](Z); | ||
96 | SSYNC; | ||
97 | R0 = R0 & R1; | ||
98 | W[P0] = R0.L; | ||
99 | SSYNC; | ||
100 | R1 = [SP++]; | ||
101 | P0 = [SP++]; | ||
102 | UNLINK; | ||
103 | RTS; | ||
104 | .size _led_off, .-_led_off | ||
105 | |||
106 | /* Toggle one LED. Leave other LEDs unchanged. */ | ||
107 | |||
108 | ENTRY(_led_toggle) | ||
109 | LINK 12; | ||
110 | [--SP] = P0; | ||
111 | [--SP] = R1; | ||
112 | CALL _led_init; | ||
113 | R1 = 1; | ||
114 | R0 += 5; | ||
115 | R1 <<= R0; | ||
116 | P0.H = hi(PORTFIO); | ||
117 | P0.L = lo(PORTFIO); | ||
118 | R0 = W[P0](Z); | ||
119 | SSYNC; | ||
120 | R0 = R0 ^ R1; | ||
121 | W[P0] = R0.L; | ||
122 | SSYNC; | ||
123 | R1 = [SP++]; | ||
124 | P0 = [SP++]; | ||
125 | UNLINK; | ||
126 | RTS; | ||
127 | .size _led_toggle, .-_led_toggle | ||
128 | |||
129 | /* Display the number using LEDs in binary format. */ | ||
130 | |||
131 | ENTRY(_led_disp_num) | ||
132 | LINK 12; | ||
133 | [--SP] = P0; | ||
134 | [--SP] = R1; | ||
135 | [--SP] = R2; | ||
136 | CALL _led_init; | ||
137 | R1 = 0x3f(X); | ||
138 | R0 = R0 & R1; | ||
139 | R2 = 6(X); | ||
140 | R0 <<= R2; | ||
141 | R1 <<= R2; | ||
142 | P0.H = hi(PORTFIO); | ||
143 | P0.L = lo(PORTFIO); | ||
144 | R2 = W[P0](Z); | ||
145 | SSYNC; | ||
146 | R1 = ~R1; | ||
147 | R2 = R2 & R1; | ||
148 | R2 = R2 | R0; | ||
149 | W[P0] = R2.L; | ||
150 | SSYNC; | ||
151 | R2 = [SP++]; | ||
152 | R1 = [SP++]; | ||
153 | P0 = [SP++]; | ||
154 | UNLINK; | ||
155 | RTS; | ||
156 | .size _led_disp_num, .-_led_disp_num | ||
157 | |||
158 | /* Toggle the number using LEDs in binary format. */ | ||
159 | |||
160 | ENTRY(_led_toggle_num) | ||
161 | LINK 12; | ||
162 | [--SP] = P0; | ||
163 | [--SP] = R1; | ||
164 | [--SP] = R2; | ||
165 | CALL _led_init; | ||
166 | R1 = 0x3f(X); | ||
167 | R0 = R0 & R1; | ||
168 | R1 = 6(X); | ||
169 | R0 <<= R1; | ||
170 | P0.H = hi(PORTFIO); | ||
171 | P0.L = lo(PORTFIO); | ||
172 | R1 = W[P0](Z); | ||
173 | SSYNC; | ||
174 | R1 = R1 ^ R0; | ||
175 | W[P0] = R1.L; | ||
176 | SSYNC; | ||
177 | R2 = [SP++]; | ||
178 | R1 = [SP++]; | ||
179 | P0 = [SP++]; | ||
180 | UNLINK; | ||
181 | RTS; | ||
182 | .size _led_toggle_num, .-_led_toggle_num | ||
183 | |||
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/Makefile b/arch/blackfin/mach-bf548/boards/Makefile index eed161dd7845..319ef54c4221 100644 --- a/arch/blackfin/mach-bf548/boards/Makefile +++ b/arch/blackfin/mach-bf548/boards/Makefile | |||
@@ -2,5 +2,5 @@ | |||
2 | # arch/blackfin/mach-bf548/boards/Makefile | 2 | # arch/blackfin/mach-bf548/boards/Makefile |
3 | # | 3 | # |
4 | 4 | ||
5 | obj-$(CONFIG_BFIN548_EZKIT) += ezkit.o led.o | 5 | obj-$(CONFIG_BFIN548_EZKIT) += ezkit.o |
6 | obj-$(CONFIG_BFIN548_BLUETECHNIX_CM) += cm_bf548.o | 6 | obj-$(CONFIG_BFIN548_BLUETECHNIX_CM) += cm_bf548.o |
diff --git a/arch/blackfin/mach-bf548/boards/cm_bf548.c b/arch/blackfin/mach-bf548/boards/cm_bf548.c index 3b74f96d3590..4f4ae8787edf 100644 --- a/arch/blackfin/mach-bf548/boards/cm_bf548.c +++ b/arch/blackfin/mach-bf548/boards/cm_bf548.c | |||
@@ -684,7 +684,7 @@ static struct platform_device *cm_bf548_devices[] __initdata = { | |||
684 | 684 | ||
685 | static int __init cm_bf548_init(void) | 685 | static int __init cm_bf548_init(void) |
686 | { | 686 | { |
687 | printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__); | 687 | printk(KERN_INFO "%s(): registering device resources\n", __func__); |
688 | platform_add_devices(cm_bf548_devices, ARRAY_SIZE(cm_bf548_devices)); | 688 | platform_add_devices(cm_bf548_devices, ARRAY_SIZE(cm_bf548_devices)); |
689 | 689 | ||
690 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) | 690 | #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) |
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-bf548/boards/led.S b/arch/blackfin/mach-bf548/boards/led.S deleted file mode 100644 index f47daf3770d0..000000000000 --- a/arch/blackfin/mach-bf548/boards/led.S +++ /dev/null | |||
@@ -1,172 +0,0 @@ | |||
1 | /**************************************************** | ||
2 | * LED1 ---- PG6 LED2 ---- PG7 * | ||
3 | * LED3 ---- PG8 LED4 ---- PG9 * | ||
4 | * LED5 ---- PG10 LED6 ---- PG11 * | ||
5 | ****************************************************/ | ||
6 | |||
7 | #include <linux/linkage.h> | ||
8 | #include <asm/blackfin.h> | ||
9 | |||
10 | /* All functions in this file save the registers they uses. | ||
11 | So there is no need to save any registers before calling them. */ | ||
12 | |||
13 | .text; | ||
14 | |||
15 | /* Initialize LEDs. */ | ||
16 | |||
17 | ENTRY(_led_init) | ||
18 | LINK 0; | ||
19 | [--SP] = P0; | ||
20 | [--SP] = R0; | ||
21 | [--SP] = R1; | ||
22 | [--SP] = R2; | ||
23 | R1 = (PG6|PG7|PG8|PG9|PG10|PG11)(Z); | ||
24 | R2 = ~R1; | ||
25 | |||
26 | P0.H = hi(PORTG_FER); | ||
27 | P0.L = lo(PORTG_FER); | ||
28 | R0 = W[P0](Z); | ||
29 | SSYNC; | ||
30 | R0 = R0 & R2; | ||
31 | W[P0] = R0.L; | ||
32 | SSYNC; | ||
33 | |||
34 | P0.H = hi(PORTG_DIR_SET); | ||
35 | P0.L = lo(PORTG_DIR_SET); | ||
36 | W[P0] = R1.L; | ||
37 | SSYNC; | ||
38 | |||
39 | P0.H = hi(PORTG_INEN); | ||
40 | P0.L = lo(PORTG_INEN); | ||
41 | R0 = W[P0](Z); | ||
42 | SSYNC; | ||
43 | R0 = R0 & R2; | ||
44 | W[P0] = R0.L; | ||
45 | SSYNC; | ||
46 | |||
47 | R2 = [SP++]; | ||
48 | R1 = [SP++]; | ||
49 | R0 = [SP++]; | ||
50 | P0 = [SP++]; | ||
51 | RTS; | ||
52 | .size _led_init, .-_led_init | ||
53 | |||
54 | /* Set one LED on. Leave other LEDs unchanged. | ||
55 | It expects the LED number passed through R0. */ | ||
56 | |||
57 | ENTRY(_led_on) | ||
58 | LINK 0; | ||
59 | [--SP] = P0; | ||
60 | [--SP] = R1; | ||
61 | CALL _led_init; | ||
62 | R1 = 1; | ||
63 | R0 += 5; | ||
64 | R1 <<= R0; | ||
65 | P0.H = hi(PORTG_SET); | ||
66 | P0.L = lo(PORTG_SET); | ||
67 | W[P0] = R1.L; | ||
68 | SSYNC; | ||
69 | R1 = [SP++]; | ||
70 | P0 = [SP++]; | ||
71 | UNLINK; | ||
72 | RTS; | ||
73 | .size _led_on, .-_led_on | ||
74 | |||
75 | /* Set one LED off. Leave other LEDs unchanged. */ | ||
76 | |||
77 | ENTRY(_led_off) | ||
78 | LINK 0; | ||
79 | [--SP] = P0; | ||
80 | [--SP] = R1; | ||
81 | CALL _led_init; | ||
82 | R1 = 1; | ||
83 | R0 += 5; | ||
84 | R1 <<= R0; | ||
85 | P0.H = hi(PORTG_CLEAR); | ||
86 | P0.L = lo(PORTG_CLEAR); | ||
87 | W[P0] = R1.L; | ||
88 | SSYNC; | ||
89 | R1 = [SP++]; | ||
90 | P0 = [SP++]; | ||
91 | UNLINK; | ||
92 | RTS; | ||
93 | .size _led_off, .-_led_off | ||
94 | |||
95 | /* Toggle one LED. Leave other LEDs unchanged. */ | ||
96 | |||
97 | ENTRY(_led_toggle) | ||
98 | LINK 0; | ||
99 | [--SP] = P0; | ||
100 | [--SP] = R1; | ||
101 | CALL _led_init; | ||
102 | R1 = 1; | ||
103 | R0 += 5; | ||
104 | R1 <<= R0; | ||
105 | P0.H = hi(PORTG); | ||
106 | P0.L = lo(PORTG); | ||
107 | R0 = W[P0](Z); | ||
108 | SSYNC; | ||
109 | R0 = R0 ^ R1; | ||
110 | W[P0] = R0.L; | ||
111 | SSYNC; | ||
112 | R1 = [SP++]; | ||
113 | P0 = [SP++]; | ||
114 | UNLINK; | ||
115 | RTS; | ||
116 | .size _led_toggle, .-_led_toggle | ||
117 | |||
118 | /* Display the number using LEDs in binary format. */ | ||
119 | |||
120 | ENTRY(_led_disp_num) | ||
121 | LINK 0; | ||
122 | [--SP] = P0; | ||
123 | [--SP] = R1; | ||
124 | [--SP] = R2; | ||
125 | CALL _led_init; | ||
126 | R1 = 0x3f(X); | ||
127 | R0 = R0 & R1; | ||
128 | R2 = 6(X); | ||
129 | R0 <<= R2; | ||
130 | R1 <<= R2; | ||
131 | P0.H = hi(PORTG); | ||
132 | P0.L = lo(PORTG); | ||
133 | R2 = W[P0](Z); | ||
134 | SSYNC; | ||
135 | R1 = ~R1; | ||
136 | R2 = R2 & R1; | ||
137 | R2 = R2 | R0; | ||
138 | W[P0] = R2.L; | ||
139 | SSYNC; | ||
140 | R2 = [SP++]; | ||
141 | R1 = [SP++]; | ||
142 | P0 = [SP++]; | ||
143 | UNLINK; | ||
144 | RTS; | ||
145 | .size _led_disp_num, .-_led_disp_num | ||
146 | |||
147 | /* Toggle the number using LEDs in binary format. */ | ||
148 | |||
149 | ENTRY(_led_toggle_num) | ||
150 | LINK 0; | ||
151 | [--SP] = P0; | ||
152 | [--SP] = R1; | ||
153 | [--SP] = R2; | ||
154 | CALL _led_init; | ||
155 | R1 = 0x3f(X); | ||
156 | R0 = R0 & R1; | ||
157 | R1 = 6(X); | ||
158 | R0 <<= R1; | ||
159 | P0.H = hi(PORTG); | ||
160 | P0.L = lo(PORTG); | ||
161 | R1 = W[P0](Z); | ||
162 | SSYNC; | ||
163 | R1 = R1 ^ R0; | ||
164 | W[P0] = R1.L; | ||
165 | SSYNC; | ||
166 | R2 = [SP++]; | ||
167 | R1 = [SP++]; | ||
168 | P0 = [SP++]; | ||
169 | UNLINK; | ||
170 | RTS; | ||
171 | .size _led_toggle_num, .-_led_toggle_num | ||
172 | |||
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/arch/blackfin/mach-bf561/coreb.c b/arch/blackfin/mach-bf561/coreb.c index 1b44e9e6dc3b..8598098c0840 100644 --- a/arch/blackfin/mach-bf561/coreb.c +++ b/arch/blackfin/mach-bf561/coreb.c | |||
@@ -194,6 +194,7 @@ static loff_t coreb_lseek(struct file *file, loff_t offset, int origin) | |||
194 | return ret; | 194 | return ret; |
195 | } | 195 | } |
196 | 196 | ||
197 | /* No BKL needed here */ | ||
197 | static int coreb_open(struct inode *inode, struct file *file) | 198 | static int coreb_open(struct inode *inode, struct file *file) |
198 | { | 199 | { |
199 | spin_lock_irq(&coreb_lock); | 200 | spin_lock_irq(&coreb_lock); |