diff options
Diffstat (limited to 'include/media/soc_camera.h')
-rw-r--r-- | include/media/soc_camera.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/include/media/soc_camera.h b/include/media/soc_camera.h index 37013688af44..23ecead35e7a 100644 --- a/include/media/soc_camera.h +++ b/include/media/soc_camera.h | |||
@@ -60,7 +60,7 @@ struct soc_camera_file { | |||
60 | 60 | ||
61 | struct soc_camera_host { | 61 | struct soc_camera_host { |
62 | struct list_head list; | 62 | struct list_head list; |
63 | struct device dev; | 63 | struct device *dev; |
64 | unsigned char nr; /* Host number */ | 64 | unsigned char nr; /* Host number */ |
65 | void *priv; | 65 | void *priv; |
66 | const char *drv_name; | 66 | const char *drv_name; |
@@ -92,11 +92,16 @@ struct soc_camera_host_ops { | |||
92 | #define SOCAM_SENSOR_INVERT_VSYNC (1 << 3) | 92 | #define SOCAM_SENSOR_INVERT_VSYNC (1 << 3) |
93 | #define SOCAM_SENSOR_INVERT_DATA (1 << 4) | 93 | #define SOCAM_SENSOR_INVERT_DATA (1 << 4) |
94 | 94 | ||
95 | struct i2c_board_info; | ||
96 | |||
95 | struct soc_camera_link { | 97 | struct soc_camera_link { |
96 | /* Camera bus id, used to match a camera and a bus */ | 98 | /* Camera bus id, used to match a camera and a bus */ |
97 | int bus_id; | 99 | int bus_id; |
98 | /* Per camera SOCAM_SENSOR_* bus flags */ | 100 | /* Per camera SOCAM_SENSOR_* bus flags */ |
99 | unsigned long flags; | 101 | unsigned long flags; |
102 | int i2c_adapter_id; | ||
103 | struct i2c_board_info *board_info; | ||
104 | const char *module_name; | ||
100 | /* Optional callbacks to power on or off and reset the sensor */ | 105 | /* Optional callbacks to power on or off and reset the sensor */ |
101 | int (*power)(struct device *, int); | 106 | int (*power)(struct device *, int); |
102 | int (*reset)(struct device *); | 107 | int (*reset)(struct device *); |
@@ -107,6 +112,7 @@ struct soc_camera_link { | |||
107 | */ | 112 | */ |
108 | int (*set_bus_param)(struct soc_camera_link *, unsigned long flags); | 113 | int (*set_bus_param)(struct soc_camera_link *, unsigned long flags); |
109 | unsigned long (*query_bus_param)(struct soc_camera_link *); | 114 | unsigned long (*query_bus_param)(struct soc_camera_link *); |
115 | void (*free_bus)(struct soc_camera_link *); | ||
110 | }; | 116 | }; |
111 | 117 | ||
112 | static inline struct soc_camera_device *to_soc_camera_dev(struct device *dev) | 118 | static inline struct soc_camera_device *to_soc_camera_dev(struct device *dev) |
@@ -116,7 +122,7 @@ static inline struct soc_camera_device *to_soc_camera_dev(struct device *dev) | |||
116 | 122 | ||
117 | static inline struct soc_camera_host *to_soc_camera_host(struct device *dev) | 123 | static inline struct soc_camera_host *to_soc_camera_host(struct device *dev) |
118 | { | 124 | { |
119 | return container_of(dev, struct soc_camera_host, dev); | 125 | return dev_get_drvdata(dev); |
120 | } | 126 | } |
121 | 127 | ||
122 | extern int soc_camera_host_register(struct soc_camera_host *ici); | 128 | extern int soc_camera_host_register(struct soc_camera_host *ici); |