On 02/25/10 12:34, Hans Verkuil wrote: > On Thursday 25 February 2010 17:52:05 Randy Dunlap wrote: >> On Mon, 22 Feb 2010 08:21:44 -0800 Randy Dunlap wrote: >> >>> On 02/21/10 22:22, Stephen Rothwell wrote: >>>> Hi all, >>>> >>>> Changes since 20100219: >>> >>> >>> drivers/media/video/tvp7002.c:896: error: 'struct tvp7002' has no member named 'registers' >> >> same problem in linux-next-20100225. >> >> so where are these registers?? > > Hmm, that code is a remnant from older revisions of this driver. Unfortunately, > when I compiled this driver before creating my pull request I forgot to turn on > the CONFIG_VIDEO_ADV_DEBUG option and so I never saw it. > > Anyway, below is a patch that fixes this. Please apply. > > Signed-off-by: Hans Verkuil <hverkuil@xxxxxxxxx> Acked-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx> Thanks. > Santiago, I've also fixed the g_register function: it never returned a register > value in the original code. > > Regards, > > Hans > > diff --git a/drivers/media/video/tvp7002.c b/drivers/media/video/tvp7002.c > index 0f0270b..5a878bc 100644 > --- a/drivers/media/video/tvp7002.c > +++ b/drivers/media/video/tvp7002.c > @@ -859,13 +859,17 @@ static int tvp7002_g_register(struct v4l2_subdev *sd, > struct v4l2_dbg_register *reg) > { > struct i2c_client *client = v4l2_get_subdevdata(sd); > + u8 val; > + int ret; > > if (!v4l2_chip_match_i2c_client(client, ®->match)) > return -EINVAL; > if (!capable(CAP_SYS_ADMIN)) > return -EPERM; > > - return reg->val < 0 ? -EINVAL : 0; > + ret = tvp7002_read(sd, reg->reg & 0xff, &val); > + reg->val = val; > + return ret; > } > > /* > @@ -881,21 +885,13 @@ static int tvp7002_s_register(struct v4l2_subdev *sd, > struct v4l2_dbg_register *reg) > { > struct i2c_client *client = v4l2_get_subdevdata(sd); > - struct tvp7002 *device = to_tvp7002(sd); > - int wres; > > if (!v4l2_chip_match_i2c_client(client, ®->match)) > return -EINVAL; > if (!capable(CAP_SYS_ADMIN)) > return -EPERM; > > - wres = tvp7002_write(sd, reg->reg & 0xff, reg->val & 0xff); > - > - /* Update the register value in device's table */ > - if (!wres) > - device->registers[reg->reg].value = reg->val; > - > - return wres < 0 ? -EINVAL : 0; > + return tvp7002_write(sd, reg->reg & 0xff, reg->val & 0xff); > } > #endif > > > -- ~Randy -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html