mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-03 07:38:10 +00:00
iio: accel: mma8452: Convert enum->pointer for data in the ID table
Convert enum->pointer for data in the ID table, so that device_get_match_data() can do match against OF/ACPI/I2C tables, once i2c bus type match support added to it. Replace enum->struct *mma_chip_info for data in the ID table and simplify mma8452_probe() by replacing device_get_match_data() with i2c_get_match_data(). Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/r/20230818184033.335502-2-biju.das.jz@bp.renesas.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
974a6c27b4
commit
0f8eaeda76
1 changed files with 10 additions and 16 deletions
|
@ -1547,7 +1547,6 @@ MODULE_DEVICE_TABLE(of, mma8452_dt_ids);
|
|||
|
||||
static int mma8452_probe(struct i2c_client *client)
|
||||
{
|
||||
const struct i2c_device_id *id = i2c_client_get_device_id(client);
|
||||
struct mma8452_data *data;
|
||||
struct iio_dev *indio_dev;
|
||||
int ret;
|
||||
|
@ -1560,15 +1559,10 @@ static int mma8452_probe(struct i2c_client *client)
|
|||
data->client = client;
|
||||
mutex_init(&data->lock);
|
||||
|
||||
data->chip_info = device_get_match_data(&client->dev);
|
||||
if (!data->chip_info) {
|
||||
if (id) {
|
||||
data->chip_info = &mma_chip_info_table[id->driver_data];
|
||||
} else {
|
||||
dev_err(&client->dev, "unknown device model\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
}
|
||||
data->chip_info = i2c_get_match_data(client);
|
||||
if (!data->chip_info)
|
||||
return dev_err_probe(&client->dev, -ENODEV,
|
||||
"unknown device model\n");
|
||||
|
||||
ret = iio_read_mount_matrix(&client->dev, &data->orientation);
|
||||
if (ret)
|
||||
|
@ -1830,12 +1824,12 @@ static const struct dev_pm_ops mma8452_pm_ops = {
|
|||
};
|
||||
|
||||
static const struct i2c_device_id mma8452_id[] = {
|
||||
{ "mma8451", mma8451 },
|
||||
{ "mma8452", mma8452 },
|
||||
{ "mma8453", mma8453 },
|
||||
{ "mma8652", mma8652 },
|
||||
{ "mma8653", mma8653 },
|
||||
{ "fxls8471", fxls8471 },
|
||||
{ "mma8451", (kernel_ulong_t)&mma_chip_info_table[mma8451] },
|
||||
{ "mma8452", (kernel_ulong_t)&mma_chip_info_table[mma8452] },
|
||||
{ "mma8453", (kernel_ulong_t)&mma_chip_info_table[mma8453] },
|
||||
{ "mma8652", (kernel_ulong_t)&mma_chip_info_table[mma8652] },
|
||||
{ "mma8653", (kernel_ulong_t)&mma_chip_info_table[mma8653] },
|
||||
{ "fxls8471", (kernel_ulong_t)&mma_chip_info_table[fxls8471] },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, mma8452_id);
|
||||
|
|
Loading…
Reference in a new issue