mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
iio: adc: ti-adc081c: Simplify probe()
Simpilfy probe() by replacing of_device_get_match_data() and id lookup for retrieving match data by using i2c_get_match_data() by making similar OF/I2C/ACPI match tables. Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> Link: https://lore.kernel.org/r/20230902162633.50546-1-biju.das.jz@bp.renesas.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
17f961a655
commit
5793ddcf1f
@ -154,7 +154,6 @@ static void adc081c_reg_disable(void *reg)
|
||||
|
||||
static int adc081c_probe(struct i2c_client *client)
|
||||
{
|
||||
const struct i2c_device_id *id = i2c_client_get_device_id(client);
|
||||
struct iio_dev *iio;
|
||||
struct adc081c *adc;
|
||||
const struct adcxx1c_model *model;
|
||||
@ -163,10 +162,7 @@ static int adc081c_probe(struct i2c_client *client)
|
||||
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WORD_DATA))
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
if (dev_fwnode(&client->dev))
|
||||
model = device_get_match_data(&client->dev);
|
||||
else
|
||||
model = &adcxx1c_models[id->driver_data];
|
||||
model = i2c_get_match_data(client);
|
||||
|
||||
iio = devm_iio_device_alloc(&client->dev, sizeof(*adc));
|
||||
if (!iio)
|
||||
@ -207,9 +203,9 @@ static int adc081c_probe(struct i2c_client *client)
|
||||
}
|
||||
|
||||
static const struct i2c_device_id adc081c_id[] = {
|
||||
{ "adc081c", ADC081C },
|
||||
{ "adc101c", ADC101C },
|
||||
{ "adc121c", ADC121C },
|
||||
{ "adc081c", (kernel_ulong_t)&adcxx1c_models[ADC081C] },
|
||||
{ "adc101c", (kernel_ulong_t)&adcxx1c_models[ADC101C] },
|
||||
{ "adc121c", (kernel_ulong_t)&adcxx1c_models[ADC121C] },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, adc081c_id);
|
||||
|
Loading…
Reference in New Issue
Block a user