linux/drivers/media
Bingbu Cao 90ee26fb2f media: ak7375: Add ak7375 lens voice coil driver
Add a v4l2 sub-device driver for the ak7375 lens voice coil.
This is a voice coil module using the i2c bus to control the
focus position.

ak7375 can write multiple bytes of data at a time. If more
data is received instead of the stop condition after receiving
one byte of data, the address inside the chip is automatically
incremented and the data is written into the next address.

The ak7375 can control the position with 12 bits value and
consists of two 8 bit registers show as below:
register 0x00(AK7375_REG_POSITION):
    +---+---+---+---+---+---+---+---+
    |D11|D10|D09|D08|D07|D06|D05|D04|
    +---+---+---+---+---+---+---+---+
register 0x01:
    +---+---+---+---+---+---+---+---+
    |D03|D02|D01|D00|---|---|---|---|
    +---+---+---+---+---+---+---+---+

This driver support :
    - set ak7375 to standby mode once suspend and
      turn it back to active if resume
    - set the position via V4L2_CID_FOCUS_ABSOLUTE ctrl

[Sakari Ailus: Rename val as ret in probe, drop redundant error message]

Signed-off-by: Tianshu Qiu <tian.shu.qiu@intel.com>
Signed-off-by: Bingbu Cao <bingbu.cao@intel.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
2018-07-04 07:13:34 -04:00
..
cec media: cec: fix wrong tx/rx_status values when canceling a msg 2018-05-28 16:25:25 -04:00
common treewide: Use array_size() in vzalloc() 2018-06-12 16:19:22 -07:00
dvb-core docs: Fix some broken references 2018-06-15 18:10:01 -03:00
dvb-frontends media: dvb: point to the location of the old README.dvb-usb file 2018-06-15 18:10:01 -03:00
firewire vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
i2c media: ak7375: Add ak7375 lens voice coil driver 2018-07-04 07:13:34 -04:00
mmc media: siano: use GFP_DMA only for smssdio 2018-05-15 08:04:42 -04:00
pci media: cx88: add error handling for snd_ctl_add 2018-06-28 07:54:27 -04:00
platform media: s3c-camif: ignore -ENOIOCTLCMD from v4l2_subdev_call for s_power 2018-06-28 09:22:30 -04:00
radio media: v4l: fix broken video4linux docs locations 2018-06-15 18:10:01 -03:00
rc ARM: SoC platform updates 2018-06-11 17:49:09 -07:00
spi media: cxd2880-spi: Modified how to declare structure 2018-05-05 10:37:12 -04:00
tuners Linux 4.17-rc4 2018-05-10 07:19:23 -04:00
usb media: tm6000: add error handling for dvb_register_adapter 2018-06-28 07:54:49 -04:00
v4l2-core media: mem2mem: Remove excessive try_run call 2018-06-28 07:53:44 -04:00
Kconfig media: cec: Kconfig coding style issue 2018-05-09 16:26:50 -04:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
media-device.c media: media.h: remove __NEED_MEDIA_LEGACY_API 2018-06-28 08:10:51 -04:00
media-devnode.c MAINTAINERS & files: Canonize the e-mails I use at files 2018-05-04 06:21:06 -04:00
media-entity.c media: media.h: reorganize header to make it easier to understand 2018-02-26 10:14:46 -05:00