[patch 2/8] kill setup_driver_defaults()

From: Bartlomiej Zolnierkiewicz
Date: Fri Jan 21 2005 - 18:33:50 EST



* move default_do_request() to ide-default.c
* fix drivers to set ide_driver_t->{do_request,end_request,error,abort}
* kill setup_driver_defaults()

diff -Nru a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c
--- a/drivers/ide/ide-cd.c 2005-01-21 22:27:18 +01:00
+++ b/drivers/ide/ide-cd.c 2005-01-21 22:27:18 +01:00
@@ -3279,6 +3279,9 @@
.supports_dsc_overlap = 1,
.cleanup = ide_cdrom_cleanup,
.do_request = ide_do_rw_cdrom,
+ .end_request = ide_end_request,
+ .error = __ide_error,
+ .abort = __ide_abort,
.proc = idecd_proc,
.attach = ide_cdrom_attach,
.drives = LIST_HEAD_INIT(ide_cdrom_driver.drives),
diff -Nru a/drivers/ide/ide-default.c b/drivers/ide/ide-default.c
--- a/drivers/ide/ide-default.c 2005-01-21 22:27:18 +01:00
+++ b/drivers/ide/ide-default.c 2005-01-21 22:27:18 +01:00
@@ -38,6 +38,12 @@

static int idedefault_attach(ide_drive_t *drive);

+static ide_startstop_t idedefault_do_request(ide_drive_t *drive, struct request *rq, sector_t block)
+{
+ ide_end_request(drive, 0, 0);
+ return ide_stopped;
+}
+
/*
* IDE subdriver functions, registered with ide.c
*/
@@ -47,6 +53,10 @@
.version = IDEDEFAULT_VERSION,
.attach = idedefault_attach,
.cleanup = ide_unregister_subdriver,
+ .do_request = idedefault_do_request,
+ .end_request = ide_end_request,
+ .error = __ide_error,
+ .abort = __ide_abort,
.drives = LIST_HEAD_INIT(idedefault_driver.drives)
};

diff -Nru a/drivers/ide/ide-disk.c b/drivers/ide/ide-disk.c
--- a/drivers/ide/ide-disk.c 2005-01-21 22:27:18 +01:00
+++ b/drivers/ide/ide-disk.c 2005-01-21 22:27:18 +01:00
@@ -996,6 +996,9 @@
.supports_dsc_overlap = 0,
.cleanup = idedisk_cleanup,
.do_request = ide_do_rw_disk,
+ .end_request = ide_end_request,
+ .error = __ide_error,
+ .abort = __ide_abort,
.proc = idedisk_proc,
.attach = idedisk_attach,
.drives = LIST_HEAD_INIT(idedisk_driver.drives),
diff -Nru a/drivers/ide/ide-floppy.c b/drivers/ide/ide-floppy.c
--- a/drivers/ide/ide-floppy.c 2005-01-21 22:27:18 +01:00
+++ b/drivers/ide/ide-floppy.c 2005-01-21 22:27:18 +01:00
@@ -1884,6 +1884,8 @@
.cleanup = idefloppy_cleanup,
.do_request = idefloppy_do_request,
.end_request = idefloppy_do_end_request,
+ .error = __ide_error,
+ .abort = __ide_abort,
.proc = idefloppy_proc,
.attach = idefloppy_attach,
.drives = LIST_HEAD_INIT(idefloppy_driver.drives),
diff -Nru a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c
--- a/drivers/ide/ide-io.c 2005-01-21 22:27:18 +01:00
+++ b/drivers/ide/ide-io.c 2005-01-21 22:27:18 +01:00
@@ -622,6 +622,8 @@
return ide_atapi_error(drive, rq, stat, err);
}

+EXPORT_SYMBOL_GPL(__ide_error);
+
/**
* ide_error - handle an error on the IDE
* @drive: drive the error occurred on
@@ -665,6 +667,8 @@
DRIVER(drive)->end_request(drive, 0, 0);
return ide_stopped;
}
+
+EXPORT_SYMBOL_GPL(__ide_abort);

/**
* ide_abort - abort pending IDE operatins
diff -Nru a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
--- a/drivers/ide/ide-tape.c 2005-01-21 22:27:18 +01:00
+++ b/drivers/ide/ide-tape.c 2005-01-21 22:27:18 +01:00
@@ -4686,6 +4686,8 @@
.cleanup = idetape_cleanup,
.do_request = idetape_do_request,
.end_request = idetape_end_request,
+ .error = __ide_error,
+ .abort = __ide_abort,
.proc = idetape_proc,
.attach = idetape_attach,
.drives = LIST_HEAD_INIT(idetape_driver.drives),
diff -Nru a/drivers/ide/ide.c b/drivers/ide/ide.c
--- a/drivers/ide/ide.c 2005-01-21 22:27:18 +01:00
+++ b/drivers/ide/ide.c 2005-01-21 22:27:18 +01:00
@@ -197,7 +197,6 @@
EXPORT_SYMBOL(ide_hwifs);

extern ide_driver_t idedefault_driver;
-static void setup_driver_defaults(ide_driver_t *driver);

/*
* Do not even *think* about calling this!
@@ -301,8 +300,6 @@
return; /* already initialized */
magic_cookie = 0;

- setup_driver_defaults(&idedefault_driver);
-
/* Initialise all interface structures */
for (index = 0; index < MAX_HWIFS; ++index) {
hwif = &ide_hwifs[index];
@@ -2015,38 +2012,6 @@
#endif
}

-static ide_startstop_t default_do_request (ide_drive_t *drive, struct request *rq, sector_t block)
-{
- ide_end_request(drive, 0, 0);
- return ide_stopped;
-}
-
-static int default_end_request (ide_drive_t *drive, int uptodate, int nr_sects)
-{
- return ide_end_request(drive, uptodate, nr_sects);
-}
-
-static ide_startstop_t
-default_error(ide_drive_t *drive, struct request *rq, u8 stat, u8 err)
-{
- return __ide_error(drive, rq, stat, err);
-}
-
-static ide_startstop_t default_abort(ide_drive_t *drive, struct request *rq)
-{
- return __ide_abort(drive, rq);
-}
-
-static void setup_driver_defaults (ide_driver_t *d)
-{
- BUG_ON(d->attach == NULL || d->cleanup == NULL);
-
- if (d->do_request == NULL) d->do_request = default_do_request;
- if (d->end_request == NULL) d->end_request = default_end_request;
- if (d->error == NULL) d->error = default_error;
- if (d->abort == NULL) d->abort = default_abort;
-}
-
int ide_register_subdriver(ide_drive_t *drive, ide_driver_t *driver)
{
unsigned long flags;
@@ -2144,8 +2109,6 @@
struct list_head list;
struct list_head *list_loop;
struct list_head *tmp_storage;
-
- setup_driver_defaults(driver);

spin_lock(&drivers_lock);
list_add(&driver->drivers, &drivers);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/