Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6

+36 -78
+2 -2
drivers/ide/ide-cd.c
··· 3510 3510 { 3511 3511 driver_unregister(&ide_cdrom_driver.gen_driver); 3512 3512 } 3513 - 3514 - static int ide_cdrom_init(void) 3513 + 3514 + static int __init ide_cdrom_init(void) 3515 3515 { 3516 3516 return driver_register(&ide_cdrom_driver.gen_driver); 3517 3517 }
+1 -1
drivers/ide/ide-disk.c
··· 1266 1266 driver_unregister(&idedisk_driver.gen_driver); 1267 1267 } 1268 1268 1269 - static int idedisk_init (void) 1269 + static int __init idedisk_init(void) 1270 1270 { 1271 1271 return driver_register(&idedisk_driver.gen_driver); 1272 1272 }
+1 -4
drivers/ide/ide-floppy.c
··· 2191 2191 driver_unregister(&idefloppy_driver.gen_driver); 2192 2192 } 2193 2193 2194 - /* 2195 - * idefloppy_init will register the driver for each floppy. 2196 - */ 2197 - static int idefloppy_init (void) 2194 + static int __init idefloppy_init(void) 2198 2195 { 2199 2196 printk("ide-floppy driver " IDEFLOPPY_VERSION "\n"); 2200 2197 return driver_register(&idefloppy_driver.gen_driver);
-6
drivers/ide/ide-io.c
··· 1629 1629 * for the new rq to be completed. This is VERY DANGEROUS, and is 1630 1630 * intended for careful use by the ATAPI tape/cdrom driver code. 1631 1631 * 1632 - * If action is ide_next, then the rq is queued immediately after 1633 - * the currently-being-processed-request (if any), and the function 1634 - * returns without waiting for the new rq to be completed. As above, 1635 - * This is VERY DANGEROUS, and is intended for careful use by the 1636 - * ATAPI tape/cdrom driver code. 1637 - * 1638 1632 * If action is ide_end, then the rq is queued at the end of the 1639 1633 * request queue, and the function returns immediately without waiting 1640 1634 * for the new rq to be completed. This is again intended for careful
+1 -4
drivers/ide/ide-tape.c
··· 4916 4916 unregister_chrdev(IDETAPE_MAJOR, "ht"); 4917 4917 } 4918 4918 4919 - /* 4920 - * idetape_init will register the driver for each tape. 4921 - */ 4922 - static int idetape_init (void) 4919 + static int __init idetape_init(void) 4923 4920 { 4924 4921 int error = 1; 4925 4922 idetape_sysfs_class = class_create(THIS_MODULE, "ide_tape");
+3 -24
drivers/ide/ide-taskfile.c
··· 51 51 #include <asm/uaccess.h> 52 52 #include <asm/io.h> 53 53 54 - #define DEBUG_TASKFILE 0 /* unset when fixed */ 55 - 56 54 static void ata_bswap_data (void *buffer, int wcount) 57 55 { 58 56 u16 *p = buffer; ··· 763 765 ide_hwif_t *hwif = HWIF(drive); 764 766 task_struct_t *taskfile = (task_struct_t *) task->tfRegister; 765 767 hob_struct_t *hobfile = (hob_struct_t *) task->hobRegister; 766 - #if DEBUG_TASKFILE 767 - u8 status; 768 - #endif 769 768 770 769 if (task->data_phase == TASKFILE_MULTI_IN || 771 770 task->data_phase == TASKFILE_MULTI_OUT) { ··· 773 778 } 774 779 775 780 /* 776 - * (ks) Check taskfile in/out flags. 781 + * (ks) Check taskfile in flags. 777 782 * If set, then execute as it is defined. 778 783 * If not set, then define default settings. 779 784 * The default values are: 780 - * write and read all taskfile registers (except data) 781 - * write and read the hob registers (sector,nsector,lcyl,hcyl) 785 + * read all taskfile registers (except data) 786 + * read the hob registers (sector, nsector, lcyl, hcyl) 782 787 */ 783 - if (task->tf_out_flags.all == 0) { 784 - task->tf_out_flags.all = IDE_TASKFILE_STD_OUT_FLAGS; 785 - if (drive->addressing == 1) 786 - task->tf_out_flags.all |= (IDE_HOB_STD_OUT_FLAGS << 8); 787 - } 788 - 789 788 if (task->tf_in_flags.all == 0) { 790 789 task->tf_in_flags.all = IDE_TASKFILE_STD_IN_FLAGS; 791 790 if (drive->addressing == 1) ··· 791 802 /* clear nIEN */ 792 803 hwif->OUTB(drive->ctl, IDE_CONTROL_REG); 793 804 SELECT_MASK(drive, 0); 794 - 795 - #if DEBUG_TASKFILE 796 - status = hwif->INB(IDE_STATUS_REG); 797 - if (status & 0x80) { 798 - printk("flagged_taskfile -> Bad status. Status = %02x. wait 100 usec ...\n", status); 799 - udelay(100); 800 - status = hwif->INB(IDE_STATUS_REG); 801 - printk("flagged_taskfile -> Status = %02x\n", status); 802 - } 803 - #endif 804 805 805 806 if (task->tf_out_flags.b.data) { 806 807 u16 data = taskfile->data + (hobfile->data << 8);
+1
drivers/ide/pci/sis5513.c
··· 87 87 u8 chipset_family; 88 88 u8 flags; 89 89 } SiSHostChipInfo[] = { 90 + { "SiS965", PCI_DEVICE_ID_SI_965, ATA_133 }, 90 91 { "SiS745", PCI_DEVICE_ID_SI_745, ATA_100 }, 91 92 { "SiS735", PCI_DEVICE_ID_SI_735, ATA_100 }, 92 93 { "SiS733", PCI_DEVICE_ID_SI_733, ATA_100 },
+21 -9
drivers/ide/pci/via82cxxx.c
··· 79 79 u8 rev_max; 80 80 u16 flags; 81 81 } via_isa_bridges[] = { 82 + { "vt6410", PCI_DEVICE_ID_VIA_6410, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, 82 83 { "vt8237", PCI_DEVICE_ID_VIA_8237, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, 83 84 { "vt8235", PCI_DEVICE_ID_VIA_8235, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, 84 85 { "vt8233a", PCI_DEVICE_ID_VIA_8233A, 0x00, 0x2f, VIA_UDMA_133 | VIA_BAD_AST }, ··· 468 467 hwif->drives[1].autodma = hwif->autodma; 469 468 } 470 469 471 - static ide_pci_device_t via82cxxx_chipset __devinitdata = { 472 - .name = "VP_IDE", 473 - .init_chipset = init_chipset_via82cxxx, 474 - .init_hwif = init_hwif_via82cxxx, 475 - .channels = 2, 476 - .autodma = NOAUTODMA, 477 - .enablebits = {{0x40,0x02,0x02}, {0x40,0x01,0x01}}, 478 - .bootable = ON_BOARD, 470 + static ide_pci_device_t via82cxxx_chipsets[] __devinitdata = { 471 + { /* 0 */ 472 + .name = "VP_IDE", 473 + .init_chipset = init_chipset_via82cxxx, 474 + .init_hwif = init_hwif_via82cxxx, 475 + .channels = 2, 476 + .autodma = NOAUTODMA, 477 + .enablebits = {{0x40,0x02,0x02}, {0x40,0x01,0x01}}, 478 + .bootable = ON_BOARD 479 + },{ /* 1 */ 480 + .name = "VP_IDE", 481 + .init_chipset = init_chipset_via82cxxx, 482 + .init_hwif = init_hwif_via82cxxx, 483 + .channels = 2, 484 + .autodma = AUTODMA, 485 + .enablebits = {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, 486 + .bootable = ON_BOARD, 487 + } 479 488 }; 480 489 481 490 static int __devinit via_init_one(struct pci_dev *dev, const struct pci_device_id *id) 482 491 { 483 - return ide_setup_pci_device(dev, &via82cxxx_chipset); 492 + return ide_setup_pci_device(dev, &via82cxxx_chipsets[id->driver_data]); 484 493 } 485 494 486 495 static struct pci_device_id via_pci_tbl[] = { 487 496 { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C576_1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, 488 497 { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, 498 + { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_6410, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1}, 489 499 { 0, }, 490 500 }; 491 501 MODULE_DEVICE_TABLE(pci, via_pci_tbl);
+4 -2
include/linux/hdreg.h
··· 80 80 /* 81 81 * Define standard taskfile in/out register 82 82 */ 83 - #define IDE_TASKFILE_STD_OUT_FLAGS 0xFE 84 83 #define IDE_TASKFILE_STD_IN_FLAGS 0xFE 85 - #define IDE_HOB_STD_OUT_FLAGS 0x3C 86 84 #define IDE_HOB_STD_IN_FLAGS 0x3C 85 + #ifndef __KERNEL__ 86 + #define IDE_TASKFILE_STD_OUT_FLAGS 0xFE 87 + #define IDE_HOB_STD_OUT_FLAGS 0x3C 88 + #endif 87 89 88 90 typedef unsigned char task_ioreg_t; 89 91 typedef unsigned long sata_ioreg_t;
-26
include/linux/ide.h
··· 1201 1201 */ 1202 1202 typedef enum { 1203 1203 ide_wait, /* insert rq at end of list, and wait for it */ 1204 - ide_next, /* insert rq immediately after current request */ 1205 1204 ide_preempt, /* insert rq in front of current request */ 1206 1205 ide_head_wait, /* insert rq in front of current request and wait for it */ 1207 1206 ide_end /* insert rq at end of list, but don't wait for it */ 1208 1207 } ide_action_t; 1209 1208 1210 - /* 1211 - * This function issues a special IDE device request 1212 - * onto the request queue. 1213 - * 1214 - * If action is ide_wait, then the rq is queued at the end of the 1215 - * request queue, and the function sleeps until it has been processed. 1216 - * This is for use when invoked from an ioctl handler. 1217 - * 1218 - * If action is ide_preempt, then the rq is queued at the head of 1219 - * the request queue, displacing the currently-being-processed 1220 - * request and this function returns immediately without waiting 1221 - * for the new rq to be completed. This is VERY DANGEROUS, and is 1222 - * intended for careful use by the ATAPI tape/cdrom driver code. 1223 - * 1224 - * If action is ide_next, then the rq is queued immediately after 1225 - * the currently-being-processed-request (if any), and the function 1226 - * returns without waiting for the new rq to be completed. As above, 1227 - * This is VERY DANGEROUS, and is intended for careful use by the 1228 - * ATAPI tape/cdrom driver code. 1229 - * 1230 - * If action is ide_end, then the rq is queued at the end of the 1231 - * request queue, and the function returns immediately without waiting 1232 - * for the new rq to be completed. This is again intended for careful 1233 - * use by the ATAPI tape/cdrom driver code. 1234 - */ 1235 1209 extern int ide_do_drive_cmd(ide_drive_t *, struct request *, ide_action_t); 1236 1210 1237 1211 /*
+2
include/linux/pci_ids.h
··· 620 620 #define PCI_DEVICE_ID_SI_961 0x0961 621 621 #define PCI_DEVICE_ID_SI_962 0x0962 622 622 #define PCI_DEVICE_ID_SI_963 0x0963 623 + #define PCI_DEVICE_ID_SI_965 0x0965 623 624 #define PCI_DEVICE_ID_SI_5511 0x5511 624 625 #define PCI_DEVICE_ID_SI_5513 0x5513 625 626 #define PCI_DEVICE_ID_SI_5518 0x5518 ··· 1235 1234 #define PCI_DEVICE_ID_VIA_8703_51_0 0x3148 1236 1235 #define PCI_DEVICE_ID_VIA_8237_SATA 0x3149 1237 1236 #define PCI_DEVICE_ID_VIA_XN266 0x3156 1237 + #define PCI_DEVICE_ID_VIA_6410 0x3164 1238 1238 #define PCI_DEVICE_ID_VIA_8754C_0 0x3168 1239 1239 #define PCI_DEVICE_ID_VIA_8235 0x3177 1240 1240 #define PCI_DEVICE_ID_VIA_8385_0 0x3188