summaryrefslogtreecommitdiff
path: root/v4l
diff options
context:
space:
mode:
Diffstat (limited to 'v4l')
-rw-r--r--v4l/compat.h10
-rwxr-xr-xv4l/scripts/make_config_compat.pl20
2 files changed, 26 insertions, 4 deletions
diff --git a/v4l/compat.h b/v4l/compat.h
index 3b04c91f6..7fc249001 100644
--- a/v4l/compat.h
+++ b/v4l/compat.h
@@ -270,10 +270,6 @@ static inline int dummy_algo_control(struct i2c_adapter *adapter,
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 28)
#define snd_BUG_ON(cond) WARN((cond), "BUG? (%s)\n", __stringify(cond))
-
-#define pci_ioremap_bar(pci, a) \
- ioremap_nocache(pci_resource_start(pci, a), \
- pci_resource_len(pci, a))
#endif
#ifndef PCI_DEVICE_ID_MARVELL_88ALP01_CCIC
@@ -410,5 +406,11 @@ static inline int usb_endpoint_type(const struct usb_endpoint_descriptor *epd)
#define netdev_priv(dev) ((dev)->priv)
#endif
+#ifdef NEED_PCI_IOREMAP_BAR
+#define pci_ioremap_bar(struct pci_dev *pdev, int bar) \
+ ioremap_nocache(pci_resource_start(pdev, bar), \
+ pci_resource_len(pdev, bar))
+#endif
+
#endif
diff --git a/v4l/scripts/make_config_compat.pl b/v4l/scripts/make_config_compat.pl
index dc6653b0d..d24b5f718 100755
--- a/v4l/scripts/make_config_compat.pl
+++ b/v4l/scripts/make_config_compat.pl
@@ -235,6 +235,25 @@ sub check_usb_endpoint_type()
close INNET;
}
+sub check_pci_ioremap_bar()
+{
+ my $file = "$kdir/include/linux/pci.h";
+ my $need_compat = 1;
+
+ open INNET, "<$file" or die "File not found: $file";
+ while (<INNET>) {
+ if (m/pci_ioremap_bar/) {
+ $need_compat = 0;
+ last;
+ }
+ }
+
+ if ($need_compat) {
+ $out.= "\n#define NEED_PCI_IOREMAP_BAR 1\n";
+ }
+ close INNET;
+}
+
sub check_other_dependencies()
{
check_spin_lock();
@@ -249,6 +268,7 @@ sub check_other_dependencies()
check_algo_control();
check_net_dev();
check_usb_endpoint_type();
+ check_pci_ioremap_bar();
}
# Do the basic rules