[PATCH v1 0/2] media: i2c: Add support for GT97xx VCM

From: Zhi Mao
Date: Fri Apr 19 2024 - 21:19:15 EST


This series add YAML DT binding and V4L2 sub-device driver for Giantec's GT9768&GT9769.
GT9768&GT9769 is a 10-bit DAC with 100mA output current sink capability, designed
for voice coil motor(VCM) with I2C control bus.

This driver supports:
- support pm runtime function for suspend/resume
- support camera lens focus position by V4L2_CID_FOCUS_ABSOLUTE CMD
- used in camera features on ChromeOS application

Previous versions of this patch-set can be found here:
v0: https://lore.kernel.org/all/20240410104002.1197-1-zhi.mao@xxxxxxxxxxxx/

This series is based on linux-next, tag: next-20240419
Changes in v1:
- dts-binding files:
-- remove "aac-mode/aac-timing/clock-presc" control information
-- remove words:"drivers" in commit message, as bindings are for hardware
-- use compatible filename for YAML
-- remove some uselss comments, as they are clear from the compatibles
-- use "camera-lens" as node-name

- gt97xx vcm driver:
-- use BIT(x) method to define some MACROs
-- remove "aac-mode/aac-timing/clock-presc" control and use the default settings
-- fix duplicate "return" case in function:power_on()/power_off()
-- use API:device_get_match_data() and dev_err_probe() in function:probe()
-- fix some coding style of comments

Thanks

Zhi Mao (2):
media: dt-bindings: i2c: add Giantec GT97xx VCM driver
media: i2c: Add GT97xx VCM driver

.../bindings/media/i2c/giantec,gt9769.yaml | 56 +++
drivers/media/i2c/Kconfig | 13 +
drivers/media/i2c/Makefile | 1 +
drivers/media/i2c/gt97xx.c | 436 ++++++++++++++++++
4 files changed, 506 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/i2c/giantec,gt9769.yaml
create mode 100644 drivers/media/i2c/gt97xx.c

--
2.25.1