|
@@ -95,7 +95,7 @@ DEFINE_MUTEX(ide_cfg_mtx);
|
|
__cacheline_aligned_in_smp DEFINE_SPINLOCK(ide_lock);
|
|
__cacheline_aligned_in_smp DEFINE_SPINLOCK(ide_lock);
|
|
|
|
|
|
#ifdef CONFIG_IDEPCI_PCIBUS_ORDER
|
|
#ifdef CONFIG_IDEPCI_PCIBUS_ORDER
|
|
-static int ide_scan_direction; /* THIS was formerly 2.2.x pci=reverse */
|
|
|
|
|
|
+int ide_scan_direction; /* THIS was formerly 2.2.x pci=reverse */
|
|
#endif
|
|
#endif
|
|
|
|
|
|
int noautodma = 0;
|
|
int noautodma = 0;
|
|
@@ -178,8 +178,6 @@ static void init_hwif_default(ide_hwif_t *hwif, unsigned int index)
|
|
#endif
|
|
#endif
|
|
}
|
|
}
|
|
|
|
|
|
-extern void ide_arm_init(void);
|
|
|
|
-
|
|
|
|
/*
|
|
/*
|
|
* init_ide_data() sets reasonable default values into all fields
|
|
* init_ide_data() sets reasonable default values into all fields
|
|
* of all instances of the hwifs and drives, but only on the first call.
|
|
* of all instances of the hwifs and drives, but only on the first call.
|
|
@@ -1223,26 +1221,12 @@ static int __init match_parm (char *s, const char *keywords[], int vals[], int m
|
|
return 0; /* zero = nothing matched */
|
|
return 0; /* zero = nothing matched */
|
|
}
|
|
}
|
|
|
|
|
|
-#ifdef CONFIG_BLK_DEV_ALI14XX
|
|
|
|
extern int probe_ali14xx;
|
|
extern int probe_ali14xx;
|
|
-extern int ali14xx_init(void);
|
|
|
|
-#endif
|
|
|
|
-#ifdef CONFIG_BLK_DEV_UMC8672
|
|
|
|
extern int probe_umc8672;
|
|
extern int probe_umc8672;
|
|
-extern int umc8672_init(void);
|
|
|
|
-#endif
|
|
|
|
-#ifdef CONFIG_BLK_DEV_DTC2278
|
|
|
|
extern int probe_dtc2278;
|
|
extern int probe_dtc2278;
|
|
-extern int dtc2278_init(void);
|
|
|
|
-#endif
|
|
|
|
-#ifdef CONFIG_BLK_DEV_HT6560B
|
|
|
|
extern int probe_ht6560b;
|
|
extern int probe_ht6560b;
|
|
-extern int ht6560b_init(void);
|
|
|
|
-#endif
|
|
|
|
-#ifdef CONFIG_BLK_DEV_QD65XX
|
|
|
|
extern int probe_qd65xx;
|
|
extern int probe_qd65xx;
|
|
-extern int qd65xx_init(void);
|
|
|
|
-#endif
|
|
|
|
|
|
+extern int cmd640_vlb;
|
|
|
|
|
|
static int __initdata is_chipset_set[MAX_HWIFS];
|
|
static int __initdata is_chipset_set[MAX_HWIFS];
|
|
|
|
|
|
@@ -1458,11 +1442,8 @@ static int __init ide_setup(char *s)
|
|
#endif
|
|
#endif
|
|
#ifdef CONFIG_BLK_DEV_CMD640
|
|
#ifdef CONFIG_BLK_DEV_CMD640
|
|
case -14: /* "cmd640_vlb" */
|
|
case -14: /* "cmd640_vlb" */
|
|
- {
|
|
|
|
- extern int cmd640_vlb; /* flag for cmd640.c */
|
|
|
|
cmd640_vlb = 1;
|
|
cmd640_vlb = 1;
|
|
goto done;
|
|
goto done;
|
|
- }
|
|
|
|
#endif
|
|
#endif
|
|
#ifdef CONFIG_BLK_DEV_HT6560B
|
|
#ifdef CONFIG_BLK_DEV_HT6560B
|
|
case -13: /* "ht6560b" */
|
|
case -13: /* "ht6560b" */
|
|
@@ -1552,83 +1533,6 @@ done:
|
|
return 1;
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
|
|
-extern void __init pnpide_init(void);
|
|
|
|
-extern void __exit pnpide_exit(void);
|
|
|
|
-extern void __init h8300_ide_init(void);
|
|
|
|
-extern void __init mpc8xx_ide_probe(void);
|
|
|
|
-
|
|
|
|
-/*
|
|
|
|
- * probe_for_hwifs() finds/initializes "known" IDE interfaces
|
|
|
|
- */
|
|
|
|
-static void __init probe_for_hwifs (void)
|
|
|
|
-{
|
|
|
|
-#ifdef CONFIG_IDEPCI_PCIBUS_ORDER
|
|
|
|
- ide_scan_pcibus(ide_scan_direction);
|
|
|
|
-#endif
|
|
|
|
-
|
|
|
|
-#ifdef CONFIG_ETRAX_IDE
|
|
|
|
- {
|
|
|
|
- extern void init_e100_ide(void);
|
|
|
|
- init_e100_ide();
|
|
|
|
- }
|
|
|
|
-#endif /* CONFIG_ETRAX_IDE */
|
|
|
|
-#ifdef CONFIG_BLK_DEV_CMD640
|
|
|
|
- {
|
|
|
|
- extern void ide_probe_for_cmd640x(void);
|
|
|
|
- ide_probe_for_cmd640x();
|
|
|
|
- }
|
|
|
|
-#endif /* CONFIG_BLK_DEV_CMD640 */
|
|
|
|
-#ifdef CONFIG_BLK_DEV_IDE_PMAC
|
|
|
|
- {
|
|
|
|
- extern int pmac_ide_probe(void);
|
|
|
|
- (void)pmac_ide_probe();
|
|
|
|
- }
|
|
|
|
-#endif /* CONFIG_BLK_DEV_IDE_PMAC */
|
|
|
|
-#ifdef CONFIG_BLK_DEV_GAYLE
|
|
|
|
- {
|
|
|
|
- extern void gayle_init(void);
|
|
|
|
- gayle_init();
|
|
|
|
- }
|
|
|
|
-#endif /* CONFIG_BLK_DEV_GAYLE */
|
|
|
|
-#ifdef CONFIG_BLK_DEV_FALCON_IDE
|
|
|
|
- {
|
|
|
|
- extern void falconide_init(void);
|
|
|
|
- falconide_init();
|
|
|
|
- }
|
|
|
|
-#endif /* CONFIG_BLK_DEV_FALCON_IDE */
|
|
|
|
-#ifdef CONFIG_BLK_DEV_MAC_IDE
|
|
|
|
- {
|
|
|
|
- extern void macide_init(void);
|
|
|
|
- macide_init();
|
|
|
|
- }
|
|
|
|
-#endif /* CONFIG_BLK_DEV_MAC_IDE */
|
|
|
|
-#ifdef CONFIG_BLK_DEV_Q40IDE
|
|
|
|
- {
|
|
|
|
- extern void q40ide_init(void);
|
|
|
|
- q40ide_init();
|
|
|
|
- }
|
|
|
|
-#endif /* CONFIG_BLK_DEV_Q40IDE */
|
|
|
|
-#ifdef CONFIG_BLK_DEV_BUDDHA
|
|
|
|
- {
|
|
|
|
- extern void buddha_init(void);
|
|
|
|
- buddha_init();
|
|
|
|
- }
|
|
|
|
-#endif /* CONFIG_BLK_DEV_BUDDHA */
|
|
|
|
-#ifdef CONFIG_BLK_DEV_IDEPNP
|
|
|
|
- pnpide_init();
|
|
|
|
-#endif
|
|
|
|
-#ifdef CONFIG_H8300
|
|
|
|
- h8300_ide_init();
|
|
|
|
-#endif
|
|
|
|
-#ifdef BLK_DEV_MPC8xx_IDE
|
|
|
|
- mpc8xx_ide_probe();
|
|
|
|
-#endif
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-/*
|
|
|
|
- * Probe module
|
|
|
|
- */
|
|
|
|
-
|
|
|
|
EXPORT_SYMBOL(ide_lock);
|
|
EXPORT_SYMBOL(ide_lock);
|
|
|
|
|
|
static int ide_bus_match(struct device *dev, struct device_driver *drv)
|
|
static int ide_bus_match(struct device *dev, struct device_driver *drv)
|
|
@@ -1775,33 +1679,6 @@ static int __init ide_init(void)
|
|
|
|
|
|
proc_ide_create();
|
|
proc_ide_create();
|
|
|
|
|
|
-#ifdef CONFIG_IDE_ARM
|
|
|
|
- ide_arm_init();
|
|
|
|
-#endif
|
|
|
|
-#ifdef CONFIG_BLK_DEV_ALI14XX
|
|
|
|
- if (probe_ali14xx)
|
|
|
|
- (void)ali14xx_init();
|
|
|
|
-#endif
|
|
|
|
-#ifdef CONFIG_BLK_DEV_UMC8672
|
|
|
|
- if (probe_umc8672)
|
|
|
|
- (void)umc8672_init();
|
|
|
|
-#endif
|
|
|
|
-#ifdef CONFIG_BLK_DEV_DTC2278
|
|
|
|
- if (probe_dtc2278)
|
|
|
|
- (void)dtc2278_init();
|
|
|
|
-#endif
|
|
|
|
-#ifdef CONFIG_BLK_DEV_HT6560B
|
|
|
|
- if (probe_ht6560b)
|
|
|
|
- (void)ht6560b_init();
|
|
|
|
-#endif
|
|
|
|
-#ifdef CONFIG_BLK_DEV_QD65XX
|
|
|
|
- if (probe_qd65xx)
|
|
|
|
- (void)qd65xx_init();
|
|
|
|
-#endif
|
|
|
|
-
|
|
|
|
- /* Probe for special PCI and other "known" interface chipsets. */
|
|
|
|
- probe_for_hwifs();
|
|
|
|
-
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1837,10 +1714,6 @@ void __exit cleanup_module (void)
|
|
for (index = 0; index < MAX_HWIFS; ++index)
|
|
for (index = 0; index < MAX_HWIFS; ++index)
|
|
ide_unregister(index);
|
|
ide_unregister(index);
|
|
|
|
|
|
-#ifdef CONFIG_BLK_DEV_IDEPNP
|
|
|
|
- pnpide_exit();
|
|
|
|
-#endif
|
|
|
|
-
|
|
|
|
proc_ide_destroy();
|
|
proc_ide_destroy();
|
|
|
|
|
|
bus_unregister(&ide_bus_type);
|
|
bus_unregister(&ide_bus_type);
|