summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrent Piepho <xyzzy@speakeasy.org>2007-07-20 00:42:46 -0700
committerTrent Piepho <xyzzy@speakeasy.org>2007-07-20 00:42:46 -0700
commit8a55acadcb3c75ee7a84683f612607957468a132 (patch)
tree858a45701bfb75927010d02369cac493cfd4b5ee
parent1079247820cf7d49cc44f78477fd0da737fbabd5 (diff)
downloadmediapointer-dvb-s2-8a55acadcb3c75ee7a84683f612607957468a132.tar.gz
mediapointer-dvb-s2-8a55acadcb3c75ee7a84683f612607957468a132.tar.bz2
compat: keep printing pci revision on older kernels
From: Trent Piepho <xyzzy@speakeasy.org> In 2.6.23, there is a new struct pci_dev->revision field to get the pci revision. A couple drivers now use this to print the revision and on old kernels don't print it anymore. This patch adds a simple function to get the revision to compat.h to make it easy for the backward compay code to keep printing the revision like is used too. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
-rw-r--r--linux/drivers/media/radio/radio-gemtek-pci.c5
-rw-r--r--linux/drivers/media/video/meye.c4
-rw-r--r--v4l/compat.h9
3 files changed, 14 insertions, 4 deletions
diff --git a/linux/drivers/media/radio/radio-gemtek-pci.c b/linux/drivers/media/radio/radio-gemtek-pci.c
index b0c7b640d..dd050d4f1 100644
--- a/linux/drivers/media/radio/radio-gemtek-pci.c
+++ b/linux/drivers/media/radio/radio-gemtek-pci.c
@@ -434,8 +434,9 @@ static int __devinit gemtek_pci_probe( struct pci_dev *pci_dev, const struct pci
printk( KERN_INFO "Gemtek PCI Radio (rev. %d) found at 0x%04x-0x%04x.\n",
pci_dev->revision, card->iobase, card->iobase + card->length - 1 );
#else
- printk( KERN_INFO "Gemtek PCI Radio found at 0x%04x-0x%04x.\n",
- card->iobase, card->iobase + card->length - 1 );
+ printk( KERN_INFO "Gemtek PCI Radio (rev. %d) found at 0x%04x-0x%04x.\n",
+ v4l_compat_pci_rev(pci_dev), card->iobase,
+ card->iobase + card->length - 1 );
#endif
return 0;
diff --git a/linux/drivers/media/video/meye.c b/linux/drivers/media/video/meye.c
index be29d0483..035000a14 100644
--- a/linux/drivers/media/video/meye.c
+++ b/linux/drivers/media/video/meye.c
@@ -1945,8 +1945,8 @@ static int __devinit meye_probe(struct pci_dev *pcidev,
printk(KERN_INFO "meye: mchip KL5A72002 rev. %d, base %lx, irq %d\n",
meye.mchip_dev->revision, mchip_adr, meye.mchip_irq);
#else
- printk(KERN_INFO "meye: mchip KL5A72002, base %lx, irq %d\n",
- mchip_adr, meye.mchip_irq);
+ printk(KERN_INFO "meye: mchip KL5A72002 rev. %d, base %lx, irq %d\n",
+ v4l_compat_pci_rev(meye.mchip_dev), mchip_adr, meye.mchip_irq);
#endif
return 0;
diff --git a/v4l/compat.h b/v4l/compat.h
index ed6605687..b788e7be2 100644
--- a/v4l/compat.h
+++ b/v4l/compat.h
@@ -389,6 +389,15 @@ typedef int bool;
#define pci_match_device(drv, dev) pci_match_device((drv)->id_table, dev)
#endif
+/* pci_dev got a new revision field in 2.6.23-rc1 */
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,23) && defined(LINUX_PCI_H)
+/* Just make it easier to subsitute pci_dev->revision with
+ * v4l_compat_pci_rev(pci_dev). It's too bad there isn't some kind of context
+ * sensitive macro in C that could do this for us. */
+static inline u8 v4l_compat_pci_rev(struct pci_dev *pci)
+{ u8 rev; pci_read_config_byte(pci, PCI_REVISION_ID, &rev); return rev; }
+#endif
+
#endif
/*
* Local variables: