From: Dongchun Zhu <dongchun.zhu@xxxxxxxxxxxx> Hello, Add a v4l2 sub-device driver for Dongwoon's DW9768 lens voice coil. This is a voice coil module using the i2c bus to control the focus position. The DW9768 can control the position with 10 bits value and consists of two 8 bit registers show as below. register 0x04(DW9768_REG_POSITION): +---+---+---+---+---+---+---+---+ |D07|D06|D05|D04|D03|D02|D01|D00| +---+---+---+---+---+---+---+---+ register 0x03: +---+---+---+---+---+---+---+---+ |---|---|---|---|---|---|D09|D08| +---+---+---+---+---+---+---+---+ This driver supports: - set DW9768 to standby mode once suspend and turn it back to active if resume - set the position via V4L2_CID_FOCUS_ABSOLUTE ctrl Mainly changes of v2 are addressing the comments from Tomasz, Bingbu, Andy, including, - Use i2c_smbus_write_byte_data/i2c_smbus_write_block_data to write I2C register - Adopt the runtime PM suspend/resume callbacks to powering off/on - Check the PM runtime status before powering off in dw9768_remove function - Add one more regulator vin for the I2C interface - Remove or refine redundant log print - Fix other reviewed issues in v1 Dongchun Zhu (2): media: i2c: dw9768: Add DT support and MAINTAINERS entry media: i2c: Add DW9768 VCM driver .../bindings/media/i2c/dongwoon,dw9768.txt | 9 + MAINTAINERS | 8 + drivers/media/i2c/Kconfig | 10 + drivers/media/i2c/Makefile | 1 + drivers/media/i2c/dw9768.c | 349 +++++++++++++++++++++ 5 files changed, 377 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/i2c/dongwoon,dw9768.txt create mode 100644 drivers/media/i2c/dw9768.c -- 2.9.2