* [PATCH v2 0/8] media: i2c: dw9719: add DT compatible and DW9718S support
@ 2025-09-20 12:03 André Apitzsch via B4 Relay
2025-09-20 12:03 ` [PATCH v2 1/8] dt-bindings: media: i2c: Add DW9718S, DW9719 and DW9761 VCM André Apitzsch via B4 Relay
` (8 more replies)
0 siblings, 9 replies; 18+ messages in thread
From: André Apitzsch via B4 Relay @ 2025-09-20 12:03 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, devicetree, Sakari Ailus, Daniel Scally
Cc: ~postmarketos/upstreaming, phone-devel, linux-media, linux-kernel,
Val Packett, André Apitzsch
The DW9718S voice coil motor is found on various smartphones like
motorola-nora that are currently being worked on in the postmarketOS
community. Since the way it operates is very similar to DW9719, this
patch series adds support for it to the existing dw9719 driver. Because
that driver did not yet support DT, we also add DT bindings and the
dongwoon,dw9719 ofw compatible. With DW9718S, the driver was
tested fully, including runtime PM.
This is a follow-up of [1] and [2].
Changes compared to previous submission:
* Deprecate dongwoon,vcm-freq in favor of dongwoon,vcm-prescale
* Instead of per-device config struct use model ID to handle cases
[1] https://lore.kernel.org/linux-media/20250210082035.8670-1-val@packett.cool/
[2] https://lore.kernel.org/linux-media/20250209-dw9761dts-v3-0-14d3f00f0585@apitzsch.eu/
Signed-off-by: André Apitzsch <git@apitzsch.eu>
---
Changes in v2:
- Add patch (3) which removes i2c device table
- Restructure patches because of that
- keep patches 1 and 2
- add patch 3
- patch 6 becomes patch 4
- patch 3 becomes patch 5
- patch 4 becomes patch 6
- patch 5 becomes patch 7
- patch 7 becomes patch 8
- Patch 1 (bindings)
- Remove unneeded 'minimum: 0'
- Remove if/then that handles 'default' to reduce complexity
- Add myself as maintainer
- Patch 5
- Fix void-pointer-to-enum-cast warning
- Patch 7
- Drop pm_runtime_mark_last_busy(); it is already called by
pm_runtime_put_autosuspend()
- Patch 8
- Remove extra parentheses
- Print error if writing to power register fails
- Add reason for doubled waiting time during power up to comment
- Pass NULL instead of unused 'ret' to cci_write()
- Link to v1: https://lore.kernel.org/r/20250817-dw9719-v1-0-426f46c69a5a@apitzsch.eu
---
André Apitzsch (3):
dt-bindings: media: i2c: Add DW9718S, DW9719 and DW9761 VCM
media: i2c: dw9719: Deprecate dongwoon,vcm-freq
media: i2c: dw9719: Remove unused i2c device id table
Val Packett (5):
media: i2c: dw9719: Add an of_match_table
media: i2c: dw9719: Add driver_data matching
media: i2c: dw9719: Add DW9718S support
media: i2c: dw9719: Update PM last busy time upon close
media: i2c: dw9719: Fix power on/off sequence
.../bindings/media/i2c/dongwoon,dw9719.yaml | 88 +++++++++++++++++
drivers/media/i2c/dw9719.c | 110 +++++++++++++++++----
2 files changed, 178 insertions(+), 20 deletions(-)
---
base-commit: 846bd2225ec3cfa8be046655e02b9457ed41973e
change-id: 20250709-dw9719-8a8822efc1b1
Best regards,
--
André Apitzsch <git@apitzsch.eu>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v2 1/8] dt-bindings: media: i2c: Add DW9718S, DW9719 and DW9761 VCM
2025-09-20 12:03 [PATCH v2 0/8] media: i2c: dw9719: add DT compatible and DW9718S support André Apitzsch via B4 Relay
@ 2025-09-20 12:03 ` André Apitzsch via B4 Relay
2025-09-22 20:25 ` Rob Herring (Arm)
2025-10-20 20:44 ` Krzysztof Kozlowski
2025-09-20 12:03 ` [PATCH v2 2/8] media: i2c: dw9719: Deprecate dongwoon,vcm-freq André Apitzsch via B4 Relay
` (7 subsequent siblings)
8 siblings, 2 replies; 18+ messages in thread
From: André Apitzsch via B4 Relay @ 2025-09-20 12:03 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, devicetree, Sakari Ailus, Daniel Scally
Cc: ~postmarketos/upstreaming, phone-devel, linux-media, linux-kernel,
Val Packett, André Apitzsch
From: André Apitzsch <git@apitzsch.eu>
Document Dongwoon DW9718S, DW9719 and DW9761 VCM devicetree bindings.
Signed-off-by: André Apitzsch <git@apitzsch.eu>
--
The possible values for sac-mode and vcm-prescale of DW9719 and DW9761
are missing because there is no documentation available.
---
.../bindings/media/i2c/dongwoon,dw9719.yaml | 88 ++++++++++++++++++++++
1 file changed, 88 insertions(+)
diff --git a/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9719.yaml b/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9719.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..38db0764c0f70ad49295dcddc182b7e100a68b29
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/i2c/dongwoon,dw9719.yaml
@@ -0,0 +1,88 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/i2c/dongwoon,dw9719.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Dongwoon Anatech DW9719 Voice Coil Motor (VCM) Controller
+
+maintainers:
+ - André Apitzsch <git@apitzsch.eu>
+
+description:
+ The Dongwoon DW9718S/9719/9761 is a single 10-bit digital-to-analog converter
+ with 100 mA output current sink capability, designed for linear control of
+ voice coil motors (VCM) in camera lenses. This chip provides a Smart Actuator
+ Control (SAC) mode intended for driving voice coil lenses in camera modules.
+
+properties:
+ compatible:
+ enum:
+ - dongwoon,dw9718s
+ - dongwoon,dw9719
+ - dongwoon,dw9761
+
+ reg:
+ maxItems: 1
+
+ vdd-supply:
+ description: VDD power supply
+
+ dongwoon,sac-mode:
+ description: |
+ Slew Rate Control mode to use: direct, LSC (Linear Slope Control) or
+ SAC1-SAC6 (Smart Actuator Control).
+ $ref: /schemas/types.yaml#/definitions/uint32
+ enum:
+ - 0 # Direct mode
+ - 1 # LSC mode
+ - 2 # SAC1 mode (operation time# 0.32 x Tvib)
+ - 3 # SAC2 mode (operation time# 0.48 x Tvib)
+ - 4 # SAC3 mode (operation time# 0.72 x Tvib)
+ - 5 # SAC4 mode (operation time# 1.20 x Tvib)
+ - 6 # SAC5 mode (operation time# 1.64 x Tvib)
+ - 7 # SAC6 mode (operation time# 1.88 x Tvib)
+ default: 4
+
+ dongwoon,vcm-prescale:
+ description:
+ Indication of VCM switching frequency dividing rate select.
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+required:
+ - compatible
+ - reg
+ - vdd-supply
+
+allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: dongwoon,dw9718s
+ then:
+ properties:
+ dongwoon,vcm-prescale:
+ description:
+ The final frequency is 10 MHz divided by (value + 2).
+ maximum: 15
+ default: 0
+
+additionalProperties: false
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ actuator@c {
+ compatible = "dongwoon,dw9718s";
+ reg = <0x0c>;
+
+ vdd-supply = <&pm8937_l17>;
+
+ dongwoon,sac-mode = <4>;
+ dongwoon,vcm-prescale = <0>;
+ };
+ };
--
2.51.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 2/8] media: i2c: dw9719: Deprecate dongwoon,vcm-freq
2025-09-20 12:03 [PATCH v2 0/8] media: i2c: dw9719: add DT compatible and DW9718S support André Apitzsch via B4 Relay
2025-09-20 12:03 ` [PATCH v2 1/8] dt-bindings: media: i2c: Add DW9718S, DW9719 and DW9761 VCM André Apitzsch via B4 Relay
@ 2025-09-20 12:03 ` André Apitzsch via B4 Relay
2025-09-20 12:03 ` [PATCH v2 3/8] media: i2c: dw9719: Remove unused i2c device id table André Apitzsch via B4 Relay
` (6 subsequent siblings)
8 siblings, 0 replies; 18+ messages in thread
From: André Apitzsch via B4 Relay @ 2025-09-20 12:03 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, devicetree, Sakari Ailus, Daniel Scally
Cc: ~postmarketos/upstreaming, phone-devel, linux-media, linux-kernel,
Val Packett, André Apitzsch
From: André Apitzsch <git@apitzsch.eu>
The name of property "dongwoon,vcm-freq" doesn't match its purpose.
Change the name of the property to "dongwoon,vcm-prescale" to better
describe its purpose and deprecate the old one.
Signed-off-by: André Apitzsch <git@apitzsch.eu>
---
drivers/media/i2c/dw9719.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/drivers/media/i2c/dw9719.c b/drivers/media/i2c/dw9719.c
index 032fbcb981f20f4e93202415e62f67379897a048..5ed0042fce18acd9e6ce9f6cf6c6982e36fed275 100644
--- a/drivers/media/i2c/dw9719.c
+++ b/drivers/media/i2c/dw9719.c
@@ -82,6 +82,7 @@ static int dw9719_power_up(struct dw9719_device *dw9719, bool detect)
{
u64 val;
int ret;
+ int err;
ret = regulator_enable(dw9719->regulator);
if (ret)
@@ -123,7 +124,13 @@ static int dw9719_power_up(struct dw9719_device *dw9719, bool detect)
&dw9719->sac_mode);
/* Optional indication of VCM frequency */
- device_property_read_u32(dw9719->dev, "dongwoon,vcm-freq",
+ err = device_property_read_u32(dw9719->dev, "dongwoon,vcm-freq",
+ &dw9719->vcm_freq);
+ if (err == 0)
+ dev_warn(dw9719->dev, "dongwoon,vcm-freq property is deprecated, please use dongwoon,vcm-prescale\n");
+
+ /* Optional indication of VCM prescale */
+ device_property_read_u32(dw9719->dev, "dongwoon,vcm-prescale",
&dw9719->vcm_freq);
}
--
2.51.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 3/8] media: i2c: dw9719: Remove unused i2c device id table
2025-09-20 12:03 [PATCH v2 0/8] media: i2c: dw9719: add DT compatible and DW9718S support André Apitzsch via B4 Relay
2025-09-20 12:03 ` [PATCH v2 1/8] dt-bindings: media: i2c: Add DW9718S, DW9719 and DW9761 VCM André Apitzsch via B4 Relay
2025-09-20 12:03 ` [PATCH v2 2/8] media: i2c: dw9719: Deprecate dongwoon,vcm-freq André Apitzsch via B4 Relay
@ 2025-09-20 12:03 ` André Apitzsch via B4 Relay
2025-09-20 12:03 ` [PATCH v2 4/8] media: i2c: dw9719: Add an of_match_table André Apitzsch via B4 Relay
` (5 subsequent siblings)
8 siblings, 0 replies; 18+ messages in thread
From: André Apitzsch via B4 Relay @ 2025-09-20 12:03 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, devicetree, Sakari Ailus, Daniel Scally
Cc: ~postmarketos/upstreaming, phone-devel, linux-media, linux-kernel,
Val Packett, André Apitzsch
From: André Apitzsch <git@apitzsch.eu>
Nothing depends on the I²C device ID table, so remove it.
Signed-off-by: André Apitzsch <git@apitzsch.eu>
---
drivers/media/i2c/dw9719.c | 8 --------
1 file changed, 8 deletions(-)
diff --git a/drivers/media/i2c/dw9719.c b/drivers/media/i2c/dw9719.c
index 5ed0042fce18acd9e6ce9f6cf6c6982e36fed275..8d83e6fb478124d83d65f80d33a50c0aff438a6d 100644
--- a/drivers/media/i2c/dw9719.c
+++ b/drivers/media/i2c/dw9719.c
@@ -360,13 +360,6 @@ static void dw9719_remove(struct i2c_client *client)
pm_runtime_set_suspended(&client->dev);
}
-static const struct i2c_device_id dw9719_id_table[] = {
- { "dw9719" },
- { "dw9761" },
- { }
-};
-MODULE_DEVICE_TABLE(i2c, dw9719_id_table);
-
static DEFINE_RUNTIME_DEV_PM_OPS(dw9719_pm_ops, dw9719_suspend, dw9719_resume,
NULL);
@@ -377,7 +370,6 @@ static struct i2c_driver dw9719_i2c_driver = {
},
.probe = dw9719_probe,
.remove = dw9719_remove,
- .id_table = dw9719_id_table,
};
module_i2c_driver(dw9719_i2c_driver);
--
2.51.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 4/8] media: i2c: dw9719: Add an of_match_table
2025-09-20 12:03 [PATCH v2 0/8] media: i2c: dw9719: add DT compatible and DW9718S support André Apitzsch via B4 Relay
` (2 preceding siblings ...)
2025-09-20 12:03 ` [PATCH v2 3/8] media: i2c: dw9719: Remove unused i2c device id table André Apitzsch via B4 Relay
@ 2025-09-20 12:03 ` André Apitzsch via B4 Relay
2025-09-20 12:03 ` [PATCH v2 5/8] media: i2c: dw9719: Add driver_data matching André Apitzsch via B4 Relay
` (4 subsequent siblings)
8 siblings, 0 replies; 18+ messages in thread
From: André Apitzsch via B4 Relay @ 2025-09-20 12:03 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, devicetree, Sakari Ailus, Daniel Scally
Cc: ~postmarketos/upstreaming, phone-devel, linux-media, linux-kernel,
Val Packett, André Apitzsch
From: Val Packett <val@packett.cool>
Allow the dw9719 driver to be attached via FDT.
Signed-off-by: Val Packett <val@packett.cool>
Signed-off-by: André Apitzsch <git@apitzsch.eu>
---
drivers/media/i2c/dw9719.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/media/i2c/dw9719.c b/drivers/media/i2c/dw9719.c
index 8d83e6fb478124d83d65f80d33a50c0aff438a6d..d2af2c6fcd670288084e3be2e0fb21bc9bc1ae92 100644
--- a/drivers/media/i2c/dw9719.c
+++ b/drivers/media/i2c/dw9719.c
@@ -360,6 +360,13 @@ static void dw9719_remove(struct i2c_client *client)
pm_runtime_set_suspended(&client->dev);
}
+static const struct of_device_id dw9719_of_table[] = {
+ { .compatible = "dongwoon,dw9719" },
+ { .compatible = "dongwoon,dw9761" },
+ { }
+};
+MODULE_DEVICE_TABLE(of, dw9719_of_table);
+
static DEFINE_RUNTIME_DEV_PM_OPS(dw9719_pm_ops, dw9719_suspend, dw9719_resume,
NULL);
@@ -367,6 +374,7 @@ static struct i2c_driver dw9719_i2c_driver = {
.driver = {
.name = "dw9719",
.pm = pm_sleep_ptr(&dw9719_pm_ops),
+ .of_match_table = dw9719_of_table,
},
.probe = dw9719_probe,
.remove = dw9719_remove,
--
2.51.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 5/8] media: i2c: dw9719: Add driver_data matching
2025-09-20 12:03 [PATCH v2 0/8] media: i2c: dw9719: add DT compatible and DW9718S support André Apitzsch via B4 Relay
` (3 preceding siblings ...)
2025-09-20 12:03 ` [PATCH v2 4/8] media: i2c: dw9719: Add an of_match_table André Apitzsch via B4 Relay
@ 2025-09-20 12:03 ` André Apitzsch via B4 Relay
2025-09-20 12:03 ` [PATCH v2 6/8] media: i2c: dw9719: Add DW9718S support André Apitzsch via B4 Relay
` (3 subsequent siblings)
8 siblings, 0 replies; 18+ messages in thread
From: André Apitzsch via B4 Relay @ 2025-09-20 12:03 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, devicetree, Sakari Ailus, Daniel Scally
Cc: ~postmarketos/upstreaming, phone-devel, linux-media, linux-kernel,
Val Packett, André Apitzsch
From: Val Packett <val@packett.cool>
In preparation for adding models with different register sets, start
assigning the model based on the i2c match data.
Signed-off-by: Val Packett <val@packett.cool>
Signed-off-by: André Apitzsch <git@apitzsch.eu>
---
drivers/media/i2c/dw9719.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/media/i2c/dw9719.c b/drivers/media/i2c/dw9719.c
index d2af2c6fcd670288084e3be2e0fb21bc9bc1ae92..5dc4126909b779aa0ce95015808b625fb21b67bb 100644
--- a/drivers/media/i2c/dw9719.c
+++ b/drivers/media/i2c/dw9719.c
@@ -282,6 +282,8 @@ static int dw9719_probe(struct i2c_client *client)
if (!dw9719)
return -ENOMEM;
+ dw9719->model = (enum dw9719_model)(uintptr_t)i2c_get_match_data(client);
+
dw9719->regmap = devm_cci_regmap_init_i2c(client, 8);
if (IS_ERR(dw9719->regmap))
return PTR_ERR(dw9719->regmap);
@@ -361,8 +363,8 @@ static void dw9719_remove(struct i2c_client *client)
}
static const struct of_device_id dw9719_of_table[] = {
- { .compatible = "dongwoon,dw9719" },
- { .compatible = "dongwoon,dw9761" },
+ { .compatible = "dongwoon,dw9719", .data = (const void *)DW9719 },
+ { .compatible = "dongwoon,dw9761", .data = (const void *)DW9761 },
{ }
};
MODULE_DEVICE_TABLE(of, dw9719_of_table);
--
2.51.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 6/8] media: i2c: dw9719: Add DW9718S support
2025-09-20 12:03 [PATCH v2 0/8] media: i2c: dw9719: add DT compatible and DW9718S support André Apitzsch via B4 Relay
` (4 preceding siblings ...)
2025-09-20 12:03 ` [PATCH v2 5/8] media: i2c: dw9719: Add driver_data matching André Apitzsch via B4 Relay
@ 2025-09-20 12:03 ` André Apitzsch via B4 Relay
2025-09-20 12:03 ` [PATCH v2 7/8] media: i2c: dw9719: Update PM last busy time upon close André Apitzsch via B4 Relay
` (2 subsequent siblings)
8 siblings, 0 replies; 18+ messages in thread
From: André Apitzsch via B4 Relay @ 2025-09-20 12:03 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, devicetree, Sakari Ailus, Daniel Scally
Cc: ~postmarketos/upstreaming, phone-devel, linux-media, linux-kernel,
Val Packett, André Apitzsch
From: Val Packett <val@packett.cool>
The DW9718S is a similar part that uses a different register set but
follows the same method of operation otherwise. Add support for it
to the existing dw9719 driver.
Tested on the Moto E5 (motorola-nora) smartphone.
Signed-off-by: Val Packett <val@packett.cool>
Signed-off-by: André Apitzsch <git@apitzsch.eu>
---
drivers/media/i2c/dw9719.c | 67 +++++++++++++++++++++++++++++++++++++++-------
1 file changed, 58 insertions(+), 9 deletions(-)
diff --git a/drivers/media/i2c/dw9719.c b/drivers/media/i2c/dw9719.c
index 5dc4126909b779aa0ce95015808b625fb21b67bb..5e3a200db3b5df8bf49547fc842c1cfd74322a40 100644
--- a/drivers/media/i2c/dw9719.c
+++ b/drivers/media/i2c/dw9719.c
@@ -23,6 +23,25 @@
#define DW9719_CTRL_STEPS 16
#define DW9719_CTRL_DELAY_US 1000
+#define DW9718S_PD CCI_REG8(0)
+
+#define DW9718S_CONTROL CCI_REG8(1)
+#define DW9718S_CONTROL_SW_LINEAR BIT(0)
+#define DW9718S_CONTROL_SAC_SHIFT 1
+#define DW9718S_CONTROL_SAC_MASK 0x7
+#define DW9718S_CONTROL_OCP_DISABLE BIT(4)
+#define DW9718S_CONTROL_UVLO_DISABLE BIT(5)
+#define DW9718S_DEFAULT_SAC 4
+
+#define DW9718S_VCM_CURRENT CCI_REG16(2)
+
+#define DW9718S_SW CCI_REG8(4)
+#define DW9718S_SW_VCM_FREQ_MASK 0xF
+#define DW9718S_DEFAULT_VCM_FREQ 0
+
+#define DW9718S_SACT CCI_REG8(5)
+#define DW9718S_SACT_PERIOD_8_8MS 0x19
+
#define DW9719_INFO CCI_REG8(0)
#define DW9719_ID 0xF1
#define DW9761_ID 0xF4
@@ -53,6 +72,7 @@
#define to_dw9719_device(x) container_of(x, struct dw9719_device, sd)
enum dw9719_model {
+ DW9718S,
DW9719,
DW9761,
};
@@ -80,6 +100,7 @@ static int dw9719_power_down(struct dw9719_device *dw9719)
static int dw9719_power_up(struct dw9719_device *dw9719, bool detect)
{
+ u32 reg_pwr;
u64 val;
int ret;
int err;
@@ -89,13 +110,21 @@ static int dw9719_power_up(struct dw9719_device *dw9719, bool detect)
return ret;
/* Jiggle SCL pin to wake up device */
- cci_write(dw9719->regmap, DW9719_CONTROL, DW9719_SHUTDOWN, &ret);
+ reg_pwr = dw9719->model == DW9718S ? DW9718S_PD : DW9719_CONTROL;
+ cci_write(dw9719->regmap, reg_pwr, DW9719_SHUTDOWN, &ret);
fsleep(100);
- cci_write(dw9719->regmap, DW9719_CONTROL, DW9719_STANDBY, &ret);
+ cci_write(dw9719->regmap, reg_pwr, DW9719_STANDBY, &ret);
/* Need 100us to transit from SHUTDOWN to STANDBY */
fsleep(100);
if (detect) {
+ /* This model does not have an INFO register */
+ if (dw9719->model == DW9718S) {
+ dw9719->sac_mode = DW9718S_DEFAULT_SAC;
+ dw9719->vcm_freq = DW9718S_DEFAULT_VCM_FREQ;
+ goto props;
+ }
+
ret = cci_read(dw9719->regmap, DW9719_INFO, &val, NULL);
if (ret < 0)
return ret;
@@ -119,6 +148,7 @@ static int dw9719_power_up(struct dw9719_device *dw9719, bool detect)
return -ENXIO;
}
+props:
/* Optional indication of SAC mode select */
device_property_read_u32(dw9719->dev, "dongwoon,sac-mode",
&dw9719->sac_mode);
@@ -134,14 +164,30 @@ static int dw9719_power_up(struct dw9719_device *dw9719, bool detect)
&dw9719->vcm_freq);
}
- cci_write(dw9719->regmap, DW9719_CONTROL, DW9719_ENABLE_RINGING, &ret);
- cci_write(dw9719->regmap, DW9719_MODE, dw9719->mode_low_bits |
- (dw9719->sac_mode << DW9719_MODE_SAC_SHIFT), &ret);
- cci_write(dw9719->regmap, DW9719_VCM_FREQ, dw9719->vcm_freq, &ret);
-
- if (dw9719->model == DW9761)
+ switch (dw9719->model) {
+ case DW9718S:
+ /* Datasheet says [OCP/UVLO] should be disabled below 2.5V */
+ dw9719->sac_mode &= DW9718S_CONTROL_SAC_MASK;
+ cci_write(dw9719->regmap, DW9718S_CONTROL,
+ DW9718S_CONTROL_SW_LINEAR |
+ (dw9719->sac_mode << DW9718S_CONTROL_SAC_SHIFT) |
+ DW9718S_CONTROL_OCP_DISABLE |
+ DW9718S_CONTROL_UVLO_DISABLE, &ret);
+ cci_write(dw9719->regmap, DW9718S_SACT,
+ DW9718S_SACT_PERIOD_8_8MS, &ret);
+ cci_write(dw9719->regmap, DW9718S_SW,
+ dw9719->vcm_freq & DW9718S_SW_VCM_FREQ_MASK, &ret);
+ break;
+ case DW9761:
cci_write(dw9719->regmap, DW9761_VCM_PRELOAD,
DW9761_DEFAULT_VCM_PRELOAD, &ret);
+ fallthrough;
+ case DW9719:
+ cci_write(dw9719->regmap, DW9719_CONTROL, DW9719_ENABLE_RINGING, &ret);
+ cci_write(dw9719->regmap, DW9719_MODE, dw9719->mode_low_bits |
+ (dw9719->sac_mode << DW9719_MODE_SAC_SHIFT), &ret);
+ cci_write(dw9719->regmap, DW9719_VCM_FREQ, dw9719->vcm_freq, &ret);
+ }
if (ret)
dw9719_power_down(dw9719);
@@ -151,7 +197,9 @@ static int dw9719_power_up(struct dw9719_device *dw9719, bool detect)
static int dw9719_t_focus_abs(struct dw9719_device *dw9719, s32 value)
{
- return cci_write(dw9719->regmap, DW9719_VCM_CURRENT, value, NULL);
+ u32 reg = dw9719->model == DW9718S ? DW9718S_VCM_CURRENT
+ : DW9719_VCM_CURRENT;
+ return cci_write(dw9719->regmap, reg, value, NULL);
}
static int dw9719_set_ctrl(struct v4l2_ctrl *ctrl)
@@ -363,6 +411,7 @@ static void dw9719_remove(struct i2c_client *client)
}
static const struct of_device_id dw9719_of_table[] = {
+ { .compatible = "dongwoon,dw9718s", .data = (const void *)DW9718S },
{ .compatible = "dongwoon,dw9719", .data = (const void *)DW9719 },
{ .compatible = "dongwoon,dw9761", .data = (const void *)DW9761 },
{ }
--
2.51.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 7/8] media: i2c: dw9719: Update PM last busy time upon close
2025-09-20 12:03 [PATCH v2 0/8] media: i2c: dw9719: add DT compatible and DW9718S support André Apitzsch via B4 Relay
` (5 preceding siblings ...)
2025-09-20 12:03 ` [PATCH v2 6/8] media: i2c: dw9719: Add DW9718S support André Apitzsch via B4 Relay
@ 2025-09-20 12:03 ` André Apitzsch via B4 Relay
2025-09-20 12:03 ` [PATCH v2 8/8] media: i2c: dw9719: Fix power on/off sequence André Apitzsch via B4 Relay
2025-10-20 20:40 ` [PATCH v2 0/8] media: i2c: dw9719: add DT compatible and DW9718S support André Apitzsch
8 siblings, 0 replies; 18+ messages in thread
From: André Apitzsch via B4 Relay @ 2025-09-20 12:03 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, devicetree, Sakari Ailus, Daniel Scally
Cc: ~postmarketos/upstreaming, phone-devel, linux-media, linux-kernel,
Val Packett, André Apitzsch
From: Val Packett <val@packett.cool>
Update the close callback to match other similar drivers like dw9768.
Signed-off-by: Val Packett <val@packett.cool>
Signed-off-by: André Apitzsch <git@apitzsch.eu>
---
drivers/media/i2c/dw9719.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/media/i2c/dw9719.c b/drivers/media/i2c/dw9719.c
index 5e3a200db3b5df8bf49547fc842c1cfd74322a40..a24594523030df7df7fb60afb5248472b4a8ea13 100644
--- a/drivers/media/i2c/dw9719.c
+++ b/drivers/media/i2c/dw9719.c
@@ -284,7 +284,7 @@ static int dw9719_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
static int dw9719_close(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
{
- pm_runtime_put(sd->dev);
+ pm_runtime_put_autosuspend(sd->dev);
return 0;
}
--
2.51.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 8/8] media: i2c: dw9719: Fix power on/off sequence
2025-09-20 12:03 [PATCH v2 0/8] media: i2c: dw9719: add DT compatible and DW9718S support André Apitzsch via B4 Relay
` (6 preceding siblings ...)
2025-09-20 12:03 ` [PATCH v2 7/8] media: i2c: dw9719: Update PM last busy time upon close André Apitzsch via B4 Relay
@ 2025-09-20 12:03 ` André Apitzsch via B4 Relay
2025-10-20 20:40 ` [PATCH v2 0/8] media: i2c: dw9719: add DT compatible and DW9718S support André Apitzsch
8 siblings, 0 replies; 18+ messages in thread
From: André Apitzsch via B4 Relay @ 2025-09-20 12:03 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, devicetree, Sakari Ailus, Daniel Scally
Cc: ~postmarketos/upstreaming, phone-devel, linux-media, linux-kernel,
Val Packett, André Apitzsch
From: Val Packett <val@packett.cool>
The "jiggle" code was not actually expecting failure, which it should
because that's what actually happens when the device wasn't already woken
up by the regulator power-on (i.e. in the case of a shared regulator).
Also, do actually enter the internal suspend mode on shutdown, to save
power in the case of a shared regulator.
Also, wait a bit longer (2x tOPR) on waking up, 1x is not enough at least
on the DW9718S as found on the motorola-nora smartphone.
Signed-off-by: Val Packett <val@packett.cool>
Signed-off-by: André Apitzsch <git@apitzsch.eu>
---
drivers/media/i2c/dw9719.c | 26 +++++++++++++++++++-------
1 file changed, 19 insertions(+), 7 deletions(-)
diff --git a/drivers/media/i2c/dw9719.c b/drivers/media/i2c/dw9719.c
index a24594523030df7df7fb60afb5248472b4a8ea13..3627e78b8b6668933c4ecd92231465ce4105ff0c 100644
--- a/drivers/media/i2c/dw9719.c
+++ b/drivers/media/i2c/dw9719.c
@@ -95,12 +95,20 @@ struct dw9719_device {
static int dw9719_power_down(struct dw9719_device *dw9719)
{
+ u32 reg_pwr = dw9719->model == DW9718S ? DW9718S_PD : DW9719_CONTROL;
+
+ /*
+ * Worth engaging the internal SHUTDOWN mode especially due to the
+ * regulator being potentially shared with other devices.
+ */
+ if (cci_write(dw9719->regmap, reg_pwr, DW9719_SHUTDOWN, NULL))
+ dev_err(dw9719->dev, "Error writing to power register\n");
return regulator_disable(dw9719->regulator);
}
static int dw9719_power_up(struct dw9719_device *dw9719, bool detect)
{
- u32 reg_pwr;
+ u32 reg_pwr = dw9719->model == DW9718S ? DW9718S_PD : DW9719_CONTROL;
u64 val;
int ret;
int err;
@@ -109,13 +117,17 @@ static int dw9719_power_up(struct dw9719_device *dw9719, bool detect)
if (ret)
return ret;
- /* Jiggle SCL pin to wake up device */
- reg_pwr = dw9719->model == DW9718S ? DW9718S_PD : DW9719_CONTROL;
- cci_write(dw9719->regmap, reg_pwr, DW9719_SHUTDOWN, &ret);
- fsleep(100);
+ /*
+ * Need 100us to transition from SHUTDOWN to STANDBY.
+ * Jiggle the SCL pin to wake up the device (even when the regulator is
+ * shared) and wait double the time to be sure, as 100us is not enough
+ * at least on the DW9718S as found on the motorola-nora smartphone,
+ * then retry the write.
+ */
+ cci_write(dw9719->regmap, reg_pwr, DW9719_STANDBY, NULL);
+ /* the jiggle is expected to fail, don't even log that as error */
+ fsleep(200);
cci_write(dw9719->regmap, reg_pwr, DW9719_STANDBY, &ret);
- /* Need 100us to transit from SHUTDOWN to STANDBY */
- fsleep(100);
if (detect) {
/* This model does not have an INFO register */
--
2.51.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH v2 1/8] dt-bindings: media: i2c: Add DW9718S, DW9719 and DW9761 VCM
2025-09-20 12:03 ` [PATCH v2 1/8] dt-bindings: media: i2c: Add DW9718S, DW9719 and DW9761 VCM André Apitzsch via B4 Relay
@ 2025-09-22 20:25 ` Rob Herring (Arm)
2025-10-20 20:44 ` Krzysztof Kozlowski
1 sibling, 0 replies; 18+ messages in thread
From: Rob Herring (Arm) @ 2025-09-22 20:25 UTC (permalink / raw)
To: André Apitzsch
Cc: Val Packett, linux-kernel, Mauro Carvalho Chehab, linux-media,
Krzysztof Kozlowski, ~postmarketos/upstreaming, Sakari Ailus,
Conor Dooley, phone-devel, Daniel Scally, devicetree
On Sat, 20 Sep 2025 14:03:40 +0200, André Apitzsch wrote:
> Document Dongwoon DW9718S, DW9719 and DW9761 VCM devicetree bindings.
>
> Signed-off-by: André Apitzsch <git@apitzsch.eu>
>
> --
>
> The possible values for sac-mode and vcm-prescale of DW9719 and DW9761
> are missing because there is no documentation available.
> ---
> .../bindings/media/i2c/dongwoon,dw9719.yaml | 88 ++++++++++++++++++++++
> 1 file changed, 88 insertions(+)
>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2 0/8] media: i2c: dw9719: add DT compatible and DW9718S support
2025-09-20 12:03 [PATCH v2 0/8] media: i2c: dw9719: add DT compatible and DW9718S support André Apitzsch via B4 Relay
` (7 preceding siblings ...)
2025-09-20 12:03 ` [PATCH v2 8/8] media: i2c: dw9719: Fix power on/off sequence André Apitzsch via B4 Relay
@ 2025-10-20 20:40 ` André Apitzsch
2025-10-20 20:45 ` Krzysztof Kozlowski
8 siblings, 1 reply; 18+ messages in thread
From: André Apitzsch @ 2025-10-20 20:40 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, devicetree, Sakari Ailus, Daniel Scally
Cc: ~postmarketos/upstreaming, phone-devel, linux-media, linux-kernel,
Val Packett
Hi,
Am Samstag, dem 20.09.2025 um 14:03 +0200 schrieb André Apitzsch via B4
Relay:
> The DW9718S voice coil motor is found on various smartphones like
> motorola-nora that are currently being worked on in the postmarketOS
> community. Since the way it operates is very similar to DW9719, this
> patch series adds support for it to the existing dw9719 driver.
> Because
> that driver did not yet support DT, we also add DT bindings and the
> dongwoon,dw9719 ofw compatible. With DW9718S, the driver was
> tested fully, including runtime PM.
>
> This is a follow-up of [1] and [2].
>
> Changes compared to previous submission:
> * Deprecate dongwoon,vcm-freq in favor of dongwoon,vcm-prescale
> * Instead of per-device config struct use model ID to handle cases
>
> [1]
> https://lore.kernel.org/linux-media/20250210082035.8670-1-val@packett.cool/
> [2]
> https://lore.kernel.org/linux-media/20250209-dw9761dts-v3-0-14d3f00f0585@apitzsch.eu/
>
> Signed-off-by: André Apitzsch <git@apitzsch.eu>
> ---
> Changes in v2:
> - Add patch (3) which removes i2c device table
> - Restructure patches because of that
> - keep patches 1 and 2
> - add patch 3
> - patch 6 becomes patch 4
> - patch 3 becomes patch 5
> - patch 4 becomes patch 6
> - patch 5 becomes patch 7
> - patch 7 becomes patch 8
> - Patch 1 (bindings)
> - Remove unneeded 'minimum: 0'
> - Remove if/then that handles 'default' to reduce complexity
> - Add myself as maintainer
> - Patch 5
> - Fix void-pointer-to-enum-cast warning
> - Patch 7
> - Drop pm_runtime_mark_last_busy(); it is already called by
> pm_runtime_put_autosuspend()
> - Patch 8
> - Remove extra parentheses
> - Print error if writing to power register fails
> - Add reason for doubled waiting time during power up to comment
> - Pass NULL instead of unused 'ret' to cci_write()
> - Link to v1:
> https://lore.kernel.org/r/20250817-dw9719-v1-0-426f46c69a5a@apitzsch.eu
>
> ---
> André Apitzsch (3):
> dt-bindings: media: i2c: Add DW9718S, DW9719 and DW9761 VCM
> media: i2c: dw9719: Deprecate dongwoon,vcm-freq
> media: i2c: dw9719: Remove unused i2c device id table
>
> Val Packett (5):
> media: i2c: dw9719: Add an of_match_table
> media: i2c: dw9719: Add driver_data matching
> media: i2c: dw9719: Add DW9718S support
> media: i2c: dw9719: Update PM last busy time upon close
> media: i2c: dw9719: Fix power on/off sequence
>
> .../bindings/media/i2c/dongwoon,dw9719.yaml | 88
> +++++++++++++++++
> drivers/media/i2c/dw9719.c | 110
> +++++++++++++++++----
> 2 files changed, 178 insertions(+), 20 deletions(-)
> ---
> base-commit: 846bd2225ec3cfa8be046655e02b9457ed41973e
> change-id: 20250709-dw9719-8a8822efc1b1
>
Gentle ping.
Best regards,
André
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2 1/8] dt-bindings: media: i2c: Add DW9718S, DW9719 and DW9761 VCM
2025-09-20 12:03 ` [PATCH v2 1/8] dt-bindings: media: i2c: Add DW9718S, DW9719 and DW9761 VCM André Apitzsch via B4 Relay
2025-09-22 20:25 ` Rob Herring (Arm)
@ 2025-10-20 20:44 ` Krzysztof Kozlowski
1 sibling, 0 replies; 18+ messages in thread
From: Krzysztof Kozlowski @ 2025-10-20 20:44 UTC (permalink / raw)
To: git, Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, devicetree, Sakari Ailus, Daniel Scally
Cc: ~postmarketos/upstreaming, phone-devel, linux-media, linux-kernel,
Val Packett
On 20/09/2025 14:03, André Apitzsch via B4 Relay wrote:
> From: André Apitzsch <git@apitzsch.eu>
>
> Document Dongwoon DW9718S, DW9719 and DW9761 VCM devicetree bindings.
>
> Signed-off-by: André Apitzsch <git@apitzsch.eu>
>
> --
This is not a correct separator, making the patch corrupted.
Try it yourself - apply this patch and check the result with checkpatch.
>
> The possible values for sac-mode and vcm-prescale of DW9719 and DW9761
> are missing because there is no documentation available.
> ---
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2 0/8] media: i2c: dw9719: add DT compatible and DW9718S support
2025-10-20 20:40 ` [PATCH v2 0/8] media: i2c: dw9719: add DT compatible and DW9718S support André Apitzsch
@ 2025-10-20 20:45 ` Krzysztof Kozlowski
2025-10-21 7:29 ` Sakari Ailus
2025-10-21 19:56 ` André Apitzsch
0 siblings, 2 replies; 18+ messages in thread
From: Krzysztof Kozlowski @ 2025-10-20 20:45 UTC (permalink / raw)
To: André Apitzsch, Mauro Carvalho Chehab, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, devicetree, Sakari Ailus,
Daniel Scally
Cc: ~postmarketos/upstreaming, phone-devel, linux-media, linux-kernel,
Val Packett
On 20/10/2025 22:40, André Apitzsch wrote:
>> .../bindings/media/i2c/dongwoon,dw9719.yaml | 88
>> +++++++++++++++++
>> drivers/media/i2c/dw9719.c | 110
>> +++++++++++++++++----
>> 2 files changed, 178 insertions(+), 20 deletions(-)
>> ---
>> base-commit: 846bd2225ec3cfa8be046655e02b9457ed41973e
>> change-id: 20250709-dw9719-8a8822efc1b1
>>
>
> Gentle ping.
Please apply the patch and run checkpatch. Probably you received
checkpatch warnings from media patchwork, no?
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2 0/8] media: i2c: dw9719: add DT compatible and DW9718S support
2025-10-20 20:45 ` Krzysztof Kozlowski
@ 2025-10-21 7:29 ` Sakari Ailus
2025-10-21 20:08 ` André Apitzsch
2025-10-21 19:56 ` André Apitzsch
1 sibling, 1 reply; 18+ messages in thread
From: Sakari Ailus @ 2025-10-21 7:29 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: André Apitzsch, Mauro Carvalho Chehab, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, devicetree, Daniel Scally,
~postmarketos/upstreaming, phone-devel, linux-media, linux-kernel,
Val Packett
Hi Krzysztof, André,
On Mon, Oct 20, 2025 at 10:45:51PM +0200, Krzysztof Kozlowski wrote:
> On 20/10/2025 22:40, André Apitzsch wrote:
> >> .../bindings/media/i2c/dongwoon,dw9719.yaml | 88
> >> +++++++++++++++++
> >> drivers/media/i2c/dw9719.c | 110
> >> +++++++++++++++++----
> >> 2 files changed, 178 insertions(+), 20 deletions(-)
> >> ---
> >> base-commit: 846bd2225ec3cfa8be046655e02b9457ed41973e
> >> change-id: 20250709-dw9719-8a8822efc1b1
> >>
> >
> > Gentle ping.
>
> Please apply the patch and run checkpatch. Probably you received
> checkpatch warnings from media patchwork, no?
I've fixed it this time while applying it.
--
Regards,
Sakari Ailus
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2 0/8] media: i2c: dw9719: add DT compatible and DW9718S support
2025-10-20 20:45 ` Krzysztof Kozlowski
2025-10-21 7:29 ` Sakari Ailus
@ 2025-10-21 19:56 ` André Apitzsch
2025-10-21 20:06 ` Krzysztof Kozlowski
1 sibling, 1 reply; 18+ messages in thread
From: André Apitzsch @ 2025-10-21 19:56 UTC (permalink / raw)
To: Krzysztof Kozlowski, Mauro Carvalho Chehab, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, devicetree, Sakari Ailus,
Daniel Scally
Cc: ~postmarketos/upstreaming, phone-devel, linux-media, linux-kernel,
Val Packett
Hi Krzysztof,
Am Montag, dem 20.10.2025 um 22:45 +0200 schrieb Krzysztof Kozlowski:
> On 20/10/2025 22:40, André Apitzsch wrote:
> > > .../bindings/media/i2c/dongwoon,dw9719.yaml | 88
> > > +++++++++++++++++
> > > drivers/media/i2c/dw9719.c | 110
> > > +++++++++++++++++----
> > > 2 files changed, 178 insertions(+), 20 deletions(-)
> > > ---
> > > base-commit: 846bd2225ec3cfa8be046655e02b9457ed41973e
> > > change-id: 20250709-dw9719-8a8822efc1b1
> > >
> >
> > Gentle ping.
>
> Please apply the patch and run checkpatch. Probably you received
> checkpatch warnings from media patchwork, no?
>
> Best regards,
> Krzysztof
I run "b4 prep --check" before submitting the series and it didn't
complain about the wrong separator, that you have spotted in patch 1.
There was also no email from media patchwork. Should it send one if
checks fail?
Best regards,
André
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2 0/8] media: i2c: dw9719: add DT compatible and DW9718S support
2025-10-21 19:56 ` André Apitzsch
@ 2025-10-21 20:06 ` Krzysztof Kozlowski
0 siblings, 0 replies; 18+ messages in thread
From: Krzysztof Kozlowski @ 2025-10-21 20:06 UTC (permalink / raw)
To: André Apitzsch, Mauro Carvalho Chehab, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, devicetree, Sakari Ailus,
Daniel Scally
Cc: ~postmarketos/upstreaming, phone-devel, linux-media, linux-kernel,
Val Packett
On 21/10/2025 21:56, André Apitzsch wrote:
> Hi Krzysztof,
>
> Am Montag, dem 20.10.2025 um 22:45 +0200 schrieb Krzysztof Kozlowski:
>> On 20/10/2025 22:40, André Apitzsch wrote:
>>>> .../bindings/media/i2c/dongwoon,dw9719.yaml | 88
>>>> +++++++++++++++++
>>>> drivers/media/i2c/dw9719.c | 110
>>>> +++++++++++++++++----
>>>> 2 files changed, 178 insertions(+), 20 deletions(-)
>>>> ---
>>>> base-commit: 846bd2225ec3cfa8be046655e02b9457ed41973e
>>>> change-id: 20250709-dw9719-8a8822efc1b1
>>>>
>>>
>>> Gentle ping.
>>
>> Please apply the patch and run checkpatch. Probably you received
>> checkpatch warnings from media patchwork, no?
>>
>> Best regards,
>> Krzysztof
>
> I run "b4 prep --check" before submitting the series and it didn't
> complain about the wrong separator, that you have spotted in patch 1.
> There was also no email from media patchwork. Should it send one if
> checks fail?
No, please follow my advice. Apply the patch. Check the result.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2 0/8] media: i2c: dw9719: add DT compatible and DW9718S support
2025-10-21 7:29 ` Sakari Ailus
@ 2025-10-21 20:08 ` André Apitzsch
2025-10-22 6:43 ` Sakari Ailus
0 siblings, 1 reply; 18+ messages in thread
From: André Apitzsch @ 2025-10-21 20:08 UTC (permalink / raw)
To: Sakari Ailus
Cc: Krzysztof Kozlowski, Mauro Carvalho Chehab, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, devicetree, Daniel Scally,
~postmarketos/upstreaming, phone-devel, linux-media, linux-kernel,
Val Packett
Hi Sakari,
Am Dienstag, dem 21.10.2025 um 10:29 +0300 schrieb Sakari Ailus:
> Hi Krzysztof, André,
>
> On Mon, Oct 20, 2025 at 10:45:51PM +0200, Krzysztof Kozlowski wrote:
> > On 20/10/2025 22:40, André Apitzsch wrote:
> > > > .../bindings/media/i2c/dongwoon,dw9719.yaml | 88
> > > > +++++++++++++++++
> > > > drivers/media/i2c/dw9719.c | 110
> > > > +++++++++++++++++----
> > > > 2 files changed, 178 insertions(+), 20 deletions(-)
> > > > ---
> > > > base-commit: 846bd2225ec3cfa8be046655e02b9457ed41973e
> > > > change-id: 20250709-dw9719-8a8822efc1b1
> > > >
> > >
> > > Gentle ping.
> >
> > Please apply the patch and run checkpatch. Probably you received
> > checkpatch warnings from media patchwork, no?
>
> I've fixed it this time while applying it.
Thanks.
It seems you forgot to add the R-b tag from Rob [1] while applying the
patch [2].
Best regards,
André
[1] https://lore.kernel.org/linux-media/175857272737.1273170.8254529909120957681.robh@kernel.org/
[2] https://git.linuxtv.org/sailus/media_tree.git/commit/?id=ab865661212946413ae4eecb3dddc5e98c9d0a3d
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2 0/8] media: i2c: dw9719: add DT compatible and DW9718S support
2025-10-21 20:08 ` André Apitzsch
@ 2025-10-22 6:43 ` Sakari Ailus
0 siblings, 0 replies; 18+ messages in thread
From: Sakari Ailus @ 2025-10-22 6:43 UTC (permalink / raw)
To: André Apitzsch
Cc: Krzysztof Kozlowski, Mauro Carvalho Chehab, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, devicetree, Daniel Scally,
~postmarketos/upstreaming, phone-devel, linux-media, linux-kernel,
Val Packett
On Tue, Oct 21, 2025 at 10:08:06PM +0200, André Apitzsch wrote:
> Hi Sakari,
>
> Am Dienstag, dem 21.10.2025 um 10:29 +0300 schrieb Sakari Ailus:
> > Hi Krzysztof, André,
> >
> > On Mon, Oct 20, 2025 at 10:45:51PM +0200, Krzysztof Kozlowski wrote:
> > > On 20/10/2025 22:40, André Apitzsch wrote:
> > > > > .../bindings/media/i2c/dongwoon,dw9719.yaml | 88
> > > > > +++++++++++++++++
> > > > > drivers/media/i2c/dw9719.c | 110
> > > > > +++++++++++++++++----
> > > > > 2 files changed, 178 insertions(+), 20 deletions(-)
> > > > > ---
> > > > > base-commit: 846bd2225ec3cfa8be046655e02b9457ed41973e
> > > > > change-id: 20250709-dw9719-8a8822efc1b1
> > > > >
> > > >
> > > > Gentle ping.
> > >
> > > Please apply the patch and run checkpatch. Probably you received
> > > checkpatch warnings from media patchwork, no?
> >
> > I've fixed it this time while applying it.
>
> Thanks.
>
> It seems you forgot to add the R-b tag from Rob [1] while applying the
> patch [2].
Thanks, I've fixed that now. I guess I accidentally while removing the
extra lines.
--
Sakari Ailus
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2025-10-22 6:43 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-20 12:03 [PATCH v2 0/8] media: i2c: dw9719: add DT compatible and DW9718S support André Apitzsch via B4 Relay
2025-09-20 12:03 ` [PATCH v2 1/8] dt-bindings: media: i2c: Add DW9718S, DW9719 and DW9761 VCM André Apitzsch via B4 Relay
2025-09-22 20:25 ` Rob Herring (Arm)
2025-10-20 20:44 ` Krzysztof Kozlowski
2025-09-20 12:03 ` [PATCH v2 2/8] media: i2c: dw9719: Deprecate dongwoon,vcm-freq André Apitzsch via B4 Relay
2025-09-20 12:03 ` [PATCH v2 3/8] media: i2c: dw9719: Remove unused i2c device id table André Apitzsch via B4 Relay
2025-09-20 12:03 ` [PATCH v2 4/8] media: i2c: dw9719: Add an of_match_table André Apitzsch via B4 Relay
2025-09-20 12:03 ` [PATCH v2 5/8] media: i2c: dw9719: Add driver_data matching André Apitzsch via B4 Relay
2025-09-20 12:03 ` [PATCH v2 6/8] media: i2c: dw9719: Add DW9718S support André Apitzsch via B4 Relay
2025-09-20 12:03 ` [PATCH v2 7/8] media: i2c: dw9719: Update PM last busy time upon close André Apitzsch via B4 Relay
2025-09-20 12:03 ` [PATCH v2 8/8] media: i2c: dw9719: Fix power on/off sequence André Apitzsch via B4 Relay
2025-10-20 20:40 ` [PATCH v2 0/8] media: i2c: dw9719: add DT compatible and DW9718S support André Apitzsch
2025-10-20 20:45 ` Krzysztof Kozlowski
2025-10-21 7:29 ` Sakari Ailus
2025-10-21 20:08 ` André Apitzsch
2025-10-22 6:43 ` Sakari Ailus
2025-10-21 19:56 ` André Apitzsch
2025-10-21 20:06 ` Krzysztof Kozlowski
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).