diff options
author | Guennadi Liakhovetski <g.liakhovetski@pengutronix.de> | 2008-04-04 12:41:25 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-04-24 13:07:57 -0400 |
commit | b8d9904c3525c0a149976ffaad48fcb03e8703f7 (patch) | |
tree | ac116e518f70a694046752a05c16a5285bc4713f /include/media | |
parent | ce54093cefd64c1a2cb6b8c5ed1d68d2bd7a34ab (diff) |
V4L/DVB (7500): soc-camera: extract function pointers from host object into operations
Function pointers and the driver owner are not expected to change
throughout soc-camera host's life. Extract them into an operations struct.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'include/media')
-rw-r--r-- | include/media/soc_camera.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/include/media/soc_camera.h b/include/media/soc_camera.h index 7a2fa3ed849e..80e1193c07d5 100644 --- a/include/media/soc_camera.h +++ b/include/media/soc_camera.h | |||
@@ -56,9 +56,13 @@ struct soc_camera_host { | |||
56 | unsigned char nr; /* Host number */ | 56 | unsigned char nr; /* Host number */ |
57 | size_t msize; | 57 | size_t msize; |
58 | struct videobuf_queue_ops *vbq_ops; | 58 | struct videobuf_queue_ops *vbq_ops; |
59 | struct module *owner; | ||
60 | void *priv; | 59 | void *priv; |
61 | char *drv_name; | 60 | char *drv_name; |
61 | struct soc_camera_host_ops *ops; | ||
62 | }; | ||
63 | |||
64 | struct soc_camera_host_ops { | ||
65 | struct module *owner; | ||
62 | int (*add)(struct soc_camera_device *); | 66 | int (*add)(struct soc_camera_device *); |
63 | void (*remove)(struct soc_camera_device *); | 67 | void (*remove)(struct soc_camera_device *); |
64 | int (*set_fmt_cap)(struct soc_camera_device *, __u32, | 68 | int (*set_fmt_cap)(struct soc_camera_device *, __u32, |
@@ -88,8 +92,7 @@ static inline struct soc_camera_host *to_soc_camera_host(struct device *dev) | |||
88 | return container_of(dev, struct soc_camera_host, dev); | 92 | return container_of(dev, struct soc_camera_host, dev); |
89 | } | 93 | } |
90 | 94 | ||
91 | extern int soc_camera_host_register(struct soc_camera_host *ici, | 95 | extern int soc_camera_host_register(struct soc_camera_host *ici); |
92 | struct module *owner); | ||
93 | extern void soc_camera_host_unregister(struct soc_camera_host *ici); | 96 | extern void soc_camera_host_unregister(struct soc_camera_host *ici); |
94 | extern int soc_camera_device_register(struct soc_camera_device *icd); | 97 | extern int soc_camera_device_register(struct soc_camera_device *icd); |
95 | extern void soc_camera_device_unregister(struct soc_camera_device *icd); | 98 | extern void soc_camera_device_unregister(struct soc_camera_device *icd); |