ide: add "ignore_cable" parameter (take 2)
Add "ignore_cable" parameter: * "ide_core.ignore_cable=[interface_number]" boot option if IDE is built-in (i.e. "ide_core.ignore_cable=1" to force ignoring cable for "ide1") * "ignore_cable=[interface_number]" module parameter (for ide_core module) if IDE is compiled as module v2: * Add ide_port_apply_params() helper - use it in ide_device_add_all() and ide_scan_port(). * Make it possible to later disable ignoring cable detection by passing "[interface_number]:0" to /sys/module/ide_core/parameters/ignore_cable (however sysfs interface is not enabled yet since it needs some other IDE changes to make it work reliable). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
@@ -1518,13 +1518,20 @@ int ide_device_add_all(u8 *idx, const struct ide_port_info *d)
|
||||
int i, rc = 0;
|
||||
|
||||
for (i = 0; i < MAX_HWIFS; i++) {
|
||||
if (d == NULL || idx[i] == 0xff) {
|
||||
if (idx[i] == 0xff) {
|
||||
mate = NULL;
|
||||
continue;
|
||||
}
|
||||
|
||||
hwif = &ide_hwifs[idx[i]];
|
||||
|
||||
ide_port_apply_params(hwif);
|
||||
|
||||
if (d == NULL) {
|
||||
mate = NULL;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (d->chipset != ide_etrax100 && (i & 1) && mate) {
|
||||
hwif->mate = mate;
|
||||
mate->mate = hwif;
|
||||
@@ -1621,6 +1628,7 @@ EXPORT_SYMBOL_GPL(ide_device_add);
|
||||
|
||||
void ide_port_scan(ide_hwif_t *hwif)
|
||||
{
|
||||
ide_port_apply_params(hwif);
|
||||
ide_port_cable_detect(hwif);
|
||||
ide_port_init_devices(hwif);
|
||||
|
||||
|
Reference in New Issue
Block a user