V4L/DVB (10700): saa7115: don't access reg 0x87 if it is not present.
authorHans Verkuil <hverkuil@xs4all.nl>
Wed, 18 Feb 2009 15:22:16 +0000 (12:22 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 30 Mar 2009 15:42:54 +0000 (12:42 -0300)
Devices like the saa7111 do not have this register, so check for this
before using it.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/saa7115.c

index a845582..b1c5f63 100644 (file)
@@ -1310,11 +1310,12 @@ static int saa711x_s_stream(struct v4l2_subdev *sd, int enable)
        v4l2_dbg(1, debug, sd, "%s output\n",
                        enable ? "enable" : "disable");
 
-       if (state->enable != enable) {
-               state->enable = enable;
-               saa711x_write(sd, R_87_I_PORT_I_O_ENA_OUT_CLK_AND_GATED,
-                               state->enable);
-       }
+       if (state->enable == enable)
+               return 0;
+       state->enable = enable;
+       if (!saa711x_has_reg(state->ident, R_87_I_PORT_I_O_ENA_OUT_CLK_AND_GATED))
+               return 0;
+       saa711x_write(sd, R_87_I_PORT_I_O_ENA_OUT_CLK_AND_GATED, state->enable);
        return 0;
 }