V4L/DVB (11466): gspca - m5602: Let all ctrls on all sensors be static

All hail the static keyword

Signed-off-by: Erik Andr?n <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
Erik Andr?n 2009-04-03 02:49:10 -03:00 committed by Mauro Carvalho Chehab
parent d4a389a39b
commit cf811d506a
10 changed files with 137 additions and 164 deletions

View file

@ -18,6 +18,13 @@
#include "m5602_mt9m111.h" #include "m5602_mt9m111.h"
static int mt9m111_set_vflip(struct gspca_dev *gspca_dev, __s32 val);
static int mt9m111_get_vflip(struct gspca_dev *gspca_dev, __s32 *val);
static int mt9m111_get_hflip(struct gspca_dev *gspca_dev, __s32 *val);
static int mt9m111_set_hflip(struct gspca_dev *gspca_dev, __s32 val);
static int mt9m111_get_gain(struct gspca_dev *gspca_dev, __s32 *val);
static int mt9m111_set_gain(struct gspca_dev *gspca_dev, __s32 val);
static struct v4l2_pix_format mt9m111_modes[] = { static struct v4l2_pix_format mt9m111_modes[] = {
{ {
640, 640,
@ -123,7 +130,8 @@ int mt9m111_probe(struct sd *sd)
return -ENODEV; return -ENODEV;
sensor_found: sensor_found:
sensor_settings = kmalloc(ARRAY_SIZE(mt9m111_ctrls) * sizeof(s32), GFP_KERNEL); sensor_settings = kmalloc(ARRAY_SIZE(mt9m111_ctrls) * sizeof(s32),
GFP_KERNEL);
if (!sensor_settings) if (!sensor_settings)
return -ENOMEM; return -ENOMEM;
@ -182,7 +190,7 @@ void mt9m111_disconnect(struct sd *sd)
kfree(sd->sensor_priv); kfree(sd->sensor_priv);
} }
int mt9m111_get_vflip(struct gspca_dev *gspca_dev, __s32 *val) static int mt9m111_get_vflip(struct gspca_dev *gspca_dev, __s32 *val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -193,7 +201,7 @@ int mt9m111_get_vflip(struct gspca_dev *gspca_dev, __s32 *val)
return 0; return 0;
} }
int mt9m111_set_vflip(struct gspca_dev *gspca_dev, __s32 val) static int mt9m111_set_vflip(struct gspca_dev *gspca_dev, __s32 val)
{ {
int err; int err;
u8 data[2] = {0x00, 0x00}; u8 data[2] = {0x00, 0x00};
@ -219,7 +227,7 @@ int mt9m111_set_vflip(struct gspca_dev *gspca_dev, __s32 val)
return err; return err;
} }
int mt9m111_get_hflip(struct gspca_dev *gspca_dev, __s32 *val) static int mt9m111_get_hflip(struct gspca_dev *gspca_dev, __s32 *val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -230,7 +238,7 @@ int mt9m111_get_hflip(struct gspca_dev *gspca_dev, __s32 *val)
return 0; return 0;
} }
int mt9m111_set_hflip(struct gspca_dev *gspca_dev, __s32 val) static int mt9m111_set_hflip(struct gspca_dev *gspca_dev, __s32 val)
{ {
int err; int err;
u8 data[2] = {0x00, 0x00}; u8 data[2] = {0x00, 0x00};
@ -255,7 +263,7 @@ int mt9m111_set_hflip(struct gspca_dev *gspca_dev, __s32 val)
return err; return err;
} }
int mt9m111_get_gain(struct gspca_dev *gspca_dev, __s32 *val) static int mt9m111_get_gain(struct gspca_dev *gspca_dev, __s32 *val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -266,7 +274,7 @@ int mt9m111_get_gain(struct gspca_dev *gspca_dev, __s32 *val)
return 0; return 0;
} }
int mt9m111_set_gain(struct gspca_dev *gspca_dev, __s32 val) static int mt9m111_set_gain(struct gspca_dev *gspca_dev, __s32 val)
{ {
int err, tmp; int err, tmp;
u8 data[2] = {0x00, 0x00}; u8 data[2] = {0x00, 0x00};

View file

@ -87,13 +87,6 @@ int mt9m111_probe(struct sd *sd);
int mt9m111_init(struct sd *sd); int mt9m111_init(struct sd *sd);
void mt9m111_disconnect(struct sd *sd); void mt9m111_disconnect(struct sd *sd);
int mt9m111_set_vflip(struct gspca_dev *gspca_dev, __s32 val);
int mt9m111_get_vflip(struct gspca_dev *gspca_dev, __s32 *val);
int mt9m111_get_hflip(struct gspca_dev *gspca_dev, __s32 *val);
int mt9m111_set_hflip(struct gspca_dev *gspca_dev, __s32 val);
int mt9m111_get_gain(struct gspca_dev *gspca_dev, __s32 *val);
int mt9m111_set_gain(struct gspca_dev *gspca_dev, __s32 val);
const static struct m5602_sensor mt9m111 = { const static struct m5602_sensor mt9m111 = {
.name = "MT9M111", .name = "MT9M111",

View file

@ -18,6 +18,25 @@
#include "m5602_ov9650.h" #include "m5602_ov9650.h"
static int ov9650_set_exposure(struct gspca_dev *gspca_dev, __s32 val);
static int ov9650_get_exposure(struct gspca_dev *gspca_dev, __s32 *val);
static int ov9650_get_gain(struct gspca_dev *gspca_dev, __s32 *val);
static int ov9650_set_gain(struct gspca_dev *gspca_dev, __s32 val);
static int ov9650_get_red_balance(struct gspca_dev *gspca_dev, __s32 *val);
static int ov9650_set_red_balance(struct gspca_dev *gspca_dev, __s32 val);
static int ov9650_get_blue_balance(struct gspca_dev *gspca_dev, __s32 *val);
static int ov9650_set_blue_balance(struct gspca_dev *gspca_dev, __s32 val);
static int ov9650_get_hflip(struct gspca_dev *gspca_dev, __s32 *val);
static int ov9650_set_hflip(struct gspca_dev *gspca_dev, __s32 val);
static int ov9650_get_vflip(struct gspca_dev *gspca_dev, __s32 *val);
static int ov9650_set_vflip(struct gspca_dev *gspca_dev, __s32 val);
static int ov9650_get_auto_white_balance(struct gspca_dev *gspca_dev,
__s32 *val);
static int ov9650_set_auto_white_balance(struct gspca_dev *gspca_dev,
__s32 val);
static int ov9650_get_auto_gain(struct gspca_dev *gspca_dev, __s32 *val);
static int ov9650_set_auto_gain(struct gspca_dev *gspca_dev, __s32 val);
/* Vertically and horizontally flips the image if matched, needed for machines /* Vertically and horizontally flips the image if matched, needed for machines
where the sensor is mounted upside down */ where the sensor is mounted upside down */
static static
@ -310,7 +329,8 @@ int ov9650_init(struct sd *sd)
err = m5602_write_bridge(sd, init_ov9650[i][1], data); err = m5602_write_bridge(sd, init_ov9650[i][1], data);
} }
err = ov9650_set_exposure(&sd->gspca_dev, sensor_settings[EXPOSURE_IDX]); err = ov9650_set_exposure(&sd->gspca_dev,
sensor_settings[EXPOSURE_IDX]);
if (err < 0) if (err < 0)
return err; return err;
@ -318,11 +338,13 @@ int ov9650_init(struct sd *sd)
if (err < 0) if (err < 0)
return err; return err;
err = ov9650_set_red_balance(&sd->gspca_dev, sensor_settings[RED_BALANCE_IDX]); err = ov9650_set_red_balance(&sd->gspca_dev,
sensor_settings[RED_BALANCE_IDX]);
if (err < 0) if (err < 0)
return err; return err;
err = ov9650_set_blue_balance(&sd->gspca_dev, sensor_settings[BLUE_BALANCE_IDX]); err = ov9650_set_blue_balance(&sd->gspca_dev,
sensor_settings[BLUE_BALANCE_IDX]);
if (err < 0) if (err < 0)
return err; return err;
@ -334,11 +356,13 @@ int ov9650_init(struct sd *sd)
if (err < 0) if (err < 0)
return err; return err;
err = ov9650_set_auto_white_balance(&sd->gspca_dev, sensor_settings[AUTO_WHITE_BALANCE_IDX]); err = ov9650_set_auto_white_balance(&sd->gspca_dev,
sensor_settings[AUTO_WHITE_BALANCE_IDX]);
if (err < 0) if (err < 0)
return err; return err;
err = ov9650_set_auto_gain(&sd->gspca_dev, sensor_settings[AUTO_GAIN_CTRL_IDX]); err = ov9650_set_auto_gain(&sd->gspca_dev,
sensor_settings[AUTO_GAIN_CTRL_IDX]);
return err; return err;
} }
@ -472,7 +496,7 @@ void ov9650_disconnect(struct sd *sd)
kfree(sd->sensor_priv); kfree(sd->sensor_priv);
} }
int ov9650_get_exposure(struct gspca_dev *gspca_dev, __s32 *val) static int ov9650_get_exposure(struct gspca_dev *gspca_dev, __s32 *val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -482,7 +506,7 @@ int ov9650_get_exposure(struct gspca_dev *gspca_dev, __s32 *val)
return 0; return 0;
} }
int ov9650_set_exposure(struct gspca_dev *gspca_dev, __s32 val) static int ov9650_set_exposure(struct gspca_dev *gspca_dev, __s32 val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -512,7 +536,7 @@ int ov9650_set_exposure(struct gspca_dev *gspca_dev, __s32 val)
return err; return err;
} }
int ov9650_get_gain(struct gspca_dev *gspca_dev, __s32 *val) static int ov9650_get_gain(struct gspca_dev *gspca_dev, __s32 *val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -522,7 +546,7 @@ int ov9650_get_gain(struct gspca_dev *gspca_dev, __s32 *val)
return 0; return 0;
} }
int ov9650_set_gain(struct gspca_dev *gspca_dev, __s32 val) static int ov9650_set_gain(struct gspca_dev *gspca_dev, __s32 val)
{ {
int err; int err;
u8 i2c_data; u8 i2c_data;
@ -553,7 +577,7 @@ int ov9650_set_gain(struct gspca_dev *gspca_dev, __s32 val)
return err; return err;
} }
int ov9650_get_red_balance(struct gspca_dev *gspca_dev, __s32 *val) static int ov9650_get_red_balance(struct gspca_dev *gspca_dev, __s32 *val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -563,7 +587,7 @@ int ov9650_get_red_balance(struct gspca_dev *gspca_dev, __s32 *val)
return 0; return 0;
} }
int ov9650_set_red_balance(struct gspca_dev *gspca_dev, __s32 val) static int ov9650_set_red_balance(struct gspca_dev *gspca_dev, __s32 val)
{ {
int err; int err;
u8 i2c_data; u8 i2c_data;
@ -579,7 +603,7 @@ int ov9650_set_red_balance(struct gspca_dev *gspca_dev, __s32 val)
return err; return err;
} }
int ov9650_get_blue_balance(struct gspca_dev *gspca_dev, __s32 *val) static int ov9650_get_blue_balance(struct gspca_dev *gspca_dev, __s32 *val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -590,7 +614,7 @@ int ov9650_get_blue_balance(struct gspca_dev *gspca_dev, __s32 *val)
return 0; return 0;
} }
int ov9650_set_blue_balance(struct gspca_dev *gspca_dev, __s32 val) static int ov9650_set_blue_balance(struct gspca_dev *gspca_dev, __s32 val)
{ {
int err; int err;
u8 i2c_data; u8 i2c_data;
@ -606,7 +630,7 @@ int ov9650_set_blue_balance(struct gspca_dev *gspca_dev, __s32 val)
return err; return err;
} }
int ov9650_get_hflip(struct gspca_dev *gspca_dev, __s32 *val) static int ov9650_get_hflip(struct gspca_dev *gspca_dev, __s32 *val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -616,7 +640,7 @@ int ov9650_get_hflip(struct gspca_dev *gspca_dev, __s32 *val)
return 0; return 0;
} }
int ov9650_set_hflip(struct gspca_dev *gspca_dev, __s32 val) static int ov9650_set_hflip(struct gspca_dev *gspca_dev, __s32 val)
{ {
int err; int err;
u8 i2c_data; u8 i2c_data;
@ -628,16 +652,18 @@ int ov9650_set_hflip(struct gspca_dev *gspca_dev, __s32 val)
sensor_settings[HFLIP_IDX] = val; sensor_settings[HFLIP_IDX] = val;
if (!dmi_check_system(ov9650_flip_dmi_table)) if (!dmi_check_system(ov9650_flip_dmi_table))
i2c_data = ((val & 0x01) << 5) | (sensor_settings[VFLIP_IDX] << 4); i2c_data = ((val & 0x01) << 5) |
(sensor_settings[VFLIP_IDX] << 4);
else else
i2c_data = ((val & 0x01) << 5) | (!sensor_settings[VFLIP_IDX] << 4); i2c_data = ((val & 0x01) << 5) |
(!sensor_settings[VFLIP_IDX] << 4);
err = m5602_write_sensor(sd, OV9650_MVFP, &i2c_data, 1); err = m5602_write_sensor(sd, OV9650_MVFP, &i2c_data, 1);
return err; return err;
} }
int ov9650_get_vflip(struct gspca_dev *gspca_dev, __s32 *val) static int ov9650_get_vflip(struct gspca_dev *gspca_dev, __s32 *val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -648,7 +674,7 @@ int ov9650_get_vflip(struct gspca_dev *gspca_dev, __s32 *val)
return 0; return 0;
} }
int ov9650_set_vflip(struct gspca_dev *gspca_dev, __s32 val) static int ov9650_set_vflip(struct gspca_dev *gspca_dev, __s32 val)
{ {
int err; int err;
u8 i2c_data; u8 i2c_data;
@ -673,48 +699,8 @@ int ov9650_set_vflip(struct gspca_dev *gspca_dev, __s32 val)
return err; return err;
} }
int ov9650_get_brightness(struct gspca_dev *gspca_dev, __s32 *val) static int ov9650_get_auto_white_balance(struct gspca_dev *gspca_dev,
{ __s32 *val)
struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv;
*val = sensor_settings[GAIN_IDX];
PDEBUG(D_V4L2, "Read gain %d", *val);
return 0;
}
int ov9650_set_brightness(struct gspca_dev *gspca_dev, __s32 val)
{
int err;
u8 i2c_data;
struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv;
PDEBUG(D_V4L2, "Set gain to %d", val);
sensor_settings[GAIN_IDX] = val;
/* Read the OV9650_VREF register first to avoid
corrupting the VREF high and low bits */
err = m5602_read_sensor(sd, OV9650_VREF, &i2c_data, 1);
if (err < 0)
return err;
/* Mask away all uninteresting bits */
i2c_data = ((val & 0x0300) >> 2) | (i2c_data & 0x3F);
err = m5602_write_sensor(sd, OV9650_VREF, &i2c_data, 1);
if (err < 0)
return err;
/* The 8 LSBs */
i2c_data = val & 0xff;
err = m5602_write_sensor(sd, OV9650_GAIN, &i2c_data, 1);
return err;
}
int ov9650_get_auto_white_balance(struct gspca_dev *gspca_dev, __s32 *val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -723,7 +709,8 @@ int ov9650_get_auto_white_balance(struct gspca_dev *gspca_dev, __s32 *val)
return 0; return 0;
} }
int ov9650_set_auto_white_balance(struct gspca_dev *gspca_dev, __s32 val) static int ov9650_set_auto_white_balance(struct gspca_dev *gspca_dev,
__s32 val)
{ {
int err; int err;
u8 i2c_data; u8 i2c_data;
@ -743,7 +730,7 @@ int ov9650_set_auto_white_balance(struct gspca_dev *gspca_dev, __s32 val)
return err; return err;
} }
int ov9650_get_auto_gain(struct gspca_dev *gspca_dev, __s32 *val) static int ov9650_get_auto_gain(struct gspca_dev *gspca_dev, __s32 *val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -753,7 +740,7 @@ int ov9650_get_auto_gain(struct gspca_dev *gspca_dev, __s32 *val)
return 0; return 0;
} }
int ov9650_set_auto_gain(struct gspca_dev *gspca_dev, __s32 val) static int ov9650_set_auto_gain(struct gspca_dev *gspca_dev, __s32 val)
{ {
int err; int err;
u8 i2c_data; u8 i2c_data;

View file

@ -139,25 +139,6 @@ int ov9650_start(struct sd *sd);
int ov9650_stop(struct sd *sd); int ov9650_stop(struct sd *sd);
void ov9650_disconnect(struct sd *sd); void ov9650_disconnect(struct sd *sd);
int ov9650_set_exposure(struct gspca_dev *gspca_dev, __s32 val);
int ov9650_get_exposure(struct gspca_dev *gspca_dev, __s32 *val);
int ov9650_get_gain(struct gspca_dev *gspca_dev, __s32 *val);
int ov9650_set_gain(struct gspca_dev *gspca_dev, __s32 val);
int ov9650_get_red_balance(struct gspca_dev *gspca_dev, __s32 *val);
int ov9650_set_red_balance(struct gspca_dev *gspca_dev, __s32 val);
int ov9650_get_blue_balance(struct gspca_dev *gspca_dev, __s32 *val);
int ov9650_set_blue_balance(struct gspca_dev *gspca_dev, __s32 val);
int ov9650_get_hflip(struct gspca_dev *gspca_dev, __s32 *val);
int ov9650_set_hflip(struct gspca_dev *gspca_dev, __s32 val);
int ov9650_get_vflip(struct gspca_dev *gspca_dev, __s32 *val);
int ov9650_set_vflip(struct gspca_dev *gspca_dev, __s32 val);
int ov9650_get_brightness(struct gspca_dev *gspca_dev, __s32 *val);
int ov9650_set_brightness(struct gspca_dev *gspca_dev, __s32 val);
int ov9650_get_auto_white_balance(struct gspca_dev *gspca_dev, __s32 *val);
int ov9650_set_auto_white_balance(struct gspca_dev *gspca_dev, __s32 val);
int ov9650_get_auto_gain(struct gspca_dev *gspca_dev, __s32 *val);
int ov9650_set_auto_gain(struct gspca_dev *gspca_dev, __s32 val);
const static struct m5602_sensor ov9650 = { const static struct m5602_sensor ov9650 = {
.name = "OV9650", .name = "OV9650",
.i2c_slave_id = 0x60, .i2c_slave_id = 0x60,

View file

@ -18,6 +18,23 @@
#include "m5602_po1030.h" #include "m5602_po1030.h"
static int po1030_get_exposure(struct gspca_dev *gspca_dev, __s32 *val);
static int po1030_set_exposure(struct gspca_dev *gspca_dev, __s32 val);
static int po1030_get_gain(struct gspca_dev *gspca_dev, __s32 *val);
static int po1030_set_gain(struct gspca_dev *gspca_dev, __s32 val);
static int po1030_get_red_balance(struct gspca_dev *gspca_dev, __s32 *val);
static int po1030_set_red_balance(struct gspca_dev *gspca_dev, __s32 val);
static int po1030_get_blue_balance(struct gspca_dev *gspca_dev, __s32 *val);
static int po1030_set_blue_balance(struct gspca_dev *gspca_dev, __s32 val);
static int po1030_get_hflip(struct gspca_dev *gspca_dev, __s32 *val);
static int po1030_set_hflip(struct gspca_dev *gspca_dev, __s32 val);
static int po1030_get_vflip(struct gspca_dev *gspca_dev, __s32 *val);
static int po1030_set_vflip(struct gspca_dev *gspca_dev, __s32 val);
static int po1030_set_auto_white_balance(struct gspca_dev *gspca_dev,
__s32 val);
static int po1030_get_auto_white_balance(struct gspca_dev *gspca_dev,
__s32 *val);
static struct v4l2_pix_format po1030_modes[] = { static struct v4l2_pix_format po1030_modes[] = {
{ {
640, 640,
@ -277,7 +294,7 @@ int po1030_start(struct sd *sd)
return err; return err;
} }
int po1030_get_exposure(struct gspca_dev *gspca_dev, __s32 *val) static int po1030_get_exposure(struct gspca_dev *gspca_dev, __s32 *val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -287,7 +304,7 @@ int po1030_get_exposure(struct gspca_dev *gspca_dev, __s32 *val)
return 0; return 0;
} }
int po1030_set_exposure(struct gspca_dev *gspca_dev, __s32 val) static int po1030_set_exposure(struct gspca_dev *gspca_dev, __s32 val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -315,7 +332,7 @@ int po1030_set_exposure(struct gspca_dev *gspca_dev, __s32 val)
return err; return err;
} }
int po1030_get_gain(struct gspca_dev *gspca_dev, __s32 *val) static int po1030_get_gain(struct gspca_dev *gspca_dev, __s32 *val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -325,7 +342,7 @@ int po1030_get_gain(struct gspca_dev *gspca_dev, __s32 *val)
return 0; return 0;
} }
int po1030_set_gain(struct gspca_dev *gspca_dev, __s32 val) static int po1030_set_gain(struct gspca_dev *gspca_dev, __s32 val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -341,7 +358,7 @@ int po1030_set_gain(struct gspca_dev *gspca_dev, __s32 val)
return err; return err;
} }
int po1030_get_hflip(struct gspca_dev *gspca_dev, __s32 *val) static int po1030_get_hflip(struct gspca_dev *gspca_dev, __s32 *val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -352,7 +369,7 @@ int po1030_get_hflip(struct gspca_dev *gspca_dev, __s32 *val)
return 0; return 0;
} }
int po1030_set_hflip(struct gspca_dev *gspca_dev, __s32 val) static int po1030_set_hflip(struct gspca_dev *gspca_dev, __s32 val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -374,7 +391,7 @@ int po1030_set_hflip(struct gspca_dev *gspca_dev, __s32 val)
return err; return err;
} }
int po1030_get_vflip(struct gspca_dev *gspca_dev, __s32 *val) static int po1030_get_vflip(struct gspca_dev *gspca_dev, __s32 *val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -385,7 +402,7 @@ int po1030_get_vflip(struct gspca_dev *gspca_dev, __s32 *val)
return 0; return 0;
} }
int po1030_set_vflip(struct gspca_dev *gspca_dev, __s32 val) static int po1030_set_vflip(struct gspca_dev *gspca_dev, __s32 val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -407,7 +424,7 @@ int po1030_set_vflip(struct gspca_dev *gspca_dev, __s32 val)
return err; return err;
} }
int po1030_get_red_balance(struct gspca_dev *gspca_dev, __s32 *val) static int po1030_get_red_balance(struct gspca_dev *gspca_dev, __s32 *val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -417,7 +434,7 @@ int po1030_get_red_balance(struct gspca_dev *gspca_dev, __s32 *val)
return 0; return 0;
} }
int po1030_set_red_balance(struct gspca_dev *gspca_dev, __s32 val) static int po1030_set_red_balance(struct gspca_dev *gspca_dev, __s32 val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -433,7 +450,7 @@ int po1030_set_red_balance(struct gspca_dev *gspca_dev, __s32 val)
return err; return err;
} }
int po1030_get_blue_balance(struct gspca_dev *gspca_dev, __s32 *val) static int po1030_get_blue_balance(struct gspca_dev *gspca_dev, __s32 *val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -444,7 +461,7 @@ int po1030_get_blue_balance(struct gspca_dev *gspca_dev, __s32 *val)
return 0; return 0;
} }
int po1030_set_blue_balance(struct gspca_dev *gspca_dev, __s32 val) static int po1030_set_blue_balance(struct gspca_dev *gspca_dev, __s32 val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -461,7 +478,8 @@ int po1030_set_blue_balance(struct gspca_dev *gspca_dev, __s32 val)
return err; return err;
} }
int po1030_get_auto_white_balance(struct gspca_dev *gspca_dev, __s32 *val) static int po1030_get_auto_white_balance(struct gspca_dev *gspca_dev,
__s32 *val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -472,7 +490,8 @@ int po1030_get_auto_white_balance(struct gspca_dev *gspca_dev, __s32 *val)
return 0; return 0;
} }
int po1030_set_auto_white_balance(struct gspca_dev *gspca_dev, __s32 val) static int po1030_set_auto_white_balance(struct gspca_dev *gspca_dev,
__s32 val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;

View file

@ -151,21 +151,6 @@ int po1030_init(struct sd *sd);
int po1030_start(struct sd *sd); int po1030_start(struct sd *sd);
void po1030_disconnect(struct sd *sd); void po1030_disconnect(struct sd *sd);
int po1030_get_exposure(struct gspca_dev *gspca_dev, __s32 *val);
int po1030_set_exposure(struct gspca_dev *gspca_dev, __s32 val);
int po1030_get_gain(struct gspca_dev *gspca_dev, __s32 *val);
int po1030_set_gain(struct gspca_dev *gspca_dev, __s32 val);
int po1030_get_red_balance(struct gspca_dev *gspca_dev, __s32 *val);
int po1030_set_red_balance(struct gspca_dev *gspca_dev, __s32 val);
int po1030_get_blue_balance(struct gspca_dev *gspca_dev, __s32 *val);
int po1030_set_blue_balance(struct gspca_dev *gspca_dev, __s32 val);
int po1030_get_hflip(struct gspca_dev *gspca_dev, __s32 *val);
int po1030_set_hflip(struct gspca_dev *gspca_dev, __s32 val);
int po1030_get_vflip(struct gspca_dev *gspca_dev, __s32 *val);
int po1030_set_vflip(struct gspca_dev *gspca_dev, __s32 val);
int po1030_set_auto_white_balance(struct gspca_dev *gspca_dev, __s32 val);
int po1030_get_auto_white_balance(struct gspca_dev *gspca_dev, __s32 *val);
static const struct m5602_sensor po1030 = { static const struct m5602_sensor po1030 = {
.name = "PO1030", .name = "PO1030",

View file

@ -18,6 +18,15 @@
#include "m5602_s5k4aa.h" #include "m5602_s5k4aa.h"
static int s5k4aa_get_exposure(struct gspca_dev *gspca_dev, __s32 *val);
static int s5k4aa_set_exposure(struct gspca_dev *gspca_dev, __s32 val);
static int s5k4aa_get_vflip(struct gspca_dev *gspca_dev, __s32 *val);
static int s5k4aa_set_vflip(struct gspca_dev *gspca_dev, __s32 val);
static int s5k4aa_get_hflip(struct gspca_dev *gspca_dev, __s32 *val);
static int s5k4aa_set_hflip(struct gspca_dev *gspca_dev, __s32 val);
static int s5k4aa_get_gain(struct gspca_dev *gspca_dev, __s32 *val);
static int s5k4aa_set_gain(struct gspca_dev *gspca_dev, __s32 val);
static static
const const
struct dmi_system_id s5k4aa_vflip_dmi_table[] = { struct dmi_system_id s5k4aa_vflip_dmi_table[] = {
@ -304,7 +313,7 @@ int s5k4aa_init(struct sd *sd)
return err; return err;
} }
int s5k4aa_get_exposure(struct gspca_dev *gspca_dev, __s32 *val) static int s5k4aa_get_exposure(struct gspca_dev *gspca_dev, __s32 *val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -315,7 +324,7 @@ int s5k4aa_get_exposure(struct gspca_dev *gspca_dev, __s32 *val)
return 0; return 0;
} }
int s5k4aa_set_exposure(struct gspca_dev *gspca_dev, __s32 val) static int s5k4aa_set_exposure(struct gspca_dev *gspca_dev, __s32 val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -337,7 +346,7 @@ int s5k4aa_set_exposure(struct gspca_dev *gspca_dev, __s32 val)
return err; return err;
} }
int s5k4aa_get_vflip(struct gspca_dev *gspca_dev, __s32 *val) static int s5k4aa_get_vflip(struct gspca_dev *gspca_dev, __s32 *val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -348,7 +357,7 @@ int s5k4aa_get_vflip(struct gspca_dev *gspca_dev, __s32 *val)
return 0; return 0;
} }
int s5k4aa_set_vflip(struct gspca_dev *gspca_dev, __s32 val) static int s5k4aa_set_vflip(struct gspca_dev *gspca_dev, __s32 val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -396,7 +405,7 @@ int s5k4aa_set_vflip(struct gspca_dev *gspca_dev, __s32 val)
return err; return err;
} }
int s5k4aa_get_hflip(struct gspca_dev *gspca_dev, __s32 *val) static int s5k4aa_get_hflip(struct gspca_dev *gspca_dev, __s32 *val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -407,7 +416,7 @@ int s5k4aa_get_hflip(struct gspca_dev *gspca_dev, __s32 *val)
return 0; return 0;
} }
int s5k4aa_set_hflip(struct gspca_dev *gspca_dev, __s32 val) static int s5k4aa_set_hflip(struct gspca_dev *gspca_dev, __s32 val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -448,7 +457,7 @@ int s5k4aa_set_hflip(struct gspca_dev *gspca_dev, __s32 val)
return err; return err;
} }
int s5k4aa_get_gain(struct gspca_dev *gspca_dev, __s32 *val) static int s5k4aa_get_gain(struct gspca_dev *gspca_dev, __s32 *val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;
@ -458,7 +467,7 @@ int s5k4aa_get_gain(struct gspca_dev *gspca_dev, __s32 *val)
return 0; return 0;
} }
int s5k4aa_set_gain(struct gspca_dev *gspca_dev, __s32 val) static int s5k4aa_set_gain(struct gspca_dev *gspca_dev, __s32 val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
s32 *sensor_settings = sd->sensor_priv; s32 *sensor_settings = sd->sensor_priv;

View file

@ -68,15 +68,6 @@ int s5k4aa_init(struct sd *sd);
int s5k4aa_start(struct sd *sd); int s5k4aa_start(struct sd *sd);
void s5k4aa_disconnect(struct sd *sd); void s5k4aa_disconnect(struct sd *sd);
int s5k4aa_get_exposure(struct gspca_dev *gspca_dev, __s32 *val);
int s5k4aa_set_exposure(struct gspca_dev *gspca_dev, __s32 val);
int s5k4aa_get_vflip(struct gspca_dev *gspca_dev, __s32 *val);
int s5k4aa_set_vflip(struct gspca_dev *gspca_dev, __s32 val);
int s5k4aa_get_hflip(struct gspca_dev *gspca_dev, __s32 *val);
int s5k4aa_set_hflip(struct gspca_dev *gspca_dev, __s32 val);
int s5k4aa_get_gain(struct gspca_dev *gspca_dev, __s32 *val);
int s5k4aa_set_gain(struct gspca_dev *gspca_dev, __s32 val);
static const struct m5602_sensor s5k4aa = { static const struct m5602_sensor s5k4aa = {
.name = "S5K4AA", .name = "S5K4AA",
.i2c_slave_id = 0x5a, .i2c_slave_id = 0x5a,

View file

@ -19,6 +19,17 @@
#include <linux/kthread.h> #include <linux/kthread.h>
#include "m5602_s5k83a.h" #include "m5602_s5k83a.h"
static int s5k83a_set_gain(struct gspca_dev *gspca_dev, __s32 val);
static int s5k83a_get_gain(struct gspca_dev *gspca_dev, __s32 *val);
static int s5k83a_set_brightness(struct gspca_dev *gspca_dev, __s32 val);
static int s5k83a_get_brightness(struct gspca_dev *gspca_dev, __s32 *val);
static int s5k83a_set_exposure(struct gspca_dev *gspca_dev, __s32 val);
static int s5k83a_get_exposure(struct gspca_dev *gspca_dev, __s32 *val);
static int s5k83a_get_vflip(struct gspca_dev *gspca_dev, __s32 *val);
static int s5k83a_set_vflip(struct gspca_dev *gspca_dev, __s32 val);
static int s5k83a_get_hflip(struct gspca_dev *gspca_dev, __s32 *val);
static int s5k83a_set_hflip(struct gspca_dev *gspca_dev, __s32 val);
static struct v4l2_pix_format s5k83a_modes[] = { static struct v4l2_pix_format s5k83a_modes[] = {
{ {
640, 640,
@ -298,7 +309,7 @@ void s5k83a_disconnect(struct sd *sd)
kfree(sens_priv); kfree(sens_priv);
} }
int s5k83a_get_gain(struct gspca_dev *gspca_dev, __s32 *val) static int s5k83a_get_gain(struct gspca_dev *gspca_dev, __s32 *val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
struct s5k83a_priv *sens_priv = sd->sensor_priv; struct s5k83a_priv *sens_priv = sd->sensor_priv;
@ -307,7 +318,7 @@ int s5k83a_get_gain(struct gspca_dev *gspca_dev, __s32 *val)
return 0; return 0;
} }
int s5k83a_set_gain(struct gspca_dev *gspca_dev, __s32 val) static int s5k83a_set_gain(struct gspca_dev *gspca_dev, __s32 val)
{ {
int err; int err;
u8 data[2]; u8 data[2];
@ -337,7 +348,7 @@ int s5k83a_set_gain(struct gspca_dev *gspca_dev, __s32 val)
return err; return err;
} }
int s5k83a_get_brightness(struct gspca_dev *gspca_dev, __s32 *val) static int s5k83a_get_brightness(struct gspca_dev *gspca_dev, __s32 *val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
struct s5k83a_priv *sens_priv = sd->sensor_priv; struct s5k83a_priv *sens_priv = sd->sensor_priv;
@ -346,7 +357,7 @@ int s5k83a_get_brightness(struct gspca_dev *gspca_dev, __s32 *val)
return 0; return 0;
} }
int s5k83a_set_brightness(struct gspca_dev *gspca_dev, __s32 val) static int s5k83a_set_brightness(struct gspca_dev *gspca_dev, __s32 val)
{ {
int err; int err;
u8 data[1]; u8 data[1];
@ -359,7 +370,7 @@ int s5k83a_set_brightness(struct gspca_dev *gspca_dev, __s32 val)
return err; return err;
} }
int s5k83a_get_exposure(struct gspca_dev *gspca_dev, __s32 *val) static int s5k83a_get_exposure(struct gspca_dev *gspca_dev, __s32 *val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
struct s5k83a_priv *sens_priv = sd->sensor_priv; struct s5k83a_priv *sens_priv = sd->sensor_priv;
@ -368,7 +379,7 @@ int s5k83a_get_exposure(struct gspca_dev *gspca_dev, __s32 *val)
return 0; return 0;
} }
int s5k83a_set_exposure(struct gspca_dev *gspca_dev, __s32 val) static int s5k83a_set_exposure(struct gspca_dev *gspca_dev, __s32 val)
{ {
int err; int err;
u8 data[2]; u8 data[2];
@ -382,7 +393,7 @@ int s5k83a_set_exposure(struct gspca_dev *gspca_dev, __s32 val)
return err; return err;
} }
int s5k83a_get_vflip(struct gspca_dev *gspca_dev, __s32 *val) static int s5k83a_get_vflip(struct gspca_dev *gspca_dev, __s32 *val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
struct s5k83a_priv *sens_priv = sd->sensor_priv; struct s5k83a_priv *sens_priv = sd->sensor_priv;
@ -421,7 +432,7 @@ int s5k83a_set_flip_real(struct gspca_dev *gspca_dev, __s32 vflip, __s32 hflip)
return err; return err;
} }
int s5k83a_set_vflip(struct gspca_dev *gspca_dev, __s32 val) static int s5k83a_set_vflip(struct gspca_dev *gspca_dev, __s32 val)
{ {
int err; int err;
u8 reg; u8 reg;
@ -445,7 +456,7 @@ int s5k83a_set_vflip(struct gspca_dev *gspca_dev, __s32 val)
return err; return err;
} }
int s5k83a_get_hflip(struct gspca_dev *gspca_dev, __s32 *val) static int s5k83a_get_hflip(struct gspca_dev *gspca_dev, __s32 *val)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
struct s5k83a_priv *sens_priv = sd->sensor_priv; struct s5k83a_priv *sens_priv = sd->sensor_priv;
@ -454,7 +465,7 @@ int s5k83a_get_hflip(struct gspca_dev *gspca_dev, __s32 *val)
return 0; return 0;
} }
int s5k83a_set_hflip(struct gspca_dev *gspca_dev, __s32 val) static int s5k83a_set_hflip(struct gspca_dev *gspca_dev, __s32 val)
{ {
int err; int err;
u8 reg; u8 reg;

View file

@ -49,17 +49,6 @@ int s5k83a_start(struct sd *sd);
int s5k83a_stop(struct sd *sd); int s5k83a_stop(struct sd *sd);
void s5k83a_disconnect(struct sd *sd); void s5k83a_disconnect(struct sd *sd);
int s5k83a_set_gain(struct gspca_dev *gspca_dev, __s32 val);
int s5k83a_get_gain(struct gspca_dev *gspca_dev, __s32 *val);
int s5k83a_set_brightness(struct gspca_dev *gspca_dev, __s32 val);
int s5k83a_get_brightness(struct gspca_dev *gspca_dev, __s32 *val);
int s5k83a_set_exposure(struct gspca_dev *gspca_dev, __s32 val);
int s5k83a_get_exposure(struct gspca_dev *gspca_dev, __s32 *val);
int s5k83a_get_vflip(struct gspca_dev *gspca_dev, __s32 *val);
int s5k83a_set_vflip(struct gspca_dev *gspca_dev, __s32 val);
int s5k83a_get_hflip(struct gspca_dev *gspca_dev, __s32 *val);
int s5k83a_set_hflip(struct gspca_dev *gspca_dev, __s32 val);
static const struct m5602_sensor s5k83a = { static const struct m5602_sensor s5k83a = {
.name = "S5K83A", .name = "S5K83A",
.probe = s5k83a_probe, .probe = s5k83a_probe,