diff options
author | Trent Piepho <xyzzy@speakeasy.org> | 2007-07-20 00:42:46 -0700 |
---|---|---|
committer | Trent Piepho <xyzzy@speakeasy.org> | 2007-07-20 00:42:46 -0700 |
commit | 8a55acadcb3c75ee7a84683f612607957468a132 (patch) | |
tree | 858a45701bfb75927010d02369cac493cfd4b5ee | |
parent | 1079247820cf7d49cc44f78477fd0da737fbabd5 (diff) | |
download | mediapointer-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.c | 5 | ||||
-rw-r--r-- | linux/drivers/media/video/meye.c | 4 | ||||
-rw-r--r-- | v4l/compat.h | 9 |
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: |