V4L/DVB (11411): gspca - m5602: Rework v4l ctrl handling in all sensors
Previously, all sensors allocated a part of a large ctrl vector.
Define this vector separately for each sensor instead.
Signed-off-by: Erik Andrén <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
diff --git a/drivers/media/video/gspca/m5602/m5602_s5k83a.h b/drivers/media/video/gspca/m5602/m5602_s5k83a.h
index 40ed141..ed74d97 100644
--- a/drivers/media/video/gspca/m5602/m5602_s5k83a.h
+++ b/drivers/media/video/gspca/m5602/m5602_s5k83a.h
@@ -61,17 +61,7 @@
int s5k83a_get_hflip(struct gspca_dev *gspca_dev, __s32 *val);
int s5k83a_set_hflip(struct gspca_dev *gspca_dev, __s32 val);
-static struct m5602_sensor s5k83a = {
- .name = "S5K83A",
- .probe = s5k83a_probe,
- .init = s5k83a_init,
- .start = s5k83a_start,
- .stop = s5k83a_stop,
- .power_down = s5k83a_power_down,
- .i2c_slave_id = 0x5a,
- .i2c_regW = 2,
- .nctrls = 5,
- .ctrls = {
+static struct ctrl s5k83a_ctrls[] = {
{
{
.id = V4L2_CID_BRIGHTNESS,
@@ -136,8 +126,21 @@
},
.set = s5k83a_set_vflip,
.get = s5k83a_get_vflip
- }
- },
+ }
+};
+
+
+static struct m5602_sensor s5k83a = {
+ .name = "S5K83A",
+ .probe = s5k83a_probe,
+ .init = s5k83a_init,
+ .start = s5k83a_start,
+ .stop = s5k83a_stop,
+ .power_down = s5k83a_power_down,
+ .i2c_slave_id = 0x5a,
+ .i2c_regW = 2,
+ .ctrls = s5k83a_ctrls,
+
.nmodes = 1,
.modes = {
{