mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
ide: move IDE settings handling to ide-proc.c
* move
__ide_add_setting()
ide_add_setting()
__ide_remove_setting()
auto_remove_settings()
ide_find_setting_by_name()
ide_read_setting()
ide_write_setting()
set_xfer_rate()
ide_add_generic_settings()
ide_register_subdriver()
ide_unregister_subdriver()
from ide.c to ide-proc.c
* set_{io_32bit,pio_mode,using_dma}() cannot be marked static now, fix it
* rename ide_[un]register_subdriver() to ide_proc_[un]register_driver(),
update device drivers to use new names
* add CONFIG_IDE_PROC_FS=n versions of ide_proc_[un]register_driver()
and ide_add_generic_settings()
* make ide_find_setting_by_name(), ide_{read,write}_setting()
and ide_{add,remove}_proc_entries() static
* cover IDE settings code in device drivers with CONFIG_IDE_PROC_FS #ifdef,
also while at it cover with CONFIG_IDE_PROC_FS #ifdef ide_driver_t.proc
* remove bogus comment from ide.h
* cover with CONFIG_IDE_PROC_FS #ifdef .proc and .settings in ide_drive_t
Besides saner code this patch results in the IDE core smaller by ~2 kB
(on x86-32) and IDE disk driver by ~1 kB (ditto) when CONFIG_IDE_PROC_FS=n.
Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]>
This commit is contained in:
parent
1497943ee6
commit
7662d046df
8 changed files with 378 additions and 363 deletions
|
|
@ -721,6 +721,7 @@ static ide_startstop_t idescsi_do_request (ide_drive_t *drive, struct request *r
|
|||
return ide_stopped;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_IDE_PROC_FS
|
||||
static void idescsi_add_settings(ide_drive_t *drive)
|
||||
{
|
||||
idescsi_scsi_t *scsi = drive_to_idescsi(drive);
|
||||
|
|
@ -734,6 +735,9 @@ static void idescsi_add_settings(ide_drive_t *drive)
|
|||
ide_add_setting(drive, "transform", SETTING_RW, TYPE_INT, 0, 3, 1, 1, &scsi->transform, NULL);
|
||||
ide_add_setting(drive, "log", SETTING_RW, TYPE_INT, 0, 1, 1, 1, &scsi->log, NULL);
|
||||
}
|
||||
#else
|
||||
static inline void idescsi_add_settings(ide_drive_t *drive) { ; }
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Driver initialization.
|
||||
|
|
@ -756,7 +760,7 @@ static void ide_scsi_remove(ide_drive_t *drive)
|
|||
struct ide_scsi_obj *scsi = scsihost_to_idescsi(scsihost);
|
||||
struct gendisk *g = scsi->disk;
|
||||
|
||||
ide_unregister_subdriver(drive, scsi->driver);
|
||||
ide_proc_unregister_driver(drive, scsi->driver);
|
||||
|
||||
ide_unregister_region(g);
|
||||
|
||||
|
|
@ -775,8 +779,6 @@ static ide_proc_entry_t idescsi_proc[] = {
|
|||
{ "capacity", S_IFREG|S_IRUGO, proc_ide_read_capacity, NULL },
|
||||
{ NULL, 0, NULL, NULL }
|
||||
};
|
||||
#else
|
||||
# define idescsi_proc NULL
|
||||
#endif
|
||||
|
||||
static ide_driver_t idescsi_driver = {
|
||||
|
|
@ -790,11 +792,13 @@ static ide_driver_t idescsi_driver = {
|
|||
.version = IDESCSI_VERSION,
|
||||
.media = ide_scsi,
|
||||
.supports_dsc_overlap = 0,
|
||||
.proc = idescsi_proc,
|
||||
.do_request = idescsi_do_request,
|
||||
.end_request = idescsi_end_request,
|
||||
.error = idescsi_atapi_error,
|
||||
.abort = idescsi_atapi_abort,
|
||||
#ifdef CONFIG_IDE_PROC_FS
|
||||
.proc = idescsi_proc,
|
||||
#endif
|
||||
};
|
||||
|
||||
static int idescsi_ide_open(struct inode *inode, struct file *filp)
|
||||
|
|
@ -1153,7 +1157,7 @@ static int ide_scsi_probe(ide_drive_t *drive)
|
|||
idescsi->host = host;
|
||||
idescsi->disk = g;
|
||||
g->private_data = &idescsi->driver;
|
||||
ide_register_subdriver(drive, &idescsi_driver);
|
||||
ide_proc_register_driver(drive, &idescsi_driver);
|
||||
err = 0;
|
||||
idescsi_setup(drive, idescsi);
|
||||
g->fops = &idescsi_ops;
|
||||
|
|
@ -1165,7 +1169,7 @@ static int ide_scsi_probe(ide_drive_t *drive)
|
|||
}
|
||||
/* fall through on error */
|
||||
ide_unregister_region(g);
|
||||
ide_unregister_subdriver(drive, &idescsi_driver);
|
||||
ide_proc_unregister_driver(drive, &idescsi_driver);
|
||||
|
||||
put_disk(g);
|
||||
out_host_put:
|
||||
|
|
|
|||
Loading…
Reference in a new issue