Răsfoiți Sursa

iio: accel: bmc150: Add OF device ID table

The driver doesn't have a struct of_device_id table but supported devices
are registered via Device Trees. This is working on the assumption that a
I2C device registered via OF will always match a legacy I2C device ID and
that the MODALIAS reported will always be of the form i2c:<device>.

But this could change in the future so the correct approach is to have an
OF device ID table if the devices are registered via OF.

The I2C device ID table entries have the .driver_data field set, but they
are not used in the driver so weren't set in the OF device table entries.

Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Javier Martinez Canillas 7 ani în urmă
părinte
comite
798c3c9b4c
1 a modificat fișierele cu 12 adăugiri și 0 ștergeri
  1. 12 0
      drivers/iio/accel/bmc150-accel-i2c.c

+ 12 - 0
drivers/iio/accel/bmc150-accel-i2c.c

@@ -81,9 +81,21 @@ static const struct i2c_device_id bmc150_accel_id[] = {
 
 
 MODULE_DEVICE_TABLE(i2c, bmc150_accel_id);
 MODULE_DEVICE_TABLE(i2c, bmc150_accel_id);
 
 
+static const struct of_device_id bmc150_accel_of_match[] = {
+	{ .compatible = "bosch,bmc150_accel" },
+	{ .compatible = "bosch,bmi055_accel" },
+	{ .compatible = "bosch,bma255" },
+	{ .compatible = "bosch,bma250e" },
+	{ .compatible = "bosch,bma222e" },
+	{ .compatible = "bosch,bma280" },
+	{ },
+};
+MODULE_DEVICE_TABLE(of, bmc150_accel_of_match);
+
 static struct i2c_driver bmc150_accel_driver = {
 static struct i2c_driver bmc150_accel_driver = {
 	.driver = {
 	.driver = {
 		.name	= "bmc150_accel_i2c",
 		.name	= "bmc150_accel_i2c",
+		.of_match_table = bmc150_accel_of_match,
 		.acpi_match_table = ACPI_PTR(bmc150_accel_acpi_match),
 		.acpi_match_table = ACPI_PTR(bmc150_accel_acpi_match),
 		.pm	= &bmc150_accel_pm_ops,
 		.pm	= &bmc150_accel_pm_ops,
 	},
 	},