/* If this function returns TRUE, the local shadow copy of the configuration is also updated. If the device function is currently disabled, only the local shadow copy is updated and the actual device function will be updated if/when it is enabled. */
unsigned int __init SMC37c669_configure_device(unsigned int func, int port, int irq, int drq)
/* If this function returns TRUE, the local shadow copy of the configuration is also updated. If the device function is currently disabled, only the local shadow copy is updated and the actual device function will be updated if/when it is enabled. */
unsigned int __init SMC37c669_configure_device(unsigned int func, int port, int irq, int drq)
{
    struct DEVICE_CONFIG *cp;
    if ( ( cp = SMC37c669_get_config ( func ) ) != NULL ) {
    	if ( ( drq & ~0xFF ) == 0 ) {
	    cp->drq = drq;
	}
	if ( ( irq & ~0xFF ) == 0 ) {
	    cp->irq = irq;
	}
	if ( ( port & ~0xFFFF ) == 0 ) {
	    cp->port1 = port;
	}
	if ( SMC37c669_is_device_enabled( func ) ) {
	    SMC37c669_enable_device( func );
	}
	return TRUE;
    }
    return FALSE;
}