c413b9b94d
* Remove 'struct pci_dev *dev' argument from ide_hwif_setup_dma(). * Un-static ide_hwif_setup_dma() and add CONFIG_BLK_DEV_IDEDMA_PCI=n version. * Add 'const struct ide_port_info *d' argument to ide_device_add[_all](). * Factor out generic ports init from ide_pci_setup_ports() to ide_init_port(), move it to ide-probe.c and call it in in ide_device_add_all() instead of ide_pci_setup_ports(). * Move ->mate setup to ide_device_add_all() from ide_port_init(). * Add IDE_HFLAG_NO_AUTOTUNE host flag for host drivers that don't enable ->autotune currently. * Setup hwif->chipset in ide_init_port() but iff pi->chipset is set (to not override setup done by ide_hwif_configure()). * Add ETRAX host handling to ide_device_add_all(). * cmd640.c: set IDE_HFLAG_ABUSE_* also for CONFIG_BLK_DEV_CMD640_ENHANCED=n. * pmac.c: make pmac_ide_setup_dma() return an error value and move DMA masks setup to pmac_ide_setup_device(). * Add 'struct ide_port_info' instances to legacy host drivers, pass them to ide_device_add() calls and then remove open-coded ports initialization. Reviewed-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
36 lines
785 B
C
36 lines
785 B
C
/*
|
|
* generic/default IDE host driver
|
|
*
|
|
* Copyright (C) 2004 Bartlomiej Zolnierkiewicz
|
|
* This code was split off from ide.c. See it for original copyrights.
|
|
*
|
|
* May be copied or modified under the terms of the GNU General Public License.
|
|
*/
|
|
|
|
#include <linux/kernel.h>
|
|
#include <linux/init.h>
|
|
#include <linux/module.h>
|
|
#include <linux/ide.h>
|
|
|
|
static int __init ide_generic_init(void)
|
|
{
|
|
u8 idx[MAX_HWIFS];
|
|
int i;
|
|
|
|
if (ide_hwifs[0].io_ports[IDE_DATA_OFFSET])
|
|
ide_get_lock(NULL, NULL); /* for atari only */
|
|
|
|
for (i = 0; i < MAX_HWIFS; i++)
|
|
idx[i] = ide_hwifs[i].present ? 0xff : i;
|
|
|
|
ide_device_add_all(idx, NULL);
|
|
|
|
if (ide_hwifs[0].io_ports[IDE_DATA_OFFSET])
|
|
ide_release_lock(); /* for atari only */
|
|
|
|
return 0;
|
|
}
|
|
|
|
module_init(ide_generic_init);
|
|
|
|
MODULE_LICENSE("GPL");
|