Commit 0f8eaeda authored by Biju Das's avatar Biju Das Committed by Jonathan Cameron

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: default avatarBiju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20230818184033.335502-2-biju.das.jz@bp.renesas.comSigned-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent 974a6c27
...@@ -1547,7 +1547,6 @@ MODULE_DEVICE_TABLE(of, mma8452_dt_ids); ...@@ -1547,7 +1547,6 @@ MODULE_DEVICE_TABLE(of, mma8452_dt_ids);
static int mma8452_probe(struct i2c_client *client) 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 mma8452_data *data;
struct iio_dev *indio_dev; struct iio_dev *indio_dev;
int ret; int ret;
...@@ -1560,15 +1559,10 @@ static int mma8452_probe(struct i2c_client *client) ...@@ -1560,15 +1559,10 @@ static int mma8452_probe(struct i2c_client *client)
data->client = client; data->client = client;
mutex_init(&data->lock); mutex_init(&data->lock);
data->chip_info = device_get_match_data(&client->dev); data->chip_info = i2c_get_match_data(client);
if (!data->chip_info) { if (!data->chip_info)
if (id) { return dev_err_probe(&client->dev, -ENODEV,
data->chip_info = &mma_chip_info_table[id->driver_data]; "unknown device model\n");
} else {
dev_err(&client->dev, "unknown device model\n");
return -ENODEV;
}
}
ret = iio_read_mount_matrix(&client->dev, &data->orientation); ret = iio_read_mount_matrix(&client->dev, &data->orientation);
if (ret) if (ret)
...@@ -1830,12 +1824,12 @@ static const struct dev_pm_ops mma8452_pm_ops = { ...@@ -1830,12 +1824,12 @@ static const struct dev_pm_ops mma8452_pm_ops = {
}; };
static const struct i2c_device_id mma8452_id[] = { static const struct i2c_device_id mma8452_id[] = {
{ "mma8451", mma8451 }, { "mma8451", (kernel_ulong_t)&mma_chip_info_table[mma8451] },
{ "mma8452", mma8452 }, { "mma8452", (kernel_ulong_t)&mma_chip_info_table[mma8452] },
{ "mma8453", mma8453 }, { "mma8453", (kernel_ulong_t)&mma_chip_info_table[mma8453] },
{ "mma8652", mma8652 }, { "mma8652", (kernel_ulong_t)&mma_chip_info_table[mma8652] },
{ "mma8653", mma8653 }, { "mma8653", (kernel_ulong_t)&mma_chip_info_table[mma8653] },
{ "fxls8471", fxls8471 }, { "fxls8471", (kernel_ulong_t)&mma_chip_info_table[fxls8471] },
{ } { }
}; };
MODULE_DEVICE_TABLE(i2c, mma8452_id); MODULE_DEVICE_TABLE(i2c, mma8452_id);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment