In order to support all the chip variants in dts, compatible should explicitly list all the variants and not only the base one. Signed-off-by: Angelo Compagnucci <angelo@xxxxxxxxxxxxxxxxxxxx> --- drivers/iio/adc/mcp3422.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/iio/adc/mcp3422.c b/drivers/iio/adc/mcp3422.c index 63de705..91d6be3 100644 --- a/drivers/iio/adc/mcp3422.c +++ b/drivers/iio/adc/mcp3422.c @@ -410,7 +410,14 @@ MODULE_DEVICE_TABLE(i2c, mcp3422_id); #ifdef CONFIG_OF static const struct of_device_id mcp3422_of_match[] = { + { .compatible = "mcp3421" }, { .compatible = "mcp3422" }, + { .compatible = "mcp3423" }, + { .compatible = "mcp3424" }, + { .compatible = "mcp3425" }, + { .compatible = "mcp3426" }, + { .compatible = "mcp3427" }, + { .compatible = "mcp3428" }, { } }; MODULE_DEVICE_TABLE(of, mcp3422_of_match); -- 2.7.4