V4L/DVB (7893): xc5000: bug-fix: allow multiple devices in a single system
authorMichael Krufky <mkrufky@linuxtv.org>
Sat, 10 May 2008 17:34:09 +0000 (14:34 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Wed, 14 May 2008 05:56:46 +0000 (02:56 -0300)
commit48723543aff1f46091840222490ded5fe09c0e37
treece076b78ecae43f7ae22849277db6d496780cc8b
parent07c87a833e9ef92280ed24ab85cd4eb49cbca9c0
V4L/DVB (7893): xc5000: bug-fix: allow multiple devices in a single system

The current code passes a context pointer in the xc5000_config struct.
This context pointer is used in the tuner_callback function, used to
reset the device after firmware download.

The xc5000_config struct is a static structure, whose .priv member was
being assigned before calling xc5000_attach().  If there are more than
one of the same device type installed on a single system, the last one
to assign xc5000_config.priv will "win", and all others will cease to
function properly.

This patch passes the context pointer in xc5000_attach() rather that
storing it within the static struct xc5000_config.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/common/tuners/xc5000.c
drivers/media/common/tuners/xc5000.h
drivers/media/common/tuners/xc5000_priv.h
drivers/media/video/au0828/au0828-dvb.c
drivers/media/video/cx23885/cx23885-dvb.c
drivers/media/video/cx88/cx88-dvb.c
drivers/media/video/tuner-core.c