aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErik Andrén <erik.andren@gmail.com>2009-01-21 11:43:20 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-06-16 17:20:47 -0400
commit0364c4ca345175daa36c3c672fdecafd469e05a8 (patch)
tree84991a8ea3d518e1ca49468c7788df2013e52768
parentea8f74b168aa4d725c6d1ab98ef4eb4f6f3f3358 (diff)
V4L/DVB (11637): gspca - m5602-ov7660: Design init function.
Signed-off-by: Erik Andrén <erik.andren@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/video/gspca/m5602/m5602_ov7660.c27
1 files changed, 21 insertions, 6 deletions
diff --git a/drivers/media/video/gspca/m5602/m5602_ov7660.c b/drivers/media/video/gspca/m5602/m5602_ov7660.c
index a5953d828389..1c20a3bfaaff 100644
--- a/drivers/media/video/gspca/m5602/m5602_ov7660.c
+++ b/drivers/media/video/gspca/m5602/m5602_ov7660.c
@@ -85,11 +85,6 @@ int ov7660_probe(struct sd *sd)
85 return -ENODEV; 85 return -ENODEV;
86 86
87sensor_found: 87sensor_found:
88 sensor_settings = kmalloc(
89 ARRAY_SIZE(ov7660_ctrls) * sizeof(s32), GFP_KERNEL);
90 if (!sensor_settings)
91 return -ENOMEM;
92
93 sd->gspca_dev.cam.cam_mode = ov7660_modes; 88 sd->gspca_dev.cam.cam_mode = ov7660_modes;
94 sd->gspca_dev.cam.nmodes = ARRAY_SIZE(ov7660_modes); 89 sd->gspca_dev.cam.nmodes = ARRAY_SIZE(ov7660_modes);
95 sd->desc->ctrls = ov7660_ctrls; 90 sd->desc->ctrls = ov7660_ctrls;
@@ -104,7 +99,27 @@ sensor_found:
104 99
105int ov7660_init(struct sd *sd) 100int ov7660_init(struct sd *sd)
106{ 101{
107 return 0; 102 int i, err = 0;
103
104 /* Init the sensor */
105 for (i = 0; i < ARRAY_SIZE(init_ov7660); i++) {
106 u8 data[2];
107
108 if (init_ov7660[i][0] == BRIDGE) {
109 err = m5602_write_bridge(sd,
110 init_ov7660[i][1],
111 init_ov7660[i][2]);
112 } else {
113 data[0] = init_ov7660[i][2];
114 err = m5602_write_sensor(sd,
115 init_ov7660[i][1], data, 1);
116 }
117 }
118
119 if (dump_sensor)
120 ov7660_dump_registers(sd);
121
122 return err;
108} 123}
109 124
110int ov7660_start(struct sd *sd) 125int ov7660_start(struct sd *sd)