@ -20,51 +20,6 @@
# include <asm/io.h>
# include <asm/irq.h>
/**
* ide_match_hwif - find free ide_hwifs [ ] slot
* @ bootable : bootable flag
*
* Return the new hwif . If we are out of free slots return NULL .
*/
static ide_hwif_t * ide_match_hwif ( u8 bootable )
{
ide_hwif_t * hwif ;
int h ;
/*
* Claim an unassigned slot .
*
* Give preference to claiming other slots before claiming ide0 / ide1 ,
* just in case there ' s another interface yet - to - be - scanned
* which uses ports 1f 0 / 170 ( the ide0 / ide1 defaults ) .
*
* Unless there is a bootable card that does not use the standard
* ports 1f 0 / 170 ( the ide0 / ide1 defaults ) . The ( bootable ) flag .
*/
if ( bootable ) {
for ( h = 0 ; h < MAX_HWIFS ; + + h ) {
hwif = & ide_hwifs [ h ] ;
if ( hwif - > chipset = = ide_unknown )
return hwif ; /* pick an unused entry */
}
} else {
for ( h = 2 ; h < MAX_HWIFS ; + + h ) {
hwif = ide_hwifs + h ;
if ( hwif - > chipset = = ide_unknown )
return hwif ; /* pick an unused entry */
}
}
for ( h = 0 ; h < 2 & & h < MAX_HWIFS ; + + h ) {
hwif = ide_hwifs + h ;
if ( hwif - > chipset = = ide_unknown )
return hwif ; /* pick an unused entry */
}
return NULL ;
}
/**
* ide_setup_pci_baseregs - place a PCI IDE controller native
* @ dev : PCI device of interface to switch native
@ -320,7 +275,6 @@ static ide_hwif_t *ide_hwif_configure(struct pci_dev *dev,
{
unsigned long ctl = 0 , base = 0 ;
ide_hwif_t * hwif ;
u8 bootable = ( d - > host_flags & IDE_HFLAG_NON_BOOTABLE ) ? 0 : 1 ;
struct hw_regs_s hw ;
if ( ( d - > host_flags & IDE_HFLAG_ISA_PORTS ) = = 0 ) {
@ -346,7 +300,7 @@ static ide_hwif_t *ide_hwif_configure(struct pci_dev *dev,
base = port ? 0x170 : 0x1f0 ;
}
hwif = ide_match_hwif ( bootable ) ;
hwif = ide_find_port_slot ( d ) ;
if ( hwif = = NULL ) {
printk ( KERN_ERR " %s: too many IDE interfaces, no room in "
" table \n " , d - > name ) ;