···3510{3511 driver_unregister(&ide_cdrom_driver.gen_driver);3512}3513-3514-static int ide_cdrom_init(void)3515{3516 return driver_register(&ide_cdrom_driver.gen_driver);3517}
···3510{3511 driver_unregister(&ide_cdrom_driver.gen_driver);3512}3513+3514+static int __init ide_cdrom_init(void)3515{3516 return driver_register(&ide_cdrom_driver.gen_driver);3517}
+1-1
drivers/ide/ide-disk.c
···1266 driver_unregister(&idedisk_driver.gen_driver);1267}12681269-static int idedisk_init (void)1270{1271 return driver_register(&idedisk_driver.gen_driver);1272}
···1266 driver_unregister(&idedisk_driver.gen_driver);1267}12681269+static int __init idedisk_init(void)1270{1271 return driver_register(&idedisk_driver.gen_driver);1272}
+1-4
drivers/ide/ide-floppy.c
···2191 driver_unregister(&idefloppy_driver.gen_driver);2192}21932194-/*2195- * idefloppy_init will register the driver for each floppy.2196- */2197-static int idefloppy_init (void)2198{2199 printk("ide-floppy driver " IDEFLOPPY_VERSION "\n");2200 return driver_register(&idefloppy_driver.gen_driver);
···1629 * for the new rq to be completed. This is VERY DANGEROUS, and is1630 * intended for careful use by the ATAPI tape/cdrom driver code.1631 *1632- * If action is ide_next, then the rq is queued immediately after1633- * the currently-being-processed-request (if any), and the function1634- * returns without waiting for the new rq to be completed. As above,1635- * This is VERY DANGEROUS, and is intended for careful use by the1636- * ATAPI tape/cdrom driver code.1637- *1638 * If action is ide_end, then the rq is queued at the end of the1639 * request queue, and the function returns immediately without waiting1640 * for the new rq to be completed. This is again intended for careful
···1629 * for the new rq to be completed. This is VERY DANGEROUS, and is1630 * intended for careful use by the ATAPI tape/cdrom driver code.1631 *0000001632 * If action is ide_end, then the rq is queued at the end of the1633 * request queue, and the function returns immediately without waiting1634 * for the new rq to be completed. This is again intended for careful
+1-4
drivers/ide/ide-tape.c
···4916 unregister_chrdev(IDETAPE_MAJOR, "ht");4917}49184919-/*4920- * idetape_init will register the driver for each tape.4921- */4922-static int idetape_init (void)4923{4924 int error = 1;4925 idetape_sysfs_class = class_create(THIS_MODULE, "ide_tape");
···4916 unregister_chrdev(IDETAPE_MAJOR, "ht");4917}49184919+static int __init idetape_init(void)0004920{4921 int error = 1;4922 idetape_sysfs_class = class_create(THIS_MODULE, "ide_tape");
+3-24
drivers/ide/ide-taskfile.c
···51#include <asm/uaccess.h>52#include <asm/io.h>5354-#define DEBUG_TASKFILE 0 /* unset when fixed */55-56static void ata_bswap_data (void *buffer, int wcount)57{58 u16 *p = buffer;···763 ide_hwif_t *hwif = HWIF(drive);764 task_struct_t *taskfile = (task_struct_t *) task->tfRegister;765 hob_struct_t *hobfile = (hob_struct_t *) task->hobRegister;766-#if DEBUG_TASKFILE767- u8 status;768-#endif769770 if (task->data_phase == TASKFILE_MULTI_IN ||771 task->data_phase == TASKFILE_MULTI_OUT) {···773 }774775 /*776- * (ks) Check taskfile in/out flags.777 * If set, then execute as it is defined.778 * If not set, then define default settings.779 * The default values are:780- * write and read all taskfile registers (except data) 781- * write and read the hob registers (sector,nsector,lcyl,hcyl)782 */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 if (task->tf_in_flags.all == 0) {790 task->tf_in_flags.all = IDE_TASKFILE_STD_IN_FLAGS;791 if (drive->addressing == 1)···791 /* clear nIEN */792 hwif->OUTB(drive->ctl, IDE_CONTROL_REG);793 SELECT_MASK(drive, 0);794-795-#if DEBUG_TASKFILE796- 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-#endif804805 if (task->tf_out_flags.b.data) {806 u16 data = taskfile->data + (hobfile->data << 8);
···51#include <asm/uaccess.h>52#include <asm/io.h>530054static void ata_bswap_data (void *buffer, int wcount)55{56 u16 *p = buffer;···765 ide_hwif_t *hwif = HWIF(drive);766 task_struct_t *taskfile = (task_struct_t *) task->tfRegister;767 hob_struct_t *hobfile = (hob_struct_t *) task->hobRegister;000768769 if (task->data_phase == TASKFILE_MULTI_IN ||770 task->data_phase == TASKFILE_MULTI_OUT) {···778 }779780 /*781+ * (ks) Check taskfile in flags.782 * If set, then execute as it is defined.783 * If not set, then define default settings.784 * The default values are:785+ * read all taskfile registers (except data)786+ * read the hob registers (sector, nsector, lcyl, hcyl)787 */000000788 if (task->tf_in_flags.all == 0) {789 task->tf_in_flags.all = IDE_TASKFILE_STD_IN_FLAGS;790 if (drive->addressing == 1)···802 /* clear nIEN */803 hwif->OUTB(drive->ctl, IDE_CONTROL_REG);804 SELECT_MASK(drive, 0);0000000000805806 if (task->tf_out_flags.b.data) {807 u16 data = taskfile->data + (hobfile->data << 8);
···1201 */1202typedef enum {1203 ide_wait, /* insert rq at end of list, and wait for it */1204- ide_next, /* insert rq immediately after current request */1205 ide_preempt, /* insert rq in front of current request */1206 ide_head_wait, /* insert rq in front of current request and wait for it */1207 ide_end /* insert rq at end of list, but don't wait for it */1208} ide_action_t;12091210-/*1211- * This function issues a special IDE device request1212- * onto the request queue.1213- *1214- * If action is ide_wait, then the rq is queued at the end of the1215- * 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 of1219- * the request queue, displacing the currently-being-processed1220- * request and this function returns immediately without waiting1221- * for the new rq to be completed. This is VERY DANGEROUS, and is1222- * intended for careful use by the ATAPI tape/cdrom driver code.1223- *1224- * If action is ide_next, then the rq is queued immediately after1225- * the currently-being-processed-request (if any), and the function1226- * returns without waiting for the new rq to be completed. As above,1227- * This is VERY DANGEROUS, and is intended for careful use by the1228- * ATAPI tape/cdrom driver code.1229- *1230- * If action is ide_end, then the rq is queued at the end of the1231- * request queue, and the function returns immediately without waiting1232- * for the new rq to be completed. This is again intended for careful1233- * use by the ATAPI tape/cdrom driver code.1234- */1235extern int ide_do_drive_cmd(ide_drive_t *, struct request *, ide_action_t);12361237/*
···1201 */1202typedef enum {1203 ide_wait, /* insert rq at end of list, and wait for it */01204 ide_preempt, /* insert rq in front of current request */1205 ide_head_wait, /* insert rq in front of current request and wait for it */1206 ide_end /* insert rq at end of list, but don't wait for it */1207} ide_action_t;120800000000000000000000000001209extern int ide_do_drive_cmd(ide_drive_t *, struct request *, ide_action_t);12101211/*