linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v7 0/6]  ad5820: Multiple fixes
@ 2019-10-07 13:20 Ricardo Ribalda Delgado
  2019-10-07 13:20 ` [PATCH v7 1/6] ad5820: Define entity function Ricardo Ribalda Delgado
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: Ricardo Ribalda Delgado @ 2019-10-07 13:20 UTC (permalink / raw)
  To: Pavel Machek, Sakari Ailus, Mauro Carvalho Chehab, linux-media,
	linux-kernel
  Cc: Ricardo Ribalda Delgado

-Support for enable-pin, of-autoload, enable-gpios and ad5821 and ad5823

For some reason these patchset was lost in translation for a year ;)

v7: Rebase on current media/master


Ricardo Ribalda Delgado (6):
  media: ad5820: Define entity function
  media: ad5820: DT new optional field enable-gpios
  media: ad5820: Add support for enable pin
  media: ad5820: Add support for of-autoload
  media: ad5820: DT new compatible devices
  media: ad5820: Add support for ad5821 and ad5823

 .../devicetree/bindings/media/i2c/ad5820.txt  | 11 +++++-
 drivers/media/i2c/Kconfig                     |  2 +-
 drivers/media/i2c/ad5820.c                    | 35 ++++++++++++++++---
 3 files changed, 42 insertions(+), 6 deletions(-)

-- 
2.23.0


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH v7 1/6] ad5820: Define entity function
  2019-10-07 13:20 [PATCH v7 0/6] ad5820: Multiple fixes Ricardo Ribalda Delgado
@ 2019-10-07 13:20 ` Ricardo Ribalda Delgado
  2019-10-07 13:20 ` [PATCH v7 1/6] media: " Ricardo Ribalda Delgado
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Ricardo Ribalda Delgado @ 2019-10-07 13:20 UTC (permalink / raw)
  To: Pavel Machek, Sakari Ailus, Mauro Carvalho Chehab, linux-media,
	linux-kernel
  Cc: Ricardo Ribalda Delgado, Laurent Pinchart

Without this patch, media_device_register_entity throws a warning:

dev_warn(mdev->dev,
	 "Entity type for entity %s was not initialized!\n",
	 entity->name);

Signed-off-by: Ricardo Ribalda Delgado <ribalda@kernel.org>
Acked-by: Pavel Machek <pavel@ucw.cz>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 drivers/media/i2c/ad5820.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/i2c/ad5820.c b/drivers/media/i2c/ad5820.c
index 925c171e7797..7a49651f4d1f 100644
--- a/drivers/media/i2c/ad5820.c
+++ b/drivers/media/i2c/ad5820.c
@@ -309,6 +309,7 @@ static int ad5820_probe(struct i2c_client *client,
 	v4l2_i2c_subdev_init(&coil->subdev, client, &ad5820_ops);
 	coil->subdev.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
 	coil->subdev.internal_ops = &ad5820_internal_ops;
+	coil->subdev.entity.function = MEDIA_ENT_F_LENS;
 	strscpy(coil->subdev.name, "ad5820 focus", sizeof(coil->subdev.name));
 
 	ret = media_entity_pads_init(&coil->subdev.entity, 0, NULL);
-- 
2.23.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v7 1/6] media: ad5820: Define entity function
  2019-10-07 13:20 [PATCH v7 0/6] ad5820: Multiple fixes Ricardo Ribalda Delgado
  2019-10-07 13:20 ` [PATCH v7 1/6] ad5820: Define entity function Ricardo Ribalda Delgado
@ 2019-10-07 13:20 ` Ricardo Ribalda Delgado
  2019-10-07 13:20 ` [PATCH v7 2/6] ad5820: DT new optional field enable-gpios Ricardo Ribalda Delgado
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Ricardo Ribalda Delgado @ 2019-10-07 13:20 UTC (permalink / raw)
  To: Pavel Machek, Sakari Ailus, Mauro Carvalho Chehab, linux-media,
	linux-kernel
  Cc: Ricardo Ribalda Delgado, Laurent Pinchart

Without this patch, media_device_register_entity throws a warning:

dev_warn(mdev->dev,
	 "Entity type for entity %s was not initialized!\n",
	 entity->name);

Signed-off-by: Ricardo Ribalda Delgado <ribalda@kernel.org>
Acked-by: Pavel Machek <pavel@ucw.cz>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 drivers/media/i2c/ad5820.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/i2c/ad5820.c b/drivers/media/i2c/ad5820.c
index 925c171e7797..7a49651f4d1f 100644
--- a/drivers/media/i2c/ad5820.c
+++ b/drivers/media/i2c/ad5820.c
@@ -309,6 +309,7 @@ static int ad5820_probe(struct i2c_client *client,
 	v4l2_i2c_subdev_init(&coil->subdev, client, &ad5820_ops);
 	coil->subdev.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
 	coil->subdev.internal_ops = &ad5820_internal_ops;
+	coil->subdev.entity.function = MEDIA_ENT_F_LENS;
 	strscpy(coil->subdev.name, "ad5820 focus", sizeof(coil->subdev.name));
 
 	ret = media_entity_pads_init(&coil->subdev.entity, 0, NULL);
-- 
2.23.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v7 2/6] ad5820: DT new optional field enable-gpios
  2019-10-07 13:20 [PATCH v7 0/6] ad5820: Multiple fixes Ricardo Ribalda Delgado
  2019-10-07 13:20 ` [PATCH v7 1/6] ad5820: Define entity function Ricardo Ribalda Delgado
  2019-10-07 13:20 ` [PATCH v7 1/6] media: " Ricardo Ribalda Delgado
@ 2019-10-07 13:20 ` Ricardo Ribalda Delgado
  2019-10-07 13:20 ` [PATCH v7 2/6] media: " Ricardo Ribalda Delgado
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Ricardo Ribalda Delgado @ 2019-10-07 13:20 UTC (permalink / raw)
  To: Pavel Machek, Sakari Ailus, Mauro Carvalho Chehab, linux-media,
	linux-kernel
  Cc: Ricardo Ribalda Delgado, devicetree, Laurent Pinchart, Rob Herring

Document new enable-gpio field. It can be used to disable the part
without turning down its regulator.

Cc: devicetree@vger.kernel.org
Signed-off-by: Ricardo Ribalda Delgado <ribalda@kernel.org>
Acked-by: Pavel Machek <pavel@ucw.cz>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Rob Herring <robh@kernel.org>
---
 Documentation/devicetree/bindings/media/i2c/ad5820.txt | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/Documentation/devicetree/bindings/media/i2c/ad5820.txt b/Documentation/devicetree/bindings/media/i2c/ad5820.txt
index 5940ca11c021..db596e8eb0ba 100644
--- a/Documentation/devicetree/bindings/media/i2c/ad5820.txt
+++ b/Documentation/devicetree/bindings/media/i2c/ad5820.txt
@@ -8,6 +8,11 @@ Required Properties:
 
   - VANA-supply: supply of voltage for VANA pin
 
+Optional properties:
+
+   - enable-gpios : GPIO spec for the XSHUTDOWN pin. The XSHUTDOWN signal is
+active low, a high level on the pin enables the device.
+
 Example:
 
        ad5820: coil@c {
@@ -15,5 +20,6 @@ Example:
                reg = <0x0c>;
 
                VANA-supply = <&vaux4>;
+               enable-gpios = <&msmgpio 26 GPIO_ACTIVE_HIGH>;
        };
 
-- 
2.23.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v7 2/6] media: ad5820: DT new optional field enable-gpios
  2019-10-07 13:20 [PATCH v7 0/6] ad5820: Multiple fixes Ricardo Ribalda Delgado
                   ` (2 preceding siblings ...)
  2019-10-07 13:20 ` [PATCH v7 2/6] ad5820: DT new optional field enable-gpios Ricardo Ribalda Delgado
@ 2019-10-07 13:20 ` Ricardo Ribalda Delgado
  2019-10-07 13:20 ` [PATCH v7 3/6] ad5820: Add support for enable pin Ricardo Ribalda Delgado
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Ricardo Ribalda Delgado @ 2019-10-07 13:20 UTC (permalink / raw)
  To: Pavel Machek, Sakari Ailus, Mauro Carvalho Chehab, linux-media,
	linux-kernel
  Cc: Ricardo Ribalda Delgado, devicetree, Laurent Pinchart, Rob Herring

Document new enable-gpio field. It can be used to disable the part
without turning down its regulator.

Cc: devicetree@vger.kernel.org
Signed-off-by: Ricardo Ribalda Delgado <ribalda@kernel.org>
Acked-by: Pavel Machek <pavel@ucw.cz>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Rob Herring <robh@kernel.org>
---
 Documentation/devicetree/bindings/media/i2c/ad5820.txt | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/Documentation/devicetree/bindings/media/i2c/ad5820.txt b/Documentation/devicetree/bindings/media/i2c/ad5820.txt
index 5940ca11c021..db596e8eb0ba 100644
--- a/Documentation/devicetree/bindings/media/i2c/ad5820.txt
+++ b/Documentation/devicetree/bindings/media/i2c/ad5820.txt
@@ -8,6 +8,11 @@ Required Properties:
 
   - VANA-supply: supply of voltage for VANA pin
 
+Optional properties:
+
+   - enable-gpios : GPIO spec for the XSHUTDOWN pin. The XSHUTDOWN signal is
+active low, a high level on the pin enables the device.
+
 Example:
 
        ad5820: coil@c {
@@ -15,5 +20,6 @@ Example:
                reg = <0x0c>;
 
                VANA-supply = <&vaux4>;
+               enable-gpios = <&msmgpio 26 GPIO_ACTIVE_HIGH>;
        };
 
-- 
2.23.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v7 3/6] ad5820: Add support for enable pin
  2019-10-07 13:20 [PATCH v7 0/6] ad5820: Multiple fixes Ricardo Ribalda Delgado
                   ` (3 preceding siblings ...)
  2019-10-07 13:20 ` [PATCH v7 2/6] media: " Ricardo Ribalda Delgado
@ 2019-10-07 13:20 ` Ricardo Ribalda Delgado
  2019-10-07 13:20 ` [PATCH v7 3/6] media: " Ricardo Ribalda Delgado
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Ricardo Ribalda Delgado @ 2019-10-07 13:20 UTC (permalink / raw)
  To: Pavel Machek, Sakari Ailus, Mauro Carvalho Chehab, linux-media,
	linux-kernel
  Cc: Ricardo Ribalda Delgado

This patch adds support for a programmable enable pin. It can be used in
situations where the ANA-vcc is not configurable (dummy-regulator), or
just to have a more fine control of the power saving.

The use of the enable pin is optional.

Signed-off-by: Ricardo Ribalda Delgado <ribalda@kernel.org>
Acked-by: Pavel Machek <pavel@ucw.cz>
---
 drivers/media/i2c/Kconfig  |  2 +-
 drivers/media/i2c/ad5820.c | 17 +++++++++++++++++
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig
index 78dc64d7b0e7..30d460844dff 100644
--- a/drivers/media/i2c/Kconfig
+++ b/drivers/media/i2c/Kconfig
@@ -975,7 +975,7 @@ if MEDIA_CAMERA_SUPPORT
 
 config VIDEO_AD5820
 	tristate "AD5820 lens voice coil support"
-	depends on I2C && VIDEO_V4L2 && MEDIA_CONTROLLER
+	depends on GPIOLIB && I2C && VIDEO_V4L2 && MEDIA_CONTROLLER
 	help
 	  This is a driver for the AD5820 camera lens voice coil.
 	  It is used for example in Nokia N900 (RX-51).
diff --git a/drivers/media/i2c/ad5820.c b/drivers/media/i2c/ad5820.c
index 7a49651f4d1f..76aab651f217 100644
--- a/drivers/media/i2c/ad5820.c
+++ b/drivers/media/i2c/ad5820.c
@@ -19,6 +19,7 @@
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/regulator/consumer.h>
+#include <linux/gpio/consumer.h>
 
 #include <media/v4l2-ctrls.h>
 #include <media/v4l2-device.h>
@@ -47,6 +48,8 @@ struct ad5820_device {
 	u32 focus_ramp_time;
 	u32 focus_ramp_mode;
 
+	struct gpio_desc *enable_gpio;
+
 	struct mutex power_lock;
 	int power_count;
 
@@ -114,6 +117,8 @@ static int ad5820_power_off(struct ad5820_device *coil, bool standby)
 		ret = ad5820_update_hw(coil);
 	}
 
+	gpiod_set_value_cansleep(coil->enable_gpio, 0);
+
 	ret2 = regulator_disable(coil->vana);
 	if (ret)
 		return ret;
@@ -128,6 +133,8 @@ static int ad5820_power_on(struct ad5820_device *coil, bool restore)
 	if (ret < 0)
 		return ret;
 
+	gpiod_set_value_cansleep(coil->enable_gpio, 1);
+
 	if (restore) {
 		/* Restore the hardware settings. */
 		coil->standby = false;
@@ -138,6 +145,7 @@ static int ad5820_power_on(struct ad5820_device *coil, bool restore)
 	return 0;
 
 fail:
+	gpiod_set_value_cansleep(coil->enable_gpio, 0);
 	coil->standby = true;
 	regulator_disable(coil->vana);
 
@@ -304,6 +312,15 @@ static int ad5820_probe(struct i2c_client *client,
 		return ret;
 	}
 
+	coil->enable_gpio = devm_gpiod_get_optional(&client->dev, "enable",
+						    GPIOD_OUT_LOW);
+	if (IS_ERR(coil->enable_gpio)) {
+		ret = PTR_ERR(coil->enable_gpio);
+		if (ret != -EPROBE_DEFER)
+			dev_err(&client->dev, "could not get enable gpio\n");
+		return ret;
+	}
+
 	mutex_init(&coil->power_lock);
 
 	v4l2_i2c_subdev_init(&coil->subdev, client, &ad5820_ops);
-- 
2.23.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v7 3/6] media: ad5820: Add support for enable pin
  2019-10-07 13:20 [PATCH v7 0/6] ad5820: Multiple fixes Ricardo Ribalda Delgado
                   ` (4 preceding siblings ...)
  2019-10-07 13:20 ` [PATCH v7 3/6] ad5820: Add support for enable pin Ricardo Ribalda Delgado
@ 2019-10-07 13:20 ` Ricardo Ribalda Delgado
  2019-10-07 13:20 ` [PATCH v7 4/6] ad5820: Add support for of-autoload Ricardo Ribalda Delgado
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Ricardo Ribalda Delgado @ 2019-10-07 13:20 UTC (permalink / raw)
  To: Pavel Machek, Sakari Ailus, Mauro Carvalho Chehab, linux-media,
	linux-kernel
  Cc: Ricardo Ribalda Delgado

This patch adds support for a programmable enable pin. It can be used in
situations where the ANA-vcc is not configurable (dummy-regulator), or
just to have a more fine control of the power saving.

The use of the enable pin is optional.

Signed-off-by: Ricardo Ribalda Delgado <ribalda@kernel.org>
Acked-by: Pavel Machek <pavel@ucw.cz>
---
 drivers/media/i2c/Kconfig  |  2 +-
 drivers/media/i2c/ad5820.c | 17 +++++++++++++++++
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig
index 78dc64d7b0e7..30d460844dff 100644
--- a/drivers/media/i2c/Kconfig
+++ b/drivers/media/i2c/Kconfig
@@ -975,7 +975,7 @@ if MEDIA_CAMERA_SUPPORT
 
 config VIDEO_AD5820
 	tristate "AD5820 lens voice coil support"
-	depends on I2C && VIDEO_V4L2 && MEDIA_CONTROLLER
+	depends on GPIOLIB && I2C && VIDEO_V4L2 && MEDIA_CONTROLLER
 	help
 	  This is a driver for the AD5820 camera lens voice coil.
 	  It is used for example in Nokia N900 (RX-51).
diff --git a/drivers/media/i2c/ad5820.c b/drivers/media/i2c/ad5820.c
index 7a49651f4d1f..76aab651f217 100644
--- a/drivers/media/i2c/ad5820.c
+++ b/drivers/media/i2c/ad5820.c
@@ -19,6 +19,7 @@
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/regulator/consumer.h>
+#include <linux/gpio/consumer.h>
 
 #include <media/v4l2-ctrls.h>
 #include <media/v4l2-device.h>
@@ -47,6 +48,8 @@ struct ad5820_device {
 	u32 focus_ramp_time;
 	u32 focus_ramp_mode;
 
+	struct gpio_desc *enable_gpio;
+
 	struct mutex power_lock;
 	int power_count;
 
@@ -114,6 +117,8 @@ static int ad5820_power_off(struct ad5820_device *coil, bool standby)
 		ret = ad5820_update_hw(coil);
 	}
 
+	gpiod_set_value_cansleep(coil->enable_gpio, 0);
+
 	ret2 = regulator_disable(coil->vana);
 	if (ret)
 		return ret;
@@ -128,6 +133,8 @@ static int ad5820_power_on(struct ad5820_device *coil, bool restore)
 	if (ret < 0)
 		return ret;
 
+	gpiod_set_value_cansleep(coil->enable_gpio, 1);
+
 	if (restore) {
 		/* Restore the hardware settings. */
 		coil->standby = false;
@@ -138,6 +145,7 @@ static int ad5820_power_on(struct ad5820_device *coil, bool restore)
 	return 0;
 
 fail:
+	gpiod_set_value_cansleep(coil->enable_gpio, 0);
 	coil->standby = true;
 	regulator_disable(coil->vana);
 
@@ -304,6 +312,15 @@ static int ad5820_probe(struct i2c_client *client,
 		return ret;
 	}
 
+	coil->enable_gpio = devm_gpiod_get_optional(&client->dev, "enable",
+						    GPIOD_OUT_LOW);
+	if (IS_ERR(coil->enable_gpio)) {
+		ret = PTR_ERR(coil->enable_gpio);
+		if (ret != -EPROBE_DEFER)
+			dev_err(&client->dev, "could not get enable gpio\n");
+		return ret;
+	}
+
 	mutex_init(&coil->power_lock);
 
 	v4l2_i2c_subdev_init(&coil->subdev, client, &ad5820_ops);
-- 
2.23.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v7 4/6] ad5820: Add support for of-autoload
  2019-10-07 13:20 [PATCH v7 0/6] ad5820: Multiple fixes Ricardo Ribalda Delgado
                   ` (5 preceding siblings ...)
  2019-10-07 13:20 ` [PATCH v7 3/6] media: " Ricardo Ribalda Delgado
@ 2019-10-07 13:20 ` Ricardo Ribalda Delgado
  2019-10-07 13:20 ` [PATCH v7 4/6] media: " Ricardo Ribalda Delgado
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Ricardo Ribalda Delgado @ 2019-10-07 13:20 UTC (permalink / raw)
  To: Pavel Machek, Sakari Ailus, Mauro Carvalho Chehab, linux-media,
	linux-kernel
  Cc: Ricardo Ribalda Delgado, Sakari Ailus

Since kernel 4.16, i2c devices with DT compatible tag are modprobed
using their DT modalias.
Without this patch, if this driver is build as module it would never
be autoprobed.

There is no need to mask it with CONFIG_OF to allow ACPI loading, this
also builds find with CONFIG_OF=n.

Signed-off-by: Ricardo Ribalda Delgado <ribalda@kernel.org>
Acked-by: Pavel Machek <pavel@ucw.cz>
Cc: Sakari Ailus <sakari.ailus@linux.intel.com>
---
 drivers/media/i2c/ad5820.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/media/i2c/ad5820.c b/drivers/media/i2c/ad5820.c
index 76aab651f217..5651609e5095 100644
--- a/drivers/media/i2c/ad5820.c
+++ b/drivers/media/i2c/ad5820.c
@@ -364,12 +364,19 @@ static const struct i2c_device_id ad5820_id_table[] = {
 };
 MODULE_DEVICE_TABLE(i2c, ad5820_id_table);
 
+static const struct of_device_id ad5820_of_table[] = {
+	{ .compatible = "adi,ad5820" },
+	{ }
+};
+MODULE_DEVICE_TABLE(of, ad5820_of_table);
+
 static SIMPLE_DEV_PM_OPS(ad5820_pm, ad5820_suspend, ad5820_resume);
 
 static struct i2c_driver ad5820_i2c_driver = {
 	.driver		= {
 		.name	= AD5820_NAME,
 		.pm	= &ad5820_pm,
+		.of_match_table = ad5820_of_table,
 	},
 	.probe		= ad5820_probe,
 	.remove		= ad5820_remove,
-- 
2.23.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v7 4/6] media: ad5820: Add support for of-autoload
  2019-10-07 13:20 [PATCH v7 0/6] ad5820: Multiple fixes Ricardo Ribalda Delgado
                   ` (6 preceding siblings ...)
  2019-10-07 13:20 ` [PATCH v7 4/6] ad5820: Add support for of-autoload Ricardo Ribalda Delgado
@ 2019-10-07 13:20 ` Ricardo Ribalda Delgado
  2019-10-07 13:20 ` [PATCH v7 5/6] ad5820: DT new compatible devices Ricardo Ribalda Delgado
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Ricardo Ribalda Delgado @ 2019-10-07 13:20 UTC (permalink / raw)
  To: Pavel Machek, Sakari Ailus, Mauro Carvalho Chehab, linux-media,
	linux-kernel
  Cc: Ricardo Ribalda Delgado, Sakari Ailus

Since kernel 4.16, i2c devices with DT compatible tag are modprobed
using their DT modalias.
Without this patch, if this driver is build as module it would never
be autoprobed.

There is no need to mask it with CONFIG_OF to allow ACPI loading, this
also builds find with CONFIG_OF=n.

Signed-off-by: Ricardo Ribalda Delgado <ribalda@kernel.org>
Acked-by: Pavel Machek <pavel@ucw.cz>
Cc: Sakari Ailus <sakari.ailus@linux.intel.com>
---
 drivers/media/i2c/ad5820.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/media/i2c/ad5820.c b/drivers/media/i2c/ad5820.c
index 76aab651f217..5651609e5095 100644
--- a/drivers/media/i2c/ad5820.c
+++ b/drivers/media/i2c/ad5820.c
@@ -364,12 +364,19 @@ static const struct i2c_device_id ad5820_id_table[] = {
 };
 MODULE_DEVICE_TABLE(i2c, ad5820_id_table);
 
+static const struct of_device_id ad5820_of_table[] = {
+	{ .compatible = "adi,ad5820" },
+	{ }
+};
+MODULE_DEVICE_TABLE(of, ad5820_of_table);
+
 static SIMPLE_DEV_PM_OPS(ad5820_pm, ad5820_suspend, ad5820_resume);
 
 static struct i2c_driver ad5820_i2c_driver = {
 	.driver		= {
 		.name	= AD5820_NAME,
 		.pm	= &ad5820_pm,
+		.of_match_table = ad5820_of_table,
 	},
 	.probe		= ad5820_probe,
 	.remove		= ad5820_remove,
-- 
2.23.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v7 5/6] ad5820: DT new compatible devices
  2019-10-07 13:20 [PATCH v7 0/6] ad5820: Multiple fixes Ricardo Ribalda Delgado
                   ` (7 preceding siblings ...)
  2019-10-07 13:20 ` [PATCH v7 4/6] media: " Ricardo Ribalda Delgado
@ 2019-10-07 13:20 ` Ricardo Ribalda Delgado
  2019-10-07 13:20 ` [PATCH v7 5/6] media: " Ricardo Ribalda Delgado
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Ricardo Ribalda Delgado @ 2019-10-07 13:20 UTC (permalink / raw)
  To: Pavel Machek, Sakari Ailus, Mauro Carvalho Chehab, linux-media,
	linux-kernel
  Cc: Ricardo Ribalda Delgado, devicetree, Rob Herring

Document new compatible devices.

Cc: devicetree@vger.kernel.org
Signed-off-by: Ricardo Ribalda Delgado <ribalda@kernel.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Acked-by: Pavel Machek <pavel@ucw.cz>
---
 Documentation/devicetree/bindings/media/i2c/ad5820.txt | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/media/i2c/ad5820.txt b/Documentation/devicetree/bindings/media/i2c/ad5820.txt
index db596e8eb0ba..5764cbedf9b7 100644
--- a/Documentation/devicetree/bindings/media/i2c/ad5820.txt
+++ b/Documentation/devicetree/bindings/media/i2c/ad5820.txt
@@ -2,7 +2,10 @@
 
 Required Properties:
 
-  - compatible: Must contain "adi,ad5820"
+  - compatible: Must contain one of:
+		- "adi,ad5820"
+		- "adi,ad5821"
+		- "adi,ad5823"
 
   - reg: I2C slave address
 
-- 
2.23.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v7 5/6] media: ad5820: DT new compatible devices
  2019-10-07 13:20 [PATCH v7 0/6] ad5820: Multiple fixes Ricardo Ribalda Delgado
                   ` (8 preceding siblings ...)
  2019-10-07 13:20 ` [PATCH v7 5/6] ad5820: DT new compatible devices Ricardo Ribalda Delgado
@ 2019-10-07 13:20 ` Ricardo Ribalda Delgado
  2019-10-07 13:20 ` [PATCH v7 6/6] ad5820: Add support for ad5821 and ad5823 Ricardo Ribalda Delgado
  2019-10-07 13:20 ` [PATCH v7 6/6] media: " Ricardo Ribalda Delgado
  11 siblings, 0 replies; 13+ messages in thread
From: Ricardo Ribalda Delgado @ 2019-10-07 13:20 UTC (permalink / raw)
  To: Pavel Machek, Sakari Ailus, Mauro Carvalho Chehab, linux-media,
	linux-kernel
  Cc: Ricardo Ribalda Delgado, devicetree, Rob Herring

Document new compatible devices.

Cc: devicetree@vger.kernel.org
Signed-off-by: Ricardo Ribalda Delgado <ribalda@kernel.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Acked-by: Pavel Machek <pavel@ucw.cz>
---
 Documentation/devicetree/bindings/media/i2c/ad5820.txt | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/media/i2c/ad5820.txt b/Documentation/devicetree/bindings/media/i2c/ad5820.txt
index db596e8eb0ba..5764cbedf9b7 100644
--- a/Documentation/devicetree/bindings/media/i2c/ad5820.txt
+++ b/Documentation/devicetree/bindings/media/i2c/ad5820.txt
@@ -2,7 +2,10 @@
 
 Required Properties:
 
-  - compatible: Must contain "adi,ad5820"
+  - compatible: Must contain one of:
+		- "adi,ad5820"
+		- "adi,ad5821"
+		- "adi,ad5823"
 
   - reg: I2C slave address
 
-- 
2.23.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v7 6/6] ad5820: Add support for ad5821 and ad5823
  2019-10-07 13:20 [PATCH v7 0/6] ad5820: Multiple fixes Ricardo Ribalda Delgado
                   ` (9 preceding siblings ...)
  2019-10-07 13:20 ` [PATCH v7 5/6] media: " Ricardo Ribalda Delgado
@ 2019-10-07 13:20 ` Ricardo Ribalda Delgado
  2019-10-07 13:20 ` [PATCH v7 6/6] media: " Ricardo Ribalda Delgado
  11 siblings, 0 replies; 13+ messages in thread
From: Ricardo Ribalda Delgado @ 2019-10-07 13:20 UTC (permalink / raw)
  To: Pavel Machek, Sakari Ailus, Mauro Carvalho Chehab, linux-media,
	linux-kernel
  Cc: Ricardo Ribalda Delgado

According to the datasheet, both AD5821 and AD5820 share a compatible
register-set:
http://www.analog.com/media/en/technical-documentation/data-sheets/AD5821.pdf

Some camera modules also refer that AD5823 is a replacement of AD5820:
https://download.kamami.com/p564094-OV8865_DS.pdf

Suggested-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Ricardo Ribalda Delgado <ribalda@kernel.org>
Acked-by: Pavel Machek <pavel@ucw.cz>
---
 drivers/media/i2c/ad5820.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/media/i2c/ad5820.c b/drivers/media/i2c/ad5820.c
index 5651609e5095..19c74db0649f 100644
--- a/drivers/media/i2c/ad5820.c
+++ b/drivers/media/i2c/ad5820.c
@@ -25,8 +25,6 @@
 #include <media/v4l2-device.h>
 #include <media/v4l2-subdev.h>
 
-#define AD5820_NAME		"ad5820"
-
 /* Register definitions */
 #define AD5820_POWER_DOWN		(1 << 15)
 #define AD5820_DAC_SHIFT		4
@@ -359,13 +357,17 @@ static int ad5820_remove(struct i2c_client *client)
 }
 
 static const struct i2c_device_id ad5820_id_table[] = {
-	{ AD5820_NAME, 0 },
+	{ "ad5820", 0 },
+	{ "ad5821", 0 },
+	{ "ad5823", 0 },
 	{ }
 };
 MODULE_DEVICE_TABLE(i2c, ad5820_id_table);
 
 static const struct of_device_id ad5820_of_table[] = {
 	{ .compatible = "adi,ad5820" },
+	{ .compatible = "adi,ad5821" },
+	{ .compatible = "adi,ad5823" },
 	{ }
 };
 MODULE_DEVICE_TABLE(of, ad5820_of_table);
@@ -374,7 +376,7 @@ static SIMPLE_DEV_PM_OPS(ad5820_pm, ad5820_suspend, ad5820_resume);
 
 static struct i2c_driver ad5820_i2c_driver = {
 	.driver		= {
-		.name	= AD5820_NAME,
+		.name	= "ad5820",
 		.pm	= &ad5820_pm,
 		.of_match_table = ad5820_of_table,
 	},
-- 
2.23.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v7 6/6] media: ad5820: Add support for ad5821 and ad5823
  2019-10-07 13:20 [PATCH v7 0/6] ad5820: Multiple fixes Ricardo Ribalda Delgado
                   ` (10 preceding siblings ...)
  2019-10-07 13:20 ` [PATCH v7 6/6] ad5820: Add support for ad5821 and ad5823 Ricardo Ribalda Delgado
@ 2019-10-07 13:20 ` Ricardo Ribalda Delgado
  11 siblings, 0 replies; 13+ messages in thread
From: Ricardo Ribalda Delgado @ 2019-10-07 13:20 UTC (permalink / raw)
  To: Pavel Machek, Sakari Ailus, Mauro Carvalho Chehab, linux-media,
	linux-kernel
  Cc: Ricardo Ribalda Delgado

According to the datasheet, both AD5821 and AD5820 share a compatible
register-set:
http://www.analog.com/media/en/technical-documentation/data-sheets/AD5821.pdf

Some camera modules also refer that AD5823 is a replacement of AD5820:
https://download.kamami.com/p564094-OV8865_DS.pdf

Suggested-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Ricardo Ribalda Delgado <ribalda@kernel.org>
Acked-by: Pavel Machek <pavel@ucw.cz>
---
 drivers/media/i2c/ad5820.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/media/i2c/ad5820.c b/drivers/media/i2c/ad5820.c
index 5651609e5095..19c74db0649f 100644
--- a/drivers/media/i2c/ad5820.c
+++ b/drivers/media/i2c/ad5820.c
@@ -25,8 +25,6 @@
 #include <media/v4l2-device.h>
 #include <media/v4l2-subdev.h>
 
-#define AD5820_NAME		"ad5820"
-
 /* Register definitions */
 #define AD5820_POWER_DOWN		(1 << 15)
 #define AD5820_DAC_SHIFT		4
@@ -359,13 +357,17 @@ static int ad5820_remove(struct i2c_client *client)
 }
 
 static const struct i2c_device_id ad5820_id_table[] = {
-	{ AD5820_NAME, 0 },
+	{ "ad5820", 0 },
+	{ "ad5821", 0 },
+	{ "ad5823", 0 },
 	{ }
 };
 MODULE_DEVICE_TABLE(i2c, ad5820_id_table);
 
 static const struct of_device_id ad5820_of_table[] = {
 	{ .compatible = "adi,ad5820" },
+	{ .compatible = "adi,ad5821" },
+	{ .compatible = "adi,ad5823" },
 	{ }
 };
 MODULE_DEVICE_TABLE(of, ad5820_of_table);
@@ -374,7 +376,7 @@ static SIMPLE_DEV_PM_OPS(ad5820_pm, ad5820_suspend, ad5820_resume);
 
 static struct i2c_driver ad5820_i2c_driver = {
 	.driver		= {
-		.name	= AD5820_NAME,
+		.name	= "ad5820",
 		.pm	= &ad5820_pm,
 		.of_match_table = ad5820_of_table,
 	},
-- 
2.23.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2019-10-07 13:21 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-07 13:20 [PATCH v7 0/6] ad5820: Multiple fixes Ricardo Ribalda Delgado
2019-10-07 13:20 ` [PATCH v7 1/6] ad5820: Define entity function Ricardo Ribalda Delgado
2019-10-07 13:20 ` [PATCH v7 1/6] media: " Ricardo Ribalda Delgado
2019-10-07 13:20 ` [PATCH v7 2/6] ad5820: DT new optional field enable-gpios Ricardo Ribalda Delgado
2019-10-07 13:20 ` [PATCH v7 2/6] media: " Ricardo Ribalda Delgado
2019-10-07 13:20 ` [PATCH v7 3/6] ad5820: Add support for enable pin Ricardo Ribalda Delgado
2019-10-07 13:20 ` [PATCH v7 3/6] media: " Ricardo Ribalda Delgado
2019-10-07 13:20 ` [PATCH v7 4/6] ad5820: Add support for of-autoload Ricardo Ribalda Delgado
2019-10-07 13:20 ` [PATCH v7 4/6] media: " Ricardo Ribalda Delgado
2019-10-07 13:20 ` [PATCH v7 5/6] ad5820: DT new compatible devices Ricardo Ribalda Delgado
2019-10-07 13:20 ` [PATCH v7 5/6] media: " Ricardo Ribalda Delgado
2019-10-07 13:20 ` [PATCH v7 6/6] ad5820: Add support for ad5821 and ad5823 Ricardo Ribalda Delgado
2019-10-07 13:20 ` [PATCH v7 6/6] media: " Ricardo Ribalda Delgado

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).