|
@@ -1061,14 +1061,15 @@ struct ov13858 {
|
|
|
#define to_ov13858(_sd) container_of(_sd, struct ov13858, sd)
|
|
|
|
|
|
/* Read registers up to 4 at a time */
|
|
|
-static int ov13858_read_reg(struct ov13858 *ov13858, u16 reg, u32 len, u32 *val)
|
|
|
+static int ov13858_read_reg(struct ov13858 *ov13858, u16 reg, u32 len,
|
|
|
+ u32 *val)
|
|
|
{
|
|
|
struct i2c_client *client = v4l2_get_subdevdata(&ov13858->sd);
|
|
|
struct i2c_msg msgs[2];
|
|
|
u8 *data_be_p;
|
|
|
int ret;
|
|
|
- u32 data_be = 0;
|
|
|
- u16 reg_addr_be = cpu_to_be16(reg);
|
|
|
+ __be32 data_be = 0;
|
|
|
+ __be16 reg_addr_be = cpu_to_be16(reg);
|
|
|
|
|
|
if (len > 4)
|
|
|
return -EINVAL;
|
|
@@ -1096,11 +1097,13 @@ static int ov13858_read_reg(struct ov13858 *ov13858, u16 reg, u32 len, u32 *val)
|
|
|
}
|
|
|
|
|
|
/* Write registers up to 4 at a time */
|
|
|
-static int ov13858_write_reg(struct ov13858 *ov13858, u16 reg, u32 len, u32 val)
|
|
|
+static int ov13858_write_reg(struct ov13858 *ov13858, u16 reg, u32 len,
|
|
|
+ u32 __val)
|
|
|
{
|
|
|
struct i2c_client *client = v4l2_get_subdevdata(&ov13858->sd);
|
|
|
int buf_i, val_i;
|
|
|
u8 buf[6], *val_p;
|
|
|
+ __be32 val;
|
|
|
|
|
|
if (len > 4)
|
|
|
return -EINVAL;
|
|
@@ -1108,7 +1111,7 @@ static int ov13858_write_reg(struct ov13858 *ov13858, u16 reg, u32 len, u32 val)
|
|
|
buf[0] = reg >> 8;
|
|
|
buf[1] = reg & 0xff;
|
|
|
|
|
|
- val = cpu_to_be32(val);
|
|
|
+ val = cpu_to_be32(__val);
|
|
|
val_p = (u8 *)&val;
|
|
|
buf_i = 2;
|
|
|
val_i = 4 - len;
|