public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
From: Jarod Wilson <jarod@redhat.com>
To: linux-media@vger.kernel.org
Subject: [PATCH] dvb: make digital side of pcHDTV HD-3000 functional again
Date: Mon, 20 Jul 2009 10:20:47 -0400	[thread overview]
Message-ID: <200907201020.47581.jarod@redhat.com> (raw)

The dvb side of the pcHDTV HD-3000 doesn't work since at least 2.6.29.
The crux of the problem is this: the HD-3000's device ID matches the
modalias for the cx8800 driver, but not the cx8802 driver, which is
required to set up the digital side of the card. You can load up
cx8802 just fine, but cx88-dvb falls on its face, because the call
to cx8802_register_driver() attempts to traverse the cx8802_devlist,
which is completely empty. The list is only populated by the
cx8802_probe() function, which never gets called for the HD-3000, as
its device ID isn't matched by the cx8802 driver, so you wind up
getting an -ENODEV return from cx8802_register_driver() back to
cx88-dvb, and as a result, no digital side of the card for you.

Long story short, by simply adding a vendor/device/subvendor/subdevice
block to cx88-mpeg.c, cx8802_probe() will run, the cx88-2_devlist
will get populated, cx8802_register_driver() won't fail, and cx88-dvb
can actually load up all the way on this card. Channel scanning is
of course currently failing for me still (works fine on several other
cards I have handy), but that's another problem for another day...

There might be a Better Way to do this, and I'm open to suggestions
and willing to try them out, but this Works For Me.

Signed-off-by: Jarod Wilson <jarod@redhat.com>

diff -r d754a2d5a376 linux/drivers/media/video/cx88/cx88-mpeg.c
--- a/linux/drivers/media/video/cx88/cx88-mpeg.c	Wed Jul 15 07:28:02 2009 -0300
+++ b/linux/drivers/media/video/cx88/cx88-mpeg.c	Sat Jul 18 02:07:37 2009 -0400
@@ -893,6 +893,11 @@
 		.device       = 0x8802,
 		.subvendor    = PCI_ANY_ID,
 		.subdevice    = PCI_ANY_ID,
+	},{	/* pcHDTV HD-3000 */
+		.vendor       = 0x14f1,
+		.device       = 0x8800,
+		.subvendor    = 0x7063,
+		.subdevice    = 0x3000,
 	},{
 		/* --- end of list --- */
 	}

-- 
Jarod Wilson
jarod@redhat.com

             reply	other threads:[~2009-07-20 14:21 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-20 14:20 Jarod Wilson [this message]
2009-07-20 19:51 ` [PATCH] dvb: make digital side of pcHDTV HD-3000 functional again Trent Piepho
2009-07-20 20:50   ` Jarod Wilson
2009-07-21 14:23     ` Steven Toth
2009-07-22  1:35       ` Jarod Wilson
2009-07-22  1:48         ` Bob Hepple
2009-07-22 15:54           ` Steven Toth
2009-07-22 16:06             ` Devin Heitmueller
2009-07-22  6:51         ` Trent Piepho
2009-07-22 11:57           ` Andy Walls
2009-07-22 17:59           ` Jarod Wilson
2009-07-22 18:12             ` Jarod Wilson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200907201020.47581.jarod@redhat.com \
    --to=jarod@redhat.com \
    --cc=linux-media@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox