V4L/DVB (5158): Dvb-ttpci: Fixed unregistering the vbi device

Fixed unregistering the vbi device for cards without analog tuner.
Thanks to Marco Schluessler <marco@lordzodiac.de> for pointing out this bug.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
Oliver Endriss 2007-01-27 21:13:06 -03:00 committed by Mauro Carvalho Chehab
parent 357a268d59
commit 7857735b3a
2 changed files with 2 additions and 8 deletions

View File

@ -35,7 +35,6 @@
#define ANALOG_TUNER_VES1820 1 #define ANALOG_TUNER_VES1820 1
#define ANALOG_TUNER_STV0297 2 #define ANALOG_TUNER_STV0297 2
#define ANALOG_TUNER_VBI 0x100
extern int av7110_debug; extern int av7110_debug;

View File

@ -817,20 +817,15 @@ int av7110_init_v4l(struct av7110 *av7110)
saa7146_vv_release(dev); saa7146_vv_release(dev);
return -ENODEV; return -ENODEV;
} }
if (saa7146_register_device(&av7110->vbi_dev, dev, "av7110", VFL_TYPE_VBI)) { if (saa7146_register_device(&av7110->vbi_dev, dev, "av7110", VFL_TYPE_VBI))
ERR(("cannot register vbi v4l2 device. skipping.\n")); ERR(("cannot register vbi v4l2 device. skipping.\n"));
} else {
if (av7110->analog_tuner_flags)
av7110->analog_tuner_flags |= ANALOG_TUNER_VBI;
}
return 0; return 0;
} }
int av7110_exit_v4l(struct av7110 *av7110) int av7110_exit_v4l(struct av7110 *av7110)
{ {
saa7146_unregister_device(&av7110->v4l_dev, av7110->dev); saa7146_unregister_device(&av7110->v4l_dev, av7110->dev);
if (av7110->analog_tuner_flags & ANALOG_TUNER_VBI) saa7146_unregister_device(&av7110->vbi_dev, av7110->dev);
saa7146_unregister_device(&av7110->vbi_dev, av7110->dev);
return 0; return 0;
} }