mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
[media] v4l2-subdev: remove core.s_config and v4l2_i2c_new_subdev_cfg()
The core.s_config op was meant for legacy drivers that needed to work with old pre-2.6.26 kernels. This is no longer relevant. Unfortunately, this op was incorrectly called from several drivers. Replace those occurences with proper i2c_board_info structs and call v4l2_i2c_new_subdev_board. After these changes v4l2_i2c_new_subdev_cfg() was no longer used, so remove that function as well. Signed-off-by: Hans Verkuil <[email protected]> Acked-by: Laurent Pinchart <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
This commit is contained in:
parent
ecb71d262b
commit
3c7c9370fb
12 changed files with 118 additions and 171 deletions
17
include/media/mt9v011.h
Normal file
17
include/media/mt9v011.h
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
/* mt9v011 sensor
|
||||
*
|
||||
* Copyright (C) 2011 Hans Verkuil <hverkuil@xs4all.nl>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#ifndef __MT9V011_H__
|
||||
#define __MT9V011_H__
|
||||
|
||||
struct mt9v011_platform_data {
|
||||
unsigned xtal; /* Hz */
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
@ -138,21 +138,10 @@ struct v4l2_subdev_ops;
|
|||
|
||||
/* Load an i2c module and return an initialized v4l2_subdev struct.
|
||||
The client_type argument is the name of the chip that's on the adapter. */
|
||||
struct v4l2_subdev *v4l2_i2c_new_subdev_cfg(struct v4l2_device *v4l2_dev,
|
||||
struct v4l2_subdev *v4l2_i2c_new_subdev(struct v4l2_device *v4l2_dev,
|
||||
struct i2c_adapter *adapter, const char *client_type,
|
||||
int irq, void *platform_data,
|
||||
u8 addr, const unsigned short *probe_addrs);
|
||||
|
||||
/* Load an i2c module and return an initialized v4l2_subdev struct.
|
||||
The client_type argument is the name of the chip that's on the adapter. */
|
||||
static inline struct v4l2_subdev *v4l2_i2c_new_subdev(struct v4l2_device *v4l2_dev,
|
||||
struct i2c_adapter *adapter, const char *client_type,
|
||||
u8 addr, const unsigned short *probe_addrs)
|
||||
{
|
||||
return v4l2_i2c_new_subdev_cfg(v4l2_dev, adapter, client_type, 0, NULL,
|
||||
addr, probe_addrs);
|
||||
}
|
||||
|
||||
struct i2c_board_info;
|
||||
|
||||
struct v4l2_subdev *v4l2_i2c_new_subdev_board(struct v4l2_device *v4l2_dev,
|
||||
|
|
|
|||
|
|
@ -106,10 +106,7 @@ struct v4l2_subdev_io_pin_config {
|
|||
u8 strength; /* Pin drive strength */
|
||||
};
|
||||
|
||||
/* s_config: if set, then it is always called by the v4l2_i2c_new_subdev*
|
||||
functions after the v4l2_subdev was registered. It is used to pass
|
||||
platform data to the subdev which can be used during initialization.
|
||||
|
||||
/*
|
||||
s_io_pin_config: configure one or more chip I/O pins for chips that
|
||||
multiplex different internal signal pads out to IO pins. This function
|
||||
takes a pointer to an array of 'n' pin configuration entries, one for
|
||||
|
|
@ -141,7 +138,6 @@ struct v4l2_subdev_io_pin_config {
|
|||
struct v4l2_subdev_core_ops {
|
||||
int (*g_chip_ident)(struct v4l2_subdev *sd, struct v4l2_dbg_chip_ident *chip);
|
||||
int (*log_status)(struct v4l2_subdev *sd);
|
||||
int (*s_config)(struct v4l2_subdev *sd, int irq, void *platform_data);
|
||||
int (*s_io_pin_config)(struct v4l2_subdev *sd, size_t n,
|
||||
struct v4l2_subdev_io_pin_config *pincfg);
|
||||
int (*init)(struct v4l2_subdev *sd, u32 val);
|
||||
|
|
|
|||
Loading…
Reference in a new issue