diff options
Diffstat (limited to 'drivers/media/i2c')
| -rw-r--r-- | drivers/media/i2c/Kconfig | 1 | ||||
| -rw-r--r-- | drivers/media/i2c/et8ek8/Kconfig | 1 | ||||
| -rw-r--r-- | drivers/media/i2c/imx274.c | 5 | ||||
| -rw-r--r-- | drivers/media/i2c/lm3560.c | 1 | ||||
| -rw-r--r-- | drivers/media/i2c/m5mols/m5mols_capture.c | 5 | ||||
| -rw-r--r-- | drivers/media/i2c/m5mols/m5mols_controls.c | 1 | ||||
| -rw-r--r-- | drivers/media/i2c/m5mols/m5mols_core.c | 20 | ||||
| -rw-r--r-- | drivers/media/i2c/ov5647.c | 4 | ||||
| -rw-r--r-- | drivers/media/i2c/s5k6a3.c | 3 | ||||
| -rw-r--r-- | drivers/media/i2c/s5k6aa.c | 5 | ||||
| -rw-r--r-- | drivers/media/i2c/tvp514x.c | 12 | 
11 files changed, 47 insertions, 11 deletions
diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig index 3c6d6428f525..cb5d7ff82915 100644 --- a/drivers/media/i2c/Kconfig +++ b/drivers/media/i2c/Kconfig @@ -676,6 +676,7 @@ config VIDEO_OV13858  	tristate "OmniVision OV13858 sensor support"  	depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API  	depends on MEDIA_CAMERA_SUPPORT +	select V4L2_FWNODE  	---help---  	  This is a Video4Linux2 sensor-level driver for the OmniVision  	  OV13858 camera. diff --git a/drivers/media/i2c/et8ek8/Kconfig b/drivers/media/i2c/et8ek8/Kconfig index 14399365ad7f..9fe409e95666 100644 --- a/drivers/media/i2c/et8ek8/Kconfig +++ b/drivers/media/i2c/et8ek8/Kconfig @@ -1,6 +1,7 @@  config VIDEO_ET8EK8  	tristate "ET8EK8 camera sensor support"  	depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API +	select V4L2_FWNODE  	---help---  	  This is a driver for the Toshiba ET8EK8 5 MP camera sensor.  	  It is used for example in Nokia N900 (RX-51). diff --git a/drivers/media/i2c/imx274.c b/drivers/media/i2c/imx274.c index 800b9bf9cdd3..2f71af2f90bf 100644 --- a/drivers/media/i2c/imx274.c +++ b/drivers/media/i2c/imx274.c @@ -1770,8 +1770,7 @@ static int imx274_probe(struct i2c_client *client,  	return 0;  err_ctrls: -	v4l2_async_unregister_subdev(sd); -	v4l2_ctrl_handler_free(sd->ctrl_handler); +	v4l2_ctrl_handler_free(&imx274->ctrls.handler);  err_me:  	media_entity_cleanup(&sd->entity);  err_regmap: @@ -1788,7 +1787,7 @@ static int imx274_remove(struct i2c_client *client)  	imx274_write_table(imx274, mode_table[IMX274_MODE_STOP_STREAM]);  	v4l2_async_unregister_subdev(sd); -	v4l2_ctrl_handler_free(sd->ctrl_handler); +	v4l2_ctrl_handler_free(&imx274->ctrls.handler);  	media_entity_cleanup(&sd->entity);  	mutex_destroy(&imx274->lock);  	return 0; diff --git a/drivers/media/i2c/lm3560.c b/drivers/media/i2c/lm3560.c index 251a2aaf98c3..b600e03aa94b 100644 --- a/drivers/media/i2c/lm3560.c +++ b/drivers/media/i2c/lm3560.c @@ -50,6 +50,7 @@ enum led_enable {  /**   * struct lm3560_flash   * + * @dev: pointer to &struct device   * @pdata: platform data   * @regmap: reg. map for i2c   * @lock: muxtex for serial access. diff --git a/drivers/media/i2c/m5mols/m5mols_capture.c b/drivers/media/i2c/m5mols/m5mols_capture.c index a0cd6dc32eb0..0fb457f57995 100644 --- a/drivers/media/i2c/m5mols/m5mols_capture.c +++ b/drivers/media/i2c/m5mols/m5mols_capture.c @@ -33,6 +33,10 @@  /**   * m5mols_read_rational - I2C read of a rational number + * @sd: sub-device, as pointed by struct v4l2_subdev + * @addr_num: numerator register + * @addr_den: denominator register + * @val: place to store the division result   *   * Read numerator and denominator from registers @addr_num and @addr_den   * respectively and return the division result in @val. @@ -53,6 +57,7 @@ static int m5mols_read_rational(struct v4l2_subdev *sd, u32 addr_num,  /**   * m5mols_capture_info - Gather captured image information + * @info: M-5MOLS driver data structure   *   * For now it gathers only EXIF information and file size.   */ diff --git a/drivers/media/i2c/m5mols/m5mols_controls.c b/drivers/media/i2c/m5mols/m5mols_controls.c index c2218c0a9e6f..82eab7c2bc8c 100644 --- a/drivers/media/i2c/m5mols/m5mols_controls.c +++ b/drivers/media/i2c/m5mols/m5mols_controls.c @@ -126,6 +126,7 @@ static struct m5mols_scenemode m5mols_default_scenemode[] = {  /**   * m5mols_do_scenemode() - Change current scenemode + * @info: M-5MOLS driver data structure   * @mode:	Desired mode of the scenemode   *   * WARNING: The execution order is important. Do not change the order. diff --git a/drivers/media/i2c/m5mols/m5mols_core.c b/drivers/media/i2c/m5mols/m5mols_core.c index 463534d44756..12e79f9e32d5 100644 --- a/drivers/media/i2c/m5mols/m5mols_core.c +++ b/drivers/media/i2c/m5mols/m5mols_core.c @@ -114,7 +114,8 @@ static const struct m5mols_resolution m5mols_reg_res[] = {  /**   * m5mols_swap_byte - an byte array to integer conversion function - * @size: size in bytes of I2C packet defined in the M-5MOLS datasheet + * @data: byte array + * @length: size in bytes of I2C packet defined in the M-5MOLS datasheet   *   * Convert I2C data byte array with performing any required byte   * reordering to assure proper values for each data type, regardless @@ -132,8 +133,9 @@ static u32 m5mols_swap_byte(u8 *data, u8 length)  /**   * m5mols_read -  I2C read function - * @reg: combination of size, category and command for the I2C packet + * @sd: sub-device, as pointed by struct v4l2_subdev   * @size: desired size of I2C packet + * @reg: combination of size, category and command for the I2C packet   * @val: read value   *   * Returns 0 on success, or else negative errno. @@ -232,6 +234,7 @@ int m5mols_read_u32(struct v4l2_subdev *sd, u32 reg, u32 *val)  /**   * m5mols_write - I2C command write function + * @sd: sub-device, as pointed by struct v4l2_subdev   * @reg: combination of size, category and command for the I2C packet   * @val: value to write   * @@ -284,6 +287,7 @@ int m5mols_write(struct v4l2_subdev *sd, u32 reg, u32 val)  /**   * m5mols_busy_wait - Busy waiting with I2C register polling + * @sd: sub-device, as pointed by struct v4l2_subdev   * @reg: the I2C_REG() address of an 8-bit status register to check   * @value: expected status register value   * @mask: bit mask for the read status register value @@ -316,6 +320,8 @@ int m5mols_busy_wait(struct v4l2_subdev *sd, u32 reg, u32 value, u32 mask,  /**   * m5mols_enable_interrupt - Clear interrupt pending bits and unmask interrupts + * @sd: sub-device, as pointed by struct v4l2_subdev + * @reg: combination of size, category and command for the I2C packet   *   * Before writing desired interrupt value the INT_FACTOR register should   * be read to clear pending interrupts. @@ -349,6 +355,8 @@ int m5mols_wait_interrupt(struct v4l2_subdev *sd, u8 irq_mask, u32 timeout)  /**   * m5mols_reg_mode - Write the mode and check busy status + * @sd: sub-device, as pointed by struct v4l2_subdev + * @mode: the required operation mode   *   * It always accompanies a little delay changing the M-5MOLS mode, so it is   * needed checking current busy status to guarantee right mode. @@ -364,6 +372,7 @@ static int m5mols_reg_mode(struct v4l2_subdev *sd, u8 mode)  /**   * m5mols_set_mode - set the M-5MOLS controller mode + * @info: M-5MOLS driver data structure   * @mode: the required operation mode   *   * The commands of M-5MOLS are grouped into specific modes. Each functionality @@ -421,6 +430,7 @@ int m5mols_set_mode(struct m5mols_info *info, u8 mode)  /**   * m5mols_get_version - retrieve full revisions information of M-5MOLS + * @sd: sub-device, as pointed by struct v4l2_subdev   *   * The version information includes revisions of hardware and firmware,   * AutoFocus alghorithm version and the version string. @@ -489,6 +499,7 @@ static enum m5mols_restype __find_restype(u32 code)  /**   * __find_resolution - Lookup preset and type of M-5MOLS's resolution + * @sd: sub-device, as pointed by struct v4l2_subdev   * @mf: pixel format to find/negotiate the resolution preset for   * @type: M-5MOLS resolution type   * @resolution:	M-5MOLS resolution preset register value @@ -662,6 +673,7 @@ static const struct v4l2_subdev_pad_ops m5mols_pad_ops = {  /**   * m5mols_restore_controls - Apply current control values to the registers + * @info: M-5MOLS driver data structure   *   * m5mols_do_scenemode() handles all parameters for which there is yet no   * individual control. It should be replaced at some point by setting each @@ -686,6 +698,7 @@ int m5mols_restore_controls(struct m5mols_info *info)  /**   * m5mols_start_monitor - Start the monitor mode + * @info: M-5MOLS driver data structure   *   * Before applying the controls setup the resolution and frame rate   * in PARAMETER mode, and then switch over to MONITOR mode. @@ -789,6 +802,7 @@ int __attribute__ ((weak)) m5mols_update_fw(struct v4l2_subdev *sd,  /**   * m5mols_fw_start - M-5MOLS internal ARM controller initialization + * @sd: sub-device, as pointed by struct v4l2_subdev   *   * Execute the M-5MOLS internal ARM controller initialization sequence.   * This function should be called after the supply voltage has been @@ -844,6 +858,8 @@ static int m5mols_auto_focus_stop(struct m5mols_info *info)  /**   * m5mols_s_power - Main sensor power control function + * @sd: sub-device, as pointed by struct v4l2_subdev + * @on: if true, powers on the device; powers off otherwise.   *   * To prevent breaking the lens when the sensor is powered off the Soft-Landing   * algorithm is called where available. The Soft-Landing algorithm availability diff --git a/drivers/media/i2c/ov5647.c b/drivers/media/i2c/ov5647.c index 34179d232a35..da39c49de503 100644 --- a/drivers/media/i2c/ov5647.c +++ b/drivers/media/i2c/ov5647.c @@ -428,8 +428,8 @@ static int ov5647_sensor_set_register(struct v4l2_subdev *sd,  }  #endif -/** - * @short Subdev core operations registration +/* + * Subdev core operations registration   */  static const struct v4l2_subdev_core_ops ov5647_subdev_core_ops = {  	.s_power		= ov5647_sensor_power, diff --git a/drivers/media/i2c/s5k6a3.c b/drivers/media/i2c/s5k6a3.c index 67dcca76f981..2e140272794b 100644 --- a/drivers/media/i2c/s5k6a3.c +++ b/drivers/media/i2c/s5k6a3.c @@ -53,6 +53,9 @@ enum {   * @gpio_reset: GPIO connected to the sensor's reset pin   * @lock: mutex protecting the structure's members below   * @format: media bus format at the sensor's source pad + * @clock: pointer to &struct clk. + * @clock_frequency: clock frequency + * @power_count: stores state if device is powered   */  struct s5k6a3 {  	struct device *dev; diff --git a/drivers/media/i2c/s5k6aa.c b/drivers/media/i2c/s5k6aa.c index 9fd254a8e20d..13c10b5e2b45 100644 --- a/drivers/media/i2c/s5k6aa.c +++ b/drivers/media/i2c/s5k6aa.c @@ -421,6 +421,7 @@ static int s5k6aa_set_ahb_address(struct i2c_client *client)  /**   * s5k6aa_configure_pixel_clock - apply ISP main clock/PLL configuration + * @s5k6aa: pointer to &struct s5k6aa describing the device   *   * Configure the internal ISP PLL for the required output frequency.   * Locking: called with s5k6aa.lock mutex held. @@ -669,6 +670,7 @@ static int s5k6aa_set_input_params(struct s5k6aa *s5k6aa)  /**   * s5k6aa_configure_video_bus - configure the video output interface + * @s5k6aa: pointer to &struct s5k6aa describing the device   * @bus_type: video bus type: parallel or MIPI-CSI   * @nlanes: number of MIPI lanes to be used (MIPI-CSI only)   * @@ -724,6 +726,8 @@ static int s5k6aa_new_config_sync(struct i2c_client *client, int timeout,  /**   * s5k6aa_set_prev_config - write user preview register set + * @s5k6aa: pointer to &struct s5k6aa describing the device + * @preset: s5kaa preset to be applied   *   * Configure output resolution and color fromat, pixel clock   * frequency range, device frame rate type and frame period range. @@ -777,6 +781,7 @@ static int s5k6aa_set_prev_config(struct s5k6aa *s5k6aa,  /**   * s5k6aa_initialize_isp - basic ISP MCU initialization + * @sd: pointer to V4L2 sub-device descriptor   *   * Configure AHB addresses for registers read/write; configure PLLs for   * required output pixel clock. The ISP power supply needs to be already diff --git a/drivers/media/i2c/tvp514x.c b/drivers/media/i2c/tvp514x.c index ad2df998f9c5..d575b3e7e835 100644 --- a/drivers/media/i2c/tvp514x.c +++ b/drivers/media/i2c/tvp514x.c @@ -86,6 +86,7 @@ static int tvp514x_s_stream(struct v4l2_subdev *sd, int enable);  /**   * struct tvp514x_decoder - TVP5146/47 decoder object   * @sd: Subdevice Slave handle + * @hdl: embedded &struct v4l2_ctrl_handler   * @tvp514x_regs: copy of hw's regs with preset values.   * @pdata: Board specific   * @ver: Chip version @@ -98,6 +99,9 @@ static int tvp514x_s_stream(struct v4l2_subdev *sd, int enable);   * @std_list: Standards list   * @input: Input routing at chip level   * @output: Output routing at chip level + * @pad: subdev media pad associated with the decoder + * @format: media bus frame format + * @int_seq: driver's register init sequence   */  struct tvp514x_decoder {  	struct v4l2_subdev sd; @@ -211,7 +215,7 @@ static struct tvp514x_reg tvp514x_reg_list_default[] = {  	{TOK_TERM, 0, 0},  }; -/** +/*   * List of image formats supported by TVP5146/47 decoder   * Currently we are using 8 bit mode only, but can be   * extended to 10/20 bit mode. @@ -226,7 +230,7 @@ static const struct v4l2_fmtdesc tvp514x_fmt_list[] = {  	},  }; -/** +/*   * Supported standards -   *   * Currently supports two standards only, need to add support for rest of the @@ -931,7 +935,7 @@ static int tvp514x_get_pad_format(struct v4l2_subdev *sd,   * tvp514x_set_pad_format() - V4L2 decoder interface handler for set pad format   * @sd: pointer to standard V4L2 sub-device structure   * @cfg: pad configuration - * @format: pointer to v4l2_subdev_format structure + * @fmt: pointer to v4l2_subdev_format structure   *   * Set pad format for the output pad   */ @@ -1199,7 +1203,7 @@ static const struct tvp514x_reg tvp514xm_init_reg_seq[] = {  	{TOK_TERM, 0, 0},  }; -/** +/*   * I2C Device Table -   *   * name - Name of the actual device/chip.  | 
