iio: sx9500: add final devicetree support
authorChristoph Fritz <chf.fritz@googlemail.com>
Sat, 3 Sep 2016 10:30:00 +0000 (12:30 +0200)
committerJonathan Cameron <jic23@kernel.org>
Sat, 3 Sep 2016 14:26:28 +0000 (15:26 +0100)
This makes sx9500 driver usable on devicetree based platforms too.

Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Reviewed-by: Vlad Dogaru <ddvlad@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Documentation/devicetree/bindings/iio/proximity/sx9500.txt [new file with mode: 0644]
drivers/iio/proximity/sx9500.c

diff --git a/Documentation/devicetree/bindings/iio/proximity/sx9500.txt b/Documentation/devicetree/bindings/iio/proximity/sx9500.txt
new file mode 100644 (file)
index 0000000..b301dd2
--- /dev/null
@@ -0,0 +1,24 @@
+Semtech's SX9500 capacitive proximity button device driver
+
+Required properties:
+       - compatible: must be "semtech,sx9500"
+       - reg: i2c address where to find the device
+       - interrupt-parent : should be the phandle for the interrupt controller
+       - interrupts : the sole interrupt generated by the device
+
+       Refer to interrupt-controller/interrupts.txt for generic
+       interrupt client node bindings.
+
+Optional properties:
+       - reset-gpios: Reference to the GPIO connected to the device's active
+         low reset pin.
+
+Example:
+
+sx9500@28 {
+       compatible = "semtech,sx9500";
+       reg = <0x28>;
+       interrupt-parent = <&gpio2>;
+       interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
+       reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
+};
index 6f84f53..1f06282 100644 (file)
@@ -1025,6 +1025,12 @@ static const struct acpi_device_id sx9500_acpi_match[] = {
 };
 MODULE_DEVICE_TABLE(acpi, sx9500_acpi_match);
 
+static const struct of_device_id sx9500_of_match[] = {
+       { .compatible = "semtech,sx9500", },
+       { }
+};
+MODULE_DEVICE_TABLE(of, sx9500_of_match);
+
 static const struct i2c_device_id sx9500_id[] = {
        {"sx9500", 0},
        { },
@@ -1035,6 +1041,7 @@ static struct i2c_driver sx9500_driver = {
        .driver = {
                .name   = SX9500_DRIVER_NAME,
                .acpi_match_table = ACPI_PTR(sx9500_acpi_match),
+               .of_match_table = of_match_ptr(sx9500_of_match),
                .pm = &sx9500_pm_ops,
        },
        .probe          = sx9500_probe,