[PATCH V10 0/3] media: i2c: Introduce driver for the TW9900 video decoder

From: Mehdi Djait
Date: Thu Nov 30 2023 - 12:46:56 EST


Hello everyone,

V10 of the series adding support for the Techwell TW9900 multi standard decoder.
It's a pretty simple decoder compared to the TW9910, since it doesn't have a
built-in scaler/crop engine.

v9 => v10:
- fixed two issues pointed out by Dan Carpenter bot and Kernel bot

v8 => v9:
- added a "depends on" GPIOLIB, PM and "select" V4L2_ASYNC to Kconfig
- reworked the locking to protect the tw9900->streaming global state
- folded power_on and power_off into runtime_resume and runtime_suspend
callbacks
- used pm_runtime_resume_and get instead pm_runtime_get_sync

v7 => v8:
- fixed the number of analog input ports: it is just one.
- added endpoints of the analog input port
- added vdd-supply to the required in the dt-binding documentation
- added back pm_runtime
- added a mutex to Serialize access to hardware and current mode configuration
- split get_fmt and set_fmt callbacks
- removed the tw9900_cancel_autodetect()

v6 => v7:
- added powerdown-gpios and input ports to dt-bindings
- added #include <linux/bitfield.h> to fix a Warning from the kernel
robot
- removed a dev_info and replaced a dev_err by dev_err_probe

v5[1] => v6:
- dropped .skip_top and .field in the supported_modes
- added error handling for the i2c writes/reads
- added the colorimetry information to fill_fmt
- removed pm_runtime
- added the g_input_status callback
- dropped SECAM
- dropped the non-standard PAL/NTSC variants

Any feedback is appreciated,

Mehdi Djait

media_tree, base-commit: a00b3f296eac3d43328615c3113e1a74143fc67a

[1] https://lore.kernel.org/linux-media/20210401070802.1685823-1-maxime.chevallier@xxxxxxxxxxx/

Mehdi Djait (3):
dt-bindings: vendor-prefixes: Add techwell vendor prefix
media: dt-bindings: media: i2c: Add bindings for TW9900
media: i2c: Introduce a driver for the Techwell TW9900 decoder

.../bindings/media/i2c/techwell,tw9900.yaml | 137 +++
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
MAINTAINERS | 6 +
drivers/media/i2c/Kconfig | 15 +
drivers/media/i2c/Makefile | 1 +
drivers/media/i2c/tw9900.c | 781 ++++++++++++++++++
6 files changed, 942 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/i2c/techwell,tw9900.yaml
create mode 100644 drivers/media/i2c/tw9900.c

--
2.41.0