Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

iio: potentiometer: mcp4018: Use i2c_get_match_data()

Replace of_device_get_match_data() and i2c_match_id() by i2c_get_match
_data() by making similar I2C and DT-based matching table.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Link: https://lore.kernel.org/r/20230723105209.175545-1-biju.das.jz@bp.renesas.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

authored by

Biju Das and committed by
Jonathan Cameron
b68adc0e 65659a8d

+19 -16
+19 -16
drivers/iio/potentiometer/mcp4018.c
··· 99 99 .write_raw = mcp4018_write_raw, 100 100 }; 101 101 102 + #define MCP4018_ID_TABLE(_name, cfg) { \ 103 + .name = _name, \ 104 + .driver_data = (kernel_ulong_t)&mcp4018_cfg[cfg], \ 105 + } 106 + 102 107 static const struct i2c_device_id mcp4018_id[] = { 103 - { "mcp4017-502", MCP4018_502 }, 104 - { "mcp4017-103", MCP4018_103 }, 105 - { "mcp4017-503", MCP4018_503 }, 106 - { "mcp4017-104", MCP4018_104 }, 107 - { "mcp4018-502", MCP4018_502 }, 108 - { "mcp4018-103", MCP4018_103 }, 109 - { "mcp4018-503", MCP4018_503 }, 110 - { "mcp4018-104", MCP4018_104 }, 111 - { "mcp4019-502", MCP4018_502 }, 112 - { "mcp4019-103", MCP4018_103 }, 113 - { "mcp4019-503", MCP4018_503 }, 114 - { "mcp4019-104", MCP4018_104 }, 115 - {} 108 + MCP4018_ID_TABLE("mcp4017-502", MCP4018_502), 109 + MCP4018_ID_TABLE("mcp4017-103", MCP4018_103), 110 + MCP4018_ID_TABLE("mcp4017-503", MCP4018_503), 111 + MCP4018_ID_TABLE("mcp4017-104", MCP4018_104), 112 + MCP4018_ID_TABLE("mcp4018-502", MCP4018_502), 113 + MCP4018_ID_TABLE("mcp4018-103", MCP4018_103), 114 + MCP4018_ID_TABLE("mcp4018-503", MCP4018_503), 115 + MCP4018_ID_TABLE("mcp4018-104", MCP4018_104), 116 + MCP4018_ID_TABLE("mcp4019-502", MCP4018_502), 117 + MCP4018_ID_TABLE("mcp4019-103", MCP4018_103), 118 + MCP4018_ID_TABLE("mcp4019-503", MCP4018_503), 119 + MCP4018_ID_TABLE("mcp4019-104", MCP4018_104), 120 + { /* sentinel */ } 116 121 }; 117 122 MODULE_DEVICE_TABLE(i2c, mcp4018_id); 118 123 ··· 162 157 i2c_set_clientdata(client, indio_dev); 163 158 data->client = client; 164 159 165 - data->cfg = device_get_match_data(dev); 166 - if (!data->cfg) 167 - data->cfg = &mcp4018_cfg[i2c_match_id(mcp4018_id, client)->driver_data]; 160 + data->cfg = i2c_get_match_data(client); 168 161 169 162 indio_dev->info = &mcp4018_info; 170 163 indio_dev->channels = &mcp4018_channel;