v4l: tvp5150: Don't override output pinmuxing at stream on/off time
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Fri, 9 Dec 2016 11:47:19 +0000 (09:47 -0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 1 Feb 2017 07:33:10 +0000 (08:33 +0100)
commit1b8ff91ae545d36337de459c7195f6f369dc776d
treee04e7779dd6e283ec1ef0fb0a6ca851f63102422
parent11e5015ae1d12473f12baa1e8cc66849be019c3a
v4l: tvp5150: Don't override output pinmuxing at stream on/off time

commit 79d6205a3f741c9fb89cfc47dfa0eddb1526726d upstream.

The s_stream() handler incorrectly writes the whole MISC_CTL register to
enable or disable the outputs, overriding the output pinmuxing
configuration. Fix it to only touch the output enable bits.

The CONF_SHARED_PIN register is also written by the same function,
resulting in muxing the INTREQ signal instead of the VBLK/GPCL signal on
the INTREQ/GPCL/VBLK pin. As the driver doesn't support interrupts this
is obviously incorrect, and breaks operation on other devices. Fix it by
removing the write.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/i2c/tvp5150.c