[PATCH v6 0/4] media: i2c: ds90ub953: Add back channel GPIO support

Guoniu Zhou
2026-04-24T01:39:58Z

Add back channel GPIO support.
dt-bindings: media: ti,ds90ub953: Add support for remote GPIO data source
media: i2c: ds90ub953: Add back channel GPIO support

Use helper macro to simplify code.
media: i2c: ds90ub953: use devm_mutex_init() to simplify code
media: i2c: ds90ub953: use guard() to simplify code

Signed-off-by: Guoniu Zhou <guoniu.zhou@nxp.com>
---
Changes in v6:
- Rebased to latest media/next
- Replaced label "err" with "out"
- Changed approach from extending GPIO range (v5) to using a custom GPIO
flag (GPIO_DATA_SOURCE_REMOTE) as suggested by the driver maintainer
- Dropped Reviewed-by tag from Rob Herring due to significant binding change
- Added GPIO_DATA_SOURCE_REMOTE flag to dt-bindings/gpio/gpio.h
- Updated dt-bindings documentation accordingly
- Added Reviewed-by tag from Tomi Valkeinen
- Detailed changes can be found in each patch's changelog
- Link to v5: https://lore.kernel.org/r/20260228-ds90ub953-v5-0-056cf07cc8f1@nxp.com

Changes in v5:
- Improve the description for "#gpio-cells" as commented by Conor.
- Detail change see each patches's change log.
- Link to v4: https://lore.kernel.org/r/20260227-ds90ub953-v4-0-dea596205f9e@nxp.com

Changes in v4:
- Rebase to 7.0-rc1
- Use folder block instead of literal block for #gpio-cell property description.
- Only log GPIO 0-3 stats since remote GPIO 4-7 reuse GPIO 0-3 pins.
- Link to v3: https://lore.kernel.org/r/20250916-ds90ub953-v3-0-bb7bc6545da7@nxp.com

Changes in v3:
- Make GPIO range from 0-3 to 0-7 to support GPIO data from remote
compatible deserializer suggested by Rob instead of adding third
cell for GPIO controller.
- Update driver to expand GPIO range.
- Link to v2: https://lore.kernel.org/r/20250911-ds90ub953-v2-0-03ee76eb6b59@nxp.com

Changes in v2:
- Remove new property ti,gpio-data added in patch 1.
- Add third cell for GPIO controller to select GPIO output source.
- Move PTR_ERR() in dev_err_probe();
- Parse gpio third cell to select which GPIO pin the data from remote compatible deserializer.
- Link to v1: https://lore.kernel.org/r/20250910-ds90ub953-v1-0-a7813ffbdf11@nxp.com

---
Guoniu Zhou (4):
dt-bindings: media: ti,ds90ub953: Add support for remote GPIO data source
media: i2c: ds90ub953: Add back channel GPIO support
media: i2c: ds90ub953: use devm_mutex_init() to simplify code
media: i2c: ds90ub953: use guard() to simplify code

.../bindings/media/i2c/ti,ds90ub953.yaml | 6 +-
drivers/media/i2c/ds90ub953.c | 118 +++++++++++++--------
include/dt-bindings/gpio/gpio.h | 8 ++
3 files changed, 83 insertions(+), 49 deletions(-)
---
base-commit: 4fbeef21f5387234111b5d52924e77757626faa5
change-id: 20250901-ds90ub953-168628c53a00

Best regards,
--
Guoniu Zhou <guoniu.zhou@oss.nxp.com>