* [PATCH 2/4] dt-bindings: iio: light: Document ltr501 light sensor bindings
2021-10-06 16:30 [PATCH 1/4] dt-bindings: vendor-prefixes: Document liteon vendor prefix Nikita Travkin
@ 2021-10-06 16:30 ` Nikita Travkin
2021-10-14 20:28 ` Rob Herring
2021-10-06 16:30 ` [PATCH 3/4] iio: light: ltr501: Add rudimentary regulator support Nikita Travkin
` (3 subsequent siblings)
4 siblings, 1 reply; 8+ messages in thread
From: Nikita Travkin @ 2021-10-06 16:30 UTC (permalink / raw)
To: jic23
Cc: lars, robh+dt, stephan, linux-iio, devicetree, linux-kernel,
Nikita Travkin
Add devicetree bindings for ltr501, ltr559 and ltr301.
Signed-off-by: Nikita Travkin <nikita@trvn.ru>
---
.../bindings/iio/light/liteon,ltr501.yaml | 51 +++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/light/liteon,ltr501.yaml
diff --git a/Documentation/devicetree/bindings/iio/light/liteon,ltr501.yaml b/Documentation/devicetree/bindings/iio/light/liteon,ltr501.yaml
new file mode 100644
index 000000000000..db0407bc9209
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/light/liteon,ltr501.yaml
@@ -0,0 +1,51 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/light/liteon,ltr501.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: LiteON LTR501 I2C Proximity and Light sensor
+
+maintainers:
+ - Nikita Travkin <nikita@trvn.ru>
+
+properties:
+ compatible:
+ enum:
+ - liteon,ltr501
+ - liteon,ltr559
+ - liteon,ltr301
+
+ reg:
+ maxItems: 1
+
+ vdd-supply: true
+ vddio-supply: true
+
+ interrupts:
+ maxItems: 1
+
+additionalProperties: false
+
+required:
+ - compatible
+ - reg
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ light-sensor@23 {
+ compatible = "liteon,ltr559";
+ reg = <0x23>;
+ vdd-supply = <&pm8916_l17>;
+ vddio-supply = <&pm8916_l6>;
+
+ interrupt-parent = <&msmgpio>;
+ interrupts = <115 IRQ_TYPE_EDGE_FALLING>;
+ };
+ };
--
2.30.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 2/4] dt-bindings: iio: light: Document ltr501 light sensor bindings
2021-10-06 16:30 ` [PATCH 2/4] dt-bindings: iio: light: Document ltr501 light sensor bindings Nikita Travkin
@ 2021-10-14 20:28 ` Rob Herring
0 siblings, 0 replies; 8+ messages in thread
From: Rob Herring @ 2021-10-14 20:28 UTC (permalink / raw)
To: Nikita Travkin
Cc: robh+dt, linux-iio, devicetree, linux-kernel, jic23, lars, stephan
On Wed, 06 Oct 2021 21:30:56 +0500, Nikita Travkin wrote:
> Add devicetree bindings for ltr501, ltr559 and ltr301.
>
> Signed-off-by: Nikita Travkin <nikita@trvn.ru>
> ---
> .../bindings/iio/light/liteon,ltr501.yaml | 51 +++++++++++++++++++
> 1 file changed, 51 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/iio/light/liteon,ltr501.yaml
>
Reviewed-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 3/4] iio: light: ltr501: Add rudimentary regulator support
2021-10-06 16:30 [PATCH 1/4] dt-bindings: vendor-prefixes: Document liteon vendor prefix Nikita Travkin
2021-10-06 16:30 ` [PATCH 2/4] dt-bindings: iio: light: Document ltr501 light sensor bindings Nikita Travkin
@ 2021-10-06 16:30 ` Nikita Travkin
2021-10-06 16:30 ` [PATCH 4/4] iio: light: ltr501: Add of_device_id table Nikita Travkin
` (2 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Nikita Travkin @ 2021-10-06 16:30 UTC (permalink / raw)
To: jic23
Cc: lars, robh+dt, stephan, linux-iio, devicetree, linux-kernel,
Nikita Travkin
On some platforms the supply regulators must be enabled before the
sensor can work. Add vdd and vddio regulators for the sensor and IO bus
power respectively.
Signed-off-by: Nikita Travkin <nikita@trvn.ru>
---
drivers/iio/light/ltr501.c | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/drivers/iio/light/ltr501.c b/drivers/iio/light/ltr501.c
index 1830221da48d..57851c8ef1c6 100644
--- a/drivers/iio/light/ltr501.c
+++ b/drivers/iio/light/ltr501.c
@@ -15,6 +15,7 @@
#include <linux/delay.h>
#include <linux/regmap.h>
#include <linux/acpi.h>
+#include <linux/regulator/consumer.h>
#include <linux/iio/iio.h>
#include <linux/iio/events.h>
@@ -151,6 +152,7 @@ struct ltr501_chip_info {
struct ltr501_data {
struct i2c_client *client;
+ struct regulator_bulk_data regulators[2];
struct mutex lock_als, lock_ps;
const struct ltr501_chip_info *chip_info;
u8 als_contr, ps_contr;
@@ -1379,6 +1381,13 @@ static const struct regmap_config ltr501_regmap_config = {
.volatile_reg = ltr501_is_volatile_reg,
};
+static void ltr501_disable_regulators(void *d)
+{
+ struct ltr501_data *data = d;
+
+ regulator_bulk_disable(ARRAY_SIZE(data->regulators), data->regulators);
+}
+
static int ltr501_powerdown(struct ltr501_data *data)
{
return ltr501_write_contr(data, data->als_contr &
@@ -1423,6 +1432,25 @@ static int ltr501_probe(struct i2c_client *client,
mutex_init(&data->lock_als);
mutex_init(&data->lock_ps);
+ data->regulators[0].supply = "vdd";
+ data->regulators[1].supply = "vddio";
+ ret = devm_regulator_bulk_get(&client->dev,
+ ARRAY_SIZE(data->regulators),
+ data->regulators);
+ if (ret)
+ return dev_err_probe(&client->dev, ret,
+ "Failed to get regulators\n");
+
+ ret = regulator_bulk_enable(ARRAY_SIZE(data->regulators),
+ data->regulators);
+ if (ret)
+ return ret;
+
+ ret = devm_add_action_or_reset(&client->dev,
+ ltr501_disable_regulators, data);
+ if (ret)
+ return ret;
+
data->reg_it = devm_regmap_field_alloc(&client->dev, regmap,
reg_field_it);
if (IS_ERR(data->reg_it)) {
--
2.30.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 4/4] iio: light: ltr501: Add of_device_id table
2021-10-06 16:30 [PATCH 1/4] dt-bindings: vendor-prefixes: Document liteon vendor prefix Nikita Travkin
2021-10-06 16:30 ` [PATCH 2/4] dt-bindings: iio: light: Document ltr501 light sensor bindings Nikita Travkin
2021-10-06 16:30 ` [PATCH 3/4] iio: light: ltr501: Add rudimentary regulator support Nikita Travkin
@ 2021-10-06 16:30 ` Nikita Travkin
2021-10-07 15:41 ` [PATCH 1/4] dt-bindings: vendor-prefixes: Document liteon vendor prefix Jonathan Cameron
2021-10-14 20:28 ` Rob Herring
4 siblings, 0 replies; 8+ messages in thread
From: Nikita Travkin @ 2021-10-06 16:30 UTC (permalink / raw)
To: jic23
Cc: lars, robh+dt, stephan, linux-iio, devicetree, linux-kernel,
Nikita Travkin
Add of_device_id table so the driver can be used on DT platforms without
relying on i2c_device_id fallback. (So DT schema validation is possible)
Signed-off-by: Nikita Travkin <nikita@trvn.ru>
---
drivers/iio/light/ltr501.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/iio/light/ltr501.c b/drivers/iio/light/ltr501.c
index 57851c8ef1c6..7e51aaac0bf8 100644
--- a/drivers/iio/light/ltr501.c
+++ b/drivers/iio/light/ltr501.c
@@ -1609,9 +1609,18 @@ static const struct i2c_device_id ltr501_id[] = {
};
MODULE_DEVICE_TABLE(i2c, ltr501_id);
+static const struct of_device_id ltr501_of_match[] = {
+ { .compatible = "liteon,ltr501", },
+ { .compatible = "liteon,ltr559", },
+ { .compatible = "liteon,ltr301", },
+ {}
+};
+MODULE_DEVICE_TABLE(of, ltr501_of_match);
+
static struct i2c_driver ltr501_driver = {
.driver = {
.name = LTR501_DRV_NAME,
+ .of_match_table = ltr501_of_match,
.pm = <r501_pm_ops,
.acpi_match_table = ACPI_PTR(ltr_acpi_match),
},
--
2.30.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 1/4] dt-bindings: vendor-prefixes: Document liteon vendor prefix
2021-10-06 16:30 [PATCH 1/4] dt-bindings: vendor-prefixes: Document liteon vendor prefix Nikita Travkin
` (2 preceding siblings ...)
2021-10-06 16:30 ` [PATCH 4/4] iio: light: ltr501: Add of_device_id table Nikita Travkin
@ 2021-10-07 15:41 ` Jonathan Cameron
2021-10-14 20:28 ` Rob Herring
4 siblings, 0 replies; 8+ messages in thread
From: Jonathan Cameron @ 2021-10-07 15:41 UTC (permalink / raw)
To: Nikita Travkin
Cc: lars, robh+dt, stephan, linux-iio, devicetree, linux-kernel
On Wed, 6 Oct 2021 21:30:55 +0500
Nikita Travkin <nikita@trvn.ru> wrote:
> Add vendor prefix for LITE-ON Technology Corp.
>
> Signed-off-by: Nikita Travkin <nikita@trvn.ru>
Series looks good to me. I'll leave some time for dt binding review though
before picking it up.
Thanks,
Jonathan
> ---
> Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> index 1d77f151555b..477a5cba16fe 100644
> --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
> +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
> @@ -659,6 +659,8 @@ patternProperties:
> description: Linux-specific binding
> "^linx,.*":
> description: Linx Technologies
> + "^liteon,.*":
> + description: LITE-ON Technology Corp.
> "^litex,.*":
> description: LiteX SoC builder
> "^lltc,.*":
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/4] dt-bindings: vendor-prefixes: Document liteon vendor prefix
2021-10-06 16:30 [PATCH 1/4] dt-bindings: vendor-prefixes: Document liteon vendor prefix Nikita Travkin
` (3 preceding siblings ...)
2021-10-07 15:41 ` [PATCH 1/4] dt-bindings: vendor-prefixes: Document liteon vendor prefix Jonathan Cameron
@ 2021-10-14 20:28 ` Rob Herring
2021-10-16 15:55 ` Jonathan Cameron
4 siblings, 1 reply; 8+ messages in thread
From: Rob Herring @ 2021-10-14 20:28 UTC (permalink / raw)
To: Nikita Travkin
Cc: lars, linux-iio, robh+dt, stephan, jic23, devicetree, linux-kernel
On Wed, 06 Oct 2021 21:30:55 +0500, Nikita Travkin wrote:
> Add vendor prefix for LITE-ON Technology Corp.
>
> Signed-off-by: Nikita Travkin <nikita@trvn.ru>
> ---
> Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
> 1 file changed, 2 insertions(+)
>
Acked-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/4] dt-bindings: vendor-prefixes: Document liteon vendor prefix
2021-10-14 20:28 ` Rob Herring
@ 2021-10-16 15:55 ` Jonathan Cameron
0 siblings, 0 replies; 8+ messages in thread
From: Jonathan Cameron @ 2021-10-16 15:55 UTC (permalink / raw)
To: Rob Herring
Cc: Nikita Travkin, lars, linux-iio, robh+dt, stephan, devicetree,
linux-kernel
On Thu, 14 Oct 2021 15:28:08 -0500
Rob Herring <robh@kernel.org> wrote:
> On Wed, 06 Oct 2021 21:30:55 +0500, Nikita Travkin wrote:
> > Add vendor prefix for LITE-ON Technology Corp.
> >
> > Signed-off-by: Nikita Travkin <nikita@trvn.ru>
> > ---
> > Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
> > 1 file changed, 2 insertions(+)
> >
>
> Acked-by: Rob Herring <robh@kernel.org>
Series applied to the togreg branch of iio.git which is initially pushed
out as testing for 0-day to see if it can find anything we missed.
Thanks,
Jonathan
^ permalink raw reply [flat|nested] 8+ messages in thread