snd_printk("unable to create I2C bus\n"); 
snd_printk(KERN_ERR "unable to create I2C bus\n"); 
static int __devinit snd_ice1712_ews_init(ice1712_t *ice){	int err;	akm4xxx_t *ak;	/* set the analog DACs */	switch (ice->eeprom.subvendor) {	case ICE1712_SUBDEVICE_EWX2496:		ice->num_total_dacs = 2;		ice->num_total_adcs = 2;		break;		case ICE1712_SUBDEVICE_EWS88MT:	case ICE1712_SUBDEVICE_EWS88MT_NEW:	case ICE1712_SUBDEVICE_PHASE88:		ice->num_total_dacs = 8;		ice->num_total_adcs = 8;		break;	case ICE1712_SUBDEVICE_EWS88D:		/* Note: not analog but ADAT I/O */		ice->num_total_dacs = 8;		ice->num_total_adcs = 8;		break;	case ICE1712_SUBDEVICE_DMX6FIRE:		ice->num_total_dacs = 6;		ice->num_total_adcs = 6;		break;	}	/* create i2c */	if ((err = snd_i2c_bus_create(ice->card, "ICE1712 GPIO 1", NULL, &ice->i2c)) < 0) {		snd_printk("unable to create I2C bus\n");		return err;	}	ice->i2c->private_data = ice;	ice->i2c->hw_ops.bit = &snd_ice1712_ewx_cs8427_bit_ops;	/* create i2c devices */	switch (ice->eeprom.subvendor) {	case ICE1712_SUBDEVICE_DMX6FIRE:		if ((err = snd_i2c_device_create(ice->i2c, "PCF9554", ICE1712_6FIRE_PCF9554_ADDR, &ice->spec.i2cdevs[EWS_I2C_6FIRE])) < 0) {			snd_printk("PCF9554 initialization failed\n");			return err;		}		snd_ice1712_6fire_write_pca(ice, PCF9554_REG_CONFIG, 0x80);		break;	case ICE1712_SUBDEVICE_EWS88MT:	case ICE1712_SUBDEVICE_EWS88MT_NEW:	case ICE1712_SUBDEVICE_PHASE88:		if ((err = snd_i2c_device_create(ice->i2c, "CS8404", ICE1712_EWS88MT_CS8404_ADDR, &ice->spec.i2cdevs[EWS_I2C_CS8404])) < 0)			return err;		if ((err = snd_i2c_device_create(ice->i2c, "PCF8574 (1st)", ICE1712_EWS88MT_INPUT_ADDR, &ice->spec.i2cdevs[EWS_I2C_PCF1])) < 0)			return err;		if ((err = snd_i2c_device_create(ice->i2c, "PCF8574 (2nd)", ICE1712_EWS88MT_OUTPUT_ADDR, &ice->spec.i2cdevs[EWS_I2C_PCF2])) < 0)			return err;		/* Check if the front module is connected */		if ((err = snd_ice1712_ews88mt_chip_select(ice, 0x0f)) < 0)			return err;		break;	case ICE1712_SUBDEVICE_EWS88D:		if ((err = snd_i2c_device_create(ice->i2c, "PCF8575", ICE1712_EWS88D_PCF_ADDR, &ice->spec.i2cdevs[EWS_I2C_88D])) < 0)			return err;		break;	}	/* set up SPDIF interface */	switch (ice->eeprom.subvendor) {	case ICE1712_SUBDEVICE_EWX2496:		if ((err = snd_ice1712_init_cs8427(ice, CS8427_BASE_ADDR)) < 0)			return err;		snd_cs8427_reg_write(ice->cs8427, CS8427_REG_RECVERRMASK, CS8427_UNLOCK | CS8427_CONF | CS8427_BIP | CS8427_PAR);		break;	case ICE1712_SUBDEVICE_DMX6FIRE:		if ((err = snd_ice1712_init_cs8427(ice, ICE1712_6FIRE_CS8427_ADDR)) < 0)			return err;		snd_cs8427_reg_write(ice->cs8427, CS8427_REG_RECVERRMASK, CS8427_UNLOCK | CS8427_CONF | CS8427_BIP | CS8427_PAR);		break;	case ICE1712_SUBDEVICE_EWS88MT:	case ICE1712_SUBDEVICE_EWS88MT_NEW:	case ICE1712_SUBDEVICE_PHASE88:	case ICE1712_SUBDEVICE_EWS88D:		/* set up CS8404 */		ice->spdif.ops.open = ews88_open_spdif;		ice->spdif.ops.setup_rate = ews88_setup_spdif;		ice->spdif.ops.default_get = ews88_spdif_default_get;		ice->spdif.ops.default_put = ews88_spdif_default_put;		ice->spdif.ops.stream_get = ews88_spdif_stream_get;		ice->spdif.ops.stream_put = ews88_spdif_stream_put;		/* Set spdif defaults */		snd_ice1712_ews_cs8404_spdif_write(ice, ice->spdif.cs8403_bits);		break;	}	/* no analog? */	switch (ice->eeprom.subvendor) {	case ICE1712_SUBDEVICE_EWS88D:		return 0;	}	/* analog section */	ak = ice->akm = kmalloc(sizeof(akm4xxx_t), GFP_KERNEL);	if (! ak)		return -ENOMEM;	ice->akm_codecs = 1;	switch (ice->eeprom.subvendor) {	case ICE1712_SUBDEVICE_EWS88MT:	case ICE1712_SUBDEVICE_EWS88MT_NEW:	case ICE1712_SUBDEVICE_PHASE88:		err = snd_ice1712_akm4xxx_init(ak, &akm_ews88mt, &akm_ews88mt_priv, ice);		break;	case ICE1712_SUBDEVICE_EWX2496:		err = snd_ice1712_akm4xxx_init(ak, &akm_ewx2496, &akm_ewx2496_priv, ice);		break;	case ICE1712_SUBDEVICE_DMX6FIRE:		err = snd_ice1712_akm4xxx_init(ak, &akm_6fire, &akm_6fire_priv, ice);		break;	default:		err = 0;	}	return err;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/99b359ba10a582148c6725f428a33ba5356dd993/ews.c/clean/sound/pci/ice1712/ews.c