linux/drivers/media/i2c
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
..
adv748x media: i2c: adv748x: csi2: set entity function to video interface bridge 2018-06-28 07:50:54 -04:00
cx25840 media: cx25840: Use subdev host data for PLL override 2018-03-07 04:04:40 -05:00
et8ek8 media: et8ek8: select V4L2_FWNODE 2017-11-30 04:42:19 -05:00
m5mols media: m5mols: fix some kernel-doc markups 2017-11-30 04:18:55 -05:00
s5c73m3 media: s5c73m3-core: fix logic on a timeout condition 2018-03-07 05:55:05 -05:00
smiapp media: smiapp: Support the "rotation" property 2018-06-28 08:44:00 -04:00
soc_camera media: soc_camera: ov772x: correct setting of banding filter 2018-06-28 09:22:57 -04:00
ad5820.c [media] ad5820: unregister async sub-device 2017-06-08 12:34:17 -03:00
ad9389b.c media: i2c: add SPDX license info 2018-02-14 13:16:31 -05:00
adp1653.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
adv7170.c [media] adv7170: drop redundant ret local 2017-01-30 15:47:05 -02:00
adv7175.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
adv7180.c media: adv7180: Remove duplicate checks 2017-12-08 10:12:45 -05:00
adv7183_regs.h scripts/spelling.txt: add "swithc" pattern and fix typo instances 2017-02-27 18:43:46 -08:00
adv7183.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
adv7343_regs.h
adv7343.c media: fix usage of whitespaces and on indentation 2018-01-04 13:12:01 -05:00
adv7393_regs.h
adv7393.c media: fix usage of whitespaces and on indentation 2018-01-04 13:12:01 -05:00
adv7511.c media: adv7511: fix incorrect clear of CEC receive interrupt 2018-05-28 16:25:45 -04:00
adv7604.c media: adv7604: simplify of_node_put() 2018-06-28 06:48:52 -04:00
adv7842.c media: i2c: add SPDX license info 2018-02-14 13:16:31 -05:00
ak881x.c [media] drivers: media: i2c: ak881x: constify v4l2_subdev_* structures 2017-02-03 09:33:55 -02:00
ak7375.c media: ak7375: Add ak7375 lens voice coil driver 2018-07-04 07:13:34 -04:00
aptina-pll.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
aptina-pll.h [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
bt819.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
bt856.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
bt866.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
cs53l32a.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
cs3308.c [media] media/i2c: Delete owner assignment 2016-09-06 16:21:24 -03:00
cs5345.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
dw9714.c media: dw9714: Update to SPDX license identifier 2018-04-04 06:12:53 -04:00
dw9807.c media: dw9807: Add dw9807 vcm driver 2018-06-28 09:21:32 -04:00
imx258.c media: imx258: Check the rotation property has a value of 180 2018-06-27 09:49:11 -04:00
imx274.c media: imx274: remove non-indexed pointers from mode_table 2018-05-17 06:22:08 -04:00
ir-kbd-i2c.c media: rc: probe zilog transmitter when zilog receiver is found 2018-05-04 08:22:36 -04:00
Kconfig media: ak7375: Add ak7375 lens voice coil driver 2018-07-04 07:13:34 -04:00
ks0127.c media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
ks0127.h [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
lm3560.c media: i2c: lm3560: add support for lm3559 chip 2018-06-28 07:10:01 -04:00
lm3646.c [media] media framework: rename pads init function to media_entity_pads_init() 2016-01-11 12:19:03 -02:00
m52790.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
Makefile media: ak7375: Add ak7375 lens voice coil driver 2018-07-04 07:13:34 -04:00
max2175.c media: max2175: fix location of driver's companion documentation 2018-06-15 18:10:41 -03:00
max2175.h [media] media: i2c: max2175: Add MAX2175 support 2017-06-20 07:02:43 -03:00
ml86v7667.c [media] drivers: media: i2c: ml86v7667: constify v4l2_subdev_* structures 2017-02-03 09:34:43 -02:00
msp3400-driver.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
msp3400-driver.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
msp3400-kthreads.c treewide: Align function definition open/close braces 2018-03-26 11:13:09 +02:00
mt9m032.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
mt9m111.c media: entity: Add a nop variant of media_entity_cleanup 2018-01-23 08:12:01 -05:00
mt9p031.c [media] drivers: media: i2c: constify v4l2_subdev_* structures 2017-02-03 09:23:19 -02:00
mt9t001.c media: v4l: mt9t001: constify video_subdev structures 2017-08-20 08:32:00 -04:00
mt9t112.c media: i2c: mt9t112: Remove soc_camera dependencies 2018-03-21 15:29:07 -04:00
mt9v011.c media: convert g/s_parm to g/s_frame_interval in subdevs 2018-02-22 12:27:35 -05:00
mt9v032.c media: v4l: mt9v032: Disable clock on error paths 2017-12-08 09:24:01 -05:00
noon010pc30.c [media] drivers: media: i2c: constify v4l2_subdev_* structures 2017-02-03 09:23:19 -02:00
ov772x.c media: ov772x: create subdevice device node 2018-06-28 09:19:03 -04:00
ov2640.c media: ov2640: make s_ctrl() work in power-down mode 2018-05-17 06:22:08 -04:00
ov2659.c media: entity: Add a nop variant of media_entity_cleanup 2018-01-23 08:12:01 -05:00
ov2685.c media: ov2685: Remove owner assignment from i2c_driver 2018-04-04 06:12:53 -04:00
ov5640.c media: ov5640: fix frame interval enumeration 2018-06-28 09:24:38 -04:00
ov5645.c media: ov5645: Fix write_reg return code 2018-05-17 06:22:08 -04:00
ov5647.c media: drivers: remove "/**" from non-kernel-doc comments 2017-11-30 04:19:03 -05:00
ov5670.c media: ov5670: Update to SPDX identifier 2018-04-04 06:12:53 -04:00
ov5695.c media: ov5695: Remove owner assignment from i2c_driver 2018-05-04 14:33:25 -04:00
ov6650.c media: convert g/s_parm to g/s_frame_interval in subdevs 2018-02-22 12:27:35 -05:00
ov7251.c media: Add a driver for the ov7251 camera sensor 2018-05-17 06:22:08 -04:00
ov7640.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
ov7670.c media: v4l2: i2c: ov7670: Implement OF mbus configuration 2018-02-23 03:05:51 -05:00
ov7740.c media: ov7740: Set subdev HAS_EVENT flag 2018-04-23 13:58:31 -04:00
ov9650.c media: i2c: ov9650: fix potential integer overflow in __ov965x_set_frame_interval 2018-02-23 03:03:32 -05:00
ov13858.c media: ov13858: Remove owner assignment from i2c_driver 2018-05-04 14:33:48 -04:00
rj54n1cb0c.c media: i2c: rj54n1: Remove soc_camera dependencies 2018-06-28 07:27:11 -04:00
s5k4ecgx.c [media] media/i2c: Delete owner assignment 2016-09-06 16:21:24 -03:00
s5k5baf.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
s5k6a3.c media: s5k6a3: document some fields at struct s5k6a3 2017-11-30 04:18:57 -05:00
s5k6aa.c media: s5k6aa: describe some function parameters 2017-11-30 04:18:58 -05:00
saa711x_regs.h MAINTAINERS & files: Canonize the e-mails I use at files 2018-05-04 06:21:06 -04:00
saa717x.c media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
saa6588.c [poll] annotate SAA6588_CMD_POLL users 2018-02-15 13:11:48 -05:00
saa6752hs.c media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
saa7110.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
saa7115.c MAINTAINERS & files: Canonize the e-mails I use at files 2018-05-04 06:21:06 -04:00
saa7127.c media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
saa7185.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
smiapp-pll.c [media] smiapp-pll: Don't complain aloud about failing PLL calculation 2016-10-21 15:15:06 -02:00
smiapp-pll.h
sony-btf-mpx.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
sr030pc30.c media: sr030pc30: prevent array underflow in try_fmt() 2018-03-06 08:20:22 -05:00
tc358743_regs.h media: i2c: add SPDX license info 2018-02-14 13:16:31 -05:00
tc358743.c media: tc358743: release device_node in tc358743_probe_of() 2018-06-28 06:38:43 -04:00
tda1997x_regs.h media: i2c: Add TDA1997x HDMI receiver driver 2018-02-22 12:53:32 -05:00
tda1997x.c media updates for v4.18-rc1 2018-06-07 12:34:37 -07:00
tda7432.c MAINTAINERS & files: Canonize the e-mails I use at files 2018-05-04 06:21:06 -04:00
tda9840.c media: tda9840: cleanup a warning 2018-03-23 07:48:08 -04:00
tea6415c.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
tea6415c.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
tea6420.c [media] i2c: Drop owner assignment from i2c_driver 2015-08-11 13:00:15 -03:00
tea6420.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ths7303.c media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
ths8200_regs.h
ths8200.c media: ths8200: constify i2c_device_id 2017-08-26 08:43:40 -04:00
tlv320aic23b.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
tvaudio.c media: tvaudio: improve error handling 2018-03-23 06:54:32 -04:00
tvp514x_regs.h [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
tvp514x.c media: tvp541x: fix some kernel-doc parameters 2018-02-26 08:31:28 -05:00
tvp5150_reg.h MAINTAINERS & files: Canonize the e-mails I use at files 2018-05-04 06:21:06 -04:00
tvp5150.c media: Revert "[media] tvp5150: fix pad format frame height" 2018-06-28 07:58:23 -04:00
tvp7002_reg.h MAINTAINERS & files: Canonize the e-mails I use at files 2018-05-04 06:21:06 -04:00
tvp7002.c MAINTAINERS & files: Canonize the e-mails I use at files 2018-05-04 06:21:06 -04:00
tw2804.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
tw9903.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
tw9906.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
tw9910.c media: tw9910: Replace msleep(1) with usleep_range 2018-03-06 11:57:16 -05:00
uda1342.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
upd64031a.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
upd64083.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
video-i2c.c media: video-i2c: get rid of two gcc warnings 2018-05-04 10:18:05 -04:00
vp27smpx.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
vpx3220.c media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
vs6624_regs.h [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
vs6624.c media: convert g/s_parm to g/s_frame_interval in subdevs 2018-02-22 12:27:35 -05:00
wm8739.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00
wm8775.c [media] media: Drop FSF's postal address from the source code files 2017-01-27 11:38:09 -02:00