Add compatible strings for these devices in the existing ltc2471 driver. The only difference between 2461/2463 and 2471/2473 is the output rate of fixed 60sps and selectible 208/833sps respectively. The driver does not implement changing the sampling rate so the new devices are fully code comptible with this driver. Signed-off-by: Darius Berghe <darius.berghe@xxxxxxxxxx> --- drivers/iio/adc/ltc2471.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/drivers/iio/adc/ltc2471.c b/drivers/iio/adc/ltc2471.c index 0e5cdb43a943..098765882bba 100644 --- a/drivers/iio/adc/ltc2471.c +++ b/drivers/iio/adc/ltc2471.c @@ -1,7 +1,9 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * Driver for Linear Technology LTC2471 and LTC2473 voltage monitors + * Driver for Linear Technology LTC2471, LTC2473, LTC2461 and LTC2463 voltage + * monitors. * The LTC2473 is identical to the 2471, but reports a differential signal. + * The LTC2463 is identical to the 2461, but reports a differential signal. * * Copyright (C) 2017 Topic Embedded Products * Author: Mike Looijmans <mike.looijmans@xxxxxxxx> @@ -17,6 +19,8 @@ enum ltc2471_chips { ltc2471, ltc2473, + ltc2461, + ltc2463 }; struct ltc2471_data { @@ -120,7 +124,7 @@ static int ltc2471_i2c_probe(struct i2c_client *client, indio_dev->name = id->name; indio_dev->info = <c2471_info; indio_dev->modes = INDIO_DIRECT_MODE; - if (id->driver_data == ltc2473) + if (id->driver_data == ltc2473 || id->driver_data == ltc2463) indio_dev->channels = ltc2473_channel; else indio_dev->channels = ltc2471_channel; @@ -139,6 +143,8 @@ static int ltc2471_i2c_probe(struct i2c_client *client, static const struct i2c_device_id ltc2471_i2c_id[] = { { "ltc2471", ltc2471 }, { "ltc2473", ltc2473 }, + { "ltc2461", ltc2461 }, + { "ltc2463", ltc2463 }, {} }; MODULE_DEVICE_TABLE(i2c, ltc2471_i2c_id); @@ -146,6 +152,8 @@ MODULE_DEVICE_TABLE(i2c, ltc2471_i2c_id); static const struct of_device_id ltc2471_of_match[] = { { .compatible = "adi,ltc2471" }, { .compatible = "adi,ltc2473" }, + { .compatible = "adi,ltc2461" }, + { .compatible = "adi,ltc2463" }, {} }; MODULE_DEVICE_TABLE(of, ltc2471_of_match); @@ -161,6 +169,6 @@ static struct i2c_driver ltc2471_i2c_driver = { module_i2c_driver(ltc2471_i2c_driver); -MODULE_DESCRIPTION("LTC2471/LTC2473 ADC driver"); +MODULE_DESCRIPTION("LTC2471/LTC2473/LTC2461/LTC2463 ADC driver"); MODULE_AUTHOR("Topic Embedded Products"); MODULE_LICENSE("GPL v2"); -- 2.26.2