static int flip_amp_ctl_probe(struct i2c_client *client, const struct i2c_device_id *id) { struct amp_data *data; struct i2c_adapter* adapter = client->adapter; int err; if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_WORD_DATA)){ err = -EOPNOTSUPP; return err; } if (msm_snd_debug & 1) printk(KERN_INFO "%s()\n", __FUNCTION__); data = kzalloc(sizeof (struct amp_data), GFP_KERNEL); if (NULL == data) { return -ENOMEM; } _data = data; data->client = client; i2c_set_clientdata(client, data); if (msm_snd_debug & 1) printk(KERN_INFO "%s chip found\n", client->name); set_amp_PowerDown(); return 0; }
static int flip_amp_ctl_probe(struct i2c_client *client, const struct i2c_device_id *id) { struct amp_data *data; struct i2c_adapter* adapter = client->adapter; int err; amp_pdata = client->dev.platform_data; if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_WORD_DATA)){ err = -EOPNOTSUPP; return err; } if (msm_snd_debug & 1) printk(KERN_INFO "%s()\n", __FUNCTION__); data = kzalloc(sizeof (struct amp_data), GFP_KERNEL); if (NULL == data) { return -ENOMEM; } _data = data; data->client = client; i2c_set_clientdata(client, data); if(amp_pdata->line_out) pAmpCalData = &_cal_lodata[ 0 ]; else pAmpCalData = &_cal_data[ 0 ]; if (msm_snd_debug & 1) printk(KERN_INFO "%s chip found\n", client->name); if(amp_pdata && amp_pdata->external_bypass_init){ amp_pdata->external_bypass_init(); } err = device_create_file(&client->dev, &dev_attr_pos); err = device_create_file(&client->dev, &dev_attr_gain); err = device_create_file(&client->dev, &dev_attr_i2cReg); err = device_create_file(&client->dev, &dev_attr_i2cData); set_amp_PowerDown(); return 0; }