Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

m68k/mac: Fix scsi_type for Mac LC and similar models

Designing Cards and Drivers for the Macintosh Family, 3rd ed. on page 310
says that the I/O address space for the Mac LC is $50F0 0000 - $50FF FFFF.
The developer notes for the Classic II, LC III and IIvx/IIvi give the same
I/O address space.

That means I've assigned the wrong platform resources to those Mac models.
Fix the scsi_type initialization for the affected models, to restore the
SCSI base address to its value prior to Linux 3.18.

Also rename MAC_SCSI_CCL as MAC_SCSI_LC for the sake of correct chronology.

Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>

authored by

Finn Thain and committed by
Geert Uytterhoeven
2e874d17 8c0ce284

+18 -16
+1 -1
arch/m68k/include/asm/macintosh.h
··· 55 55 #define MAC_SCSI_QUADRA3 4 56 56 #define MAC_SCSI_IIFX 5 57 57 #define MAC_SCSI_DUO 6 58 - #define MAC_SCSI_CCL 7 58 + #define MAC_SCSI_LC 7 59 59 #define MAC_SCSI_LATE 8 60 60 61 61 #define MAC_IDE_NONE 0
+17 -15
arch/m68k/mac/config.c
··· 296 296 .name = "IIvi", 297 297 .adb_type = MAC_ADB_IISI, 298 298 .via_type = MAC_VIA_IICI, 299 - .scsi_type = MAC_SCSI_OLD, 299 + .scsi_type = MAC_SCSI_LC, 300 300 .scc_type = MAC_SCC_II, 301 301 .nubus_type = MAC_NUBUS, 302 302 .floppy_type = MAC_FLOPPY_SWIM_ADDR2, ··· 305 305 .name = "IIvx", 306 306 .adb_type = MAC_ADB_IISI, 307 307 .via_type = MAC_VIA_IICI, 308 - .scsi_type = MAC_SCSI_OLD, 308 + .scsi_type = MAC_SCSI_LC, 309 309 .scc_type = MAC_SCC_II, 310 310 .nubus_type = MAC_NUBUS, 311 311 .floppy_type = MAC_FLOPPY_SWIM_ADDR2, ··· 320 320 .name = "Classic II", 321 321 .adb_type = MAC_ADB_IISI, 322 322 .via_type = MAC_VIA_IICI, 323 - .scsi_type = MAC_SCSI_OLD, 323 + .scsi_type = MAC_SCSI_LC, 324 324 .scc_type = MAC_SCC_II, 325 325 .nubus_type = MAC_NUBUS, 326 326 .floppy_type = MAC_FLOPPY_SWIM_ADDR2, ··· 329 329 .name = "Color Classic", 330 330 .adb_type = MAC_ADB_CUDA, 331 331 .via_type = MAC_VIA_IICI, 332 - .scsi_type = MAC_SCSI_CCL, 332 + .scsi_type = MAC_SCSI_LC, 333 333 .scc_type = MAC_SCC_II, 334 334 .nubus_type = MAC_NUBUS, 335 335 .floppy_type = MAC_FLOPPY_SWIM_ADDR2, ··· 338 338 .name = "Color Classic II", 339 339 .adb_type = MAC_ADB_CUDA, 340 340 .via_type = MAC_VIA_IICI, 341 - .scsi_type = MAC_SCSI_CCL, 341 + .scsi_type = MAC_SCSI_LC, 342 342 .scc_type = MAC_SCC_II, 343 343 .nubus_type = MAC_NUBUS, 344 344 .floppy_type = MAC_FLOPPY_SWIM_ADDR2, ··· 353 353 .name = "LC", 354 354 .adb_type = MAC_ADB_IISI, 355 355 .via_type = MAC_VIA_IICI, 356 - .scsi_type = MAC_SCSI_OLD, 356 + .scsi_type = MAC_SCSI_LC, 357 357 .scc_type = MAC_SCC_II, 358 358 .nubus_type = MAC_NUBUS, 359 359 .floppy_type = MAC_FLOPPY_SWIM_ADDR2, ··· 362 362 .name = "LC II", 363 363 .adb_type = MAC_ADB_IISI, 364 364 .via_type = MAC_VIA_IICI, 365 - .scsi_type = MAC_SCSI_OLD, 365 + .scsi_type = MAC_SCSI_LC, 366 366 .scc_type = MAC_SCC_II, 367 367 .nubus_type = MAC_NUBUS, 368 368 .floppy_type = MAC_FLOPPY_SWIM_ADDR2, ··· 371 371 .name = "LC III", 372 372 .adb_type = MAC_ADB_IISI, 373 373 .via_type = MAC_VIA_IICI, 374 - .scsi_type = MAC_SCSI_OLD, 374 + .scsi_type = MAC_SCSI_LC, 375 375 .scc_type = MAC_SCC_II, 376 376 .nubus_type = MAC_NUBUS, 377 377 .floppy_type = MAC_FLOPPY_SWIM_ADDR2, ··· 499 499 .name = "Performa 460", 500 500 .adb_type = MAC_ADB_IISI, 501 501 .via_type = MAC_VIA_IICI, 502 - .scsi_type = MAC_SCSI_OLD, 502 + .scsi_type = MAC_SCSI_LC, 503 503 .scc_type = MAC_SCC_II, 504 504 .nubus_type = MAC_NUBUS, 505 505 .floppy_type = MAC_FLOPPY_SWIM_ADDR2, ··· 526 526 .name = "Performa 520", 527 527 .adb_type = MAC_ADB_CUDA, 528 528 .via_type = MAC_VIA_IICI, 529 - .scsi_type = MAC_SCSI_CCL, 529 + .scsi_type = MAC_SCSI_LC, 530 530 .scc_type = MAC_SCC_II, 531 531 .nubus_type = MAC_NUBUS, 532 532 .floppy_type = MAC_FLOPPY_SWIM_ADDR2, ··· 535 535 .name = "Performa 550", 536 536 .adb_type = MAC_ADB_CUDA, 537 537 .via_type = MAC_VIA_IICI, 538 - .scsi_type = MAC_SCSI_CCL, 538 + .scsi_type = MAC_SCSI_LC, 539 539 .scc_type = MAC_SCC_II, 540 540 .nubus_type = MAC_NUBUS, 541 541 .floppy_type = MAC_FLOPPY_SWIM_ADDR2, ··· 567 567 .name = "TV", 568 568 .adb_type = MAC_ADB_CUDA, 569 569 .via_type = MAC_VIA_IICI, 570 - .scsi_type = MAC_SCSI_CCL, 570 + .scsi_type = MAC_SCSI_LC, 571 571 .scc_type = MAC_SCC_II, 572 572 .nubus_type = MAC_NUBUS, 573 573 .floppy_type = MAC_FLOPPY_SWIM_ADDR2, ··· 576 576 .name = "Performa 600", 577 577 .adb_type = MAC_ADB_IISI, 578 578 .via_type = MAC_VIA_IICI, 579 - .scsi_type = MAC_SCSI_OLD, 579 + .scsi_type = MAC_SCSI_LC, 580 580 .scc_type = MAC_SCC_II, 581 581 .nubus_type = MAC_NUBUS, 582 582 .floppy_type = MAC_FLOPPY_SWIM_ADDR2, ··· 1109 1109 platform_device_register_simple("mac_scsi", 0, 1110 1110 mac_scsi_late_rsrc, ARRAY_SIZE(mac_scsi_late_rsrc)); 1111 1111 break; 1112 - case MAC_SCSI_CCL: 1113 - /* Addresses from the Color Classic Developer Note. 1112 + case MAC_SCSI_LC: 1113 + /* Addresses from Mac LC data in Designing Cards & Drivers 3ed. 1114 + * Also from the Developer Notes for Classic II, LC III, 1115 + * Color Classic and IIvx. 1114 1116 * $50F0 6000 - $50F0 7FFF: SCSI handshake 1115 1117 * $50F1 0000 - $50F1 1FFF: SCSI 1116 1118 * $50F1 2000 - $50F1 3FFF: SCSI DMA