public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Shut off pci_find_device warnings when the deprecated pci functions are enabled.
@ 2009-07-24  9:41 Andi Kleen
  2009-07-28 16:55 ` Jesse Barnes
  0 siblings, 1 reply; 5+ messages in thread
From: Andi Kleen @ 2009-07-24  9:41 UTC (permalink / raw)
  To: jbarnes, linux-kernel

Shut off pci_find_device warnings when the deprecated pci functions are enabled.

Shut off the long standing

linux/drivers/pci/search.c:144: warning: 'pci_find_device' is deprecated (declared at linux/drivers/pci/search.c:136)
linux/drivers/pci/search.c:144: warning: 'pci_find_device' is deprecated (declared at linux/drivers/pci/search.c:136)

warnings that appear on every build when CONFIG_PCI_LEGACY is enabled.

gcc warns for the use in EXPORT_SYMBOL

I moved these to a separate file and disabled the warning in the Makefile for that file.

Signed-off-by: Andi Kleen <ak@linux.intel.com>

---
 drivers/pci/Makefile |    3 +++
 drivers/pci/legacy.c |   34 ++++++++++++++++++++++++++++++++++
 drivers/pci/search.c |   31 -------------------------------
 3 files changed, 37 insertions(+), 31 deletions(-)

Index: linux-2.6.31-rc3-ak/drivers/pci/Makefile
===================================================================
--- linux-2.6.31-rc3-ak.orig/drivers/pci/Makefile
+++ linux-2.6.31-rc3-ak/drivers/pci/Makefile
@@ -8,6 +8,9 @@ obj-y		+= access.o bus.o probe.o remove.
 obj-$(CONFIG_PROC_FS) += proc.o
 obj-$(CONFIG_SYSFS) += slot.o
 
+obj-$(CONFIG_PCI_LEGACY) += legacy.o
+CFLAGS_legacy.o += -Wno-deprecated-declarations
+
 # Build PCI Express stuff if needed
 obj-$(CONFIG_PCIEPORTBUS) += pcie/
 
Index: linux-2.6.31-rc3-ak/drivers/pci/legacy.c
===================================================================
--- /dev/null
+++ linux-2.6.31-rc3-ak/drivers/pci/legacy.c
@@ -0,0 +1,34 @@
+#include <linux/init.h>
+#include <linux/pci.h>
+#include <linux/module.h>
+#include <linux/interrupt.h>
+#include "pci.h"
+
+/**
+ * pci_find_device - begin or continue searching for a PCI device by vendor/device id
+ * @vendor: PCI vendor id to match, or %PCI_ANY_ID to match all vendor ids
+ * @device: PCI device id to match, or %PCI_ANY_ID to match all device ids
+ * @from: Previous PCI device found in search, or %NULL for new search.
+ *
+ * Iterates through the list of known PCI devices.  If a PCI device is found
+ * with a matching @vendor and @device, a pointer to its device structure is
+ * returned.  Otherwise, %NULL is returned.
+ * A new search is initiated by passing %NULL as the @from argument.
+ * Otherwise if @from is not %NULL, searches continue from next device
+ * on the global list.
+ *
+ * NOTE: Do not use this function any more; use pci_get_device() instead, as
+ * the PCI device returned by this function can disappear at any moment in
+ * time.
+ */
+struct pci_dev *pci_find_device(unsigned int vendor, unsigned int device,
+				struct pci_dev *from)
+{
+	struct pci_dev *pdev;
+
+	pci_dev_get(from);
+	pdev = pci_get_subsys(vendor, device, PCI_ANY_ID, PCI_ANY_ID, from);
+	pci_dev_put(pdev);
+	return pdev;
+}
+EXPORT_SYMBOL(pci_find_device);
Index: linux-2.6.31-rc3-ak/drivers/pci/search.c
===================================================================
--- linux-2.6.31-rc3-ak.orig/drivers/pci/search.c
+++ linux-2.6.31-rc3-ak/drivers/pci/search.c
@@ -113,37 +113,6 @@ pci_find_next_bus(const struct pci_bus *
 	return b;
 }
 
-#ifdef CONFIG_PCI_LEGACY
-/**
- * pci_find_device - begin or continue searching for a PCI device by vendor/device id
- * @vendor: PCI vendor id to match, or %PCI_ANY_ID to match all vendor ids
- * @device: PCI device id to match, or %PCI_ANY_ID to match all device ids
- * @from: Previous PCI device found in search, or %NULL for new search.
- *
- * Iterates through the list of known PCI devices.  If a PCI device is found
- * with a matching @vendor and @device, a pointer to its device structure is
- * returned.  Otherwise, %NULL is returned.
- * A new search is initiated by passing %NULL as the @from argument.
- * Otherwise if @from is not %NULL, searches continue from next device
- * on the global list.
- *
- * NOTE: Do not use this function any more; use pci_get_device() instead, as
- * the PCI device returned by this function can disappear at any moment in
- * time.
- */
-struct pci_dev *pci_find_device(unsigned int vendor, unsigned int device,
-				struct pci_dev *from)
-{
-	struct pci_dev *pdev;
-
-	pci_dev_get(from);
-	pdev = pci_get_subsys(vendor, device, PCI_ANY_ID, PCI_ANY_ID, from);
-	pci_dev_put(pdev);
-	return pdev;
-}
-EXPORT_SYMBOL(pci_find_device);
-#endif /* CONFIG_PCI_LEGACY */
-
 /**
  * pci_get_slot - locate PCI device for a given PCI slot
  * @bus: PCI bus on which desired PCI device resides

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Shut off pci_find_device warnings when the deprecated pci functions are enabled.
  2009-07-24  9:41 [PATCH] Shut off pci_find_device warnings when the deprecated pci functions are enabled Andi Kleen
@ 2009-07-28 16:55 ` Jesse Barnes
  2009-07-29  0:16   ` Alex Chiang
  0 siblings, 1 reply; 5+ messages in thread
From: Jesse Barnes @ 2009-07-28 16:55 UTC (permalink / raw)
  To: Andi Kleen; +Cc: linux-kernel

On Fri, 24 Jul 2009 11:41:15 +0200
Andi Kleen <andi@firstfloor.org> wrote:

> Shut off pci_find_device warnings when the deprecated pci functions
> are enabled.
> 
> Shut off the long standing
> 
> linux/drivers/pci/search.c:144: warning: 'pci_find_device' is
> deprecated (declared at linux/drivers/pci/search.c:136)
> linux/drivers/pci/search.c:144: warning: 'pci_find_device' is
> deprecated (declared at linux/drivers/pci/search.c:136)
> 
> warnings that appear on every build when CONFIG_PCI_LEGACY is enabled.
> 
> gcc warns for the use in EXPORT_SYMBOL
> 
> I moved these to a separate file and disabled the warning in the
> Makefile for that file.
> 
> Signed-off-by: Andi Kleen <ak@linux.intel.com>

Applied to linux-next, thanks.

-- 
Jesse Barnes, Intel Open Source Technology Center

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Shut off pci_find_device warnings when the deprecated pci functions are enabled.
  2009-07-28 16:55 ` Jesse Barnes
@ 2009-07-29  0:16   ` Alex Chiang
  2009-07-29  0:28     ` Andi Kleen
  0 siblings, 1 reply; 5+ messages in thread
From: Alex Chiang @ 2009-07-29  0:16 UTC (permalink / raw)
  To: Jesse Barnes; +Cc: Andi Kleen, linux-kernel, kernel-janitors, kernelnewbies

* Jesse Barnes <jesse.barnes@intel.com>:
> On Fri, 24 Jul 2009 11:41:15 +0200
> Andi Kleen <andi@firstfloor.org> wrote:
> 
> > Shut off pci_find_device warnings when the deprecated pci functions
> > are enabled.
> > 
> > Shut off the long standing
> > 
> > linux/drivers/pci/search.c:144: warning: 'pci_find_device' is
> > deprecated (declared at linux/drivers/pci/search.c:136)
> > linux/drivers/pci/search.c:144: warning: 'pci_find_device' is
> > deprecated (declared at linux/drivers/pci/search.c:136)
> > 
> > warnings that appear on every build when CONFIG_PCI_LEGACY is enabled.
> > 
> > gcc warns for the use in EXPORT_SYMBOL
> > 
> > I moved these to a separate file and disabled the warning in the
> > Makefile for that file.
> > 
> > Signed-off-by: Andi Kleen <ak@linux.intel.com>
> 
> Applied to linux-next, thanks.

Maybe it's too late now, but I thought those warnings were
supposed to motivate people to convert old, buggy drivers to get
off the deprecated interface.

That's what finally motivated me to get rid of pci_find_slot()
earlier...

By the way, this would also be a perfect kernelnewbies/kernel
janitor cleanup, as it would require actually digging into
drivers and making real, substantial changes as opposed to
whitespace/checkpatch/typo patches.

Just a thought.

/ac


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Shut off pci_find_device warnings when the deprecated pci functions are enabled.
  2009-07-29  0:16   ` Alex Chiang
@ 2009-07-29  0:28     ` Andi Kleen
  2009-07-29  0:32       ` Alex Chiang
  0 siblings, 1 reply; 5+ messages in thread
From: Andi Kleen @ 2009-07-29  0:28 UTC (permalink / raw)
  To: Alex Chiang
  Cc: Jesse Barnes, Andi Kleen, linux-kernel, kernel-janitors,
	kernelnewbies

> Maybe it's too late now, but I thought those warnings were
> supposed to motivate people to convert old, buggy drivers to get
> off the deprecated interface.

Yes they are, but this warning instance was not for a old driver,
but for the EXPORT_SYMBOL defining the legacy function.

If any driver uses it it'll still warn.

-Andi

-- 
ak@linux.intel.com -- Speaking for myself only.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Shut off pci_find_device warnings when the deprecated pci functions are enabled.
  2009-07-29  0:28     ` Andi Kleen
@ 2009-07-29  0:32       ` Alex Chiang
  0 siblings, 0 replies; 5+ messages in thread
From: Alex Chiang @ 2009-07-29  0:32 UTC (permalink / raw)
  To: Andi Kleen; +Cc: Jesse Barnes, linux-kernel, kernel-janitors, kernelnewbies

* Andi Kleen <andi@firstfloor.org>:
> > Maybe it's too late now, but I thought those warnings were
> > supposed to motivate people to convert old, buggy drivers to get
> > off the deprecated interface.
> 
> Yes they are, but this warning instance was not for a old driver,
> but for the EXPORT_SYMBOL defining the legacy function.
> 
> If any driver uses it it'll still warn.

Ok, I've been corrected. :)

I still think it would be a good learning project for someone to
audit the tree and see if they can eliminate the usages of
pci_find_device().

Thanks,

/ac


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-07-29  0:32 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-24  9:41 [PATCH] Shut off pci_find_device warnings when the deprecated pci functions are enabled Andi Kleen
2009-07-28 16:55 ` Jesse Barnes
2009-07-29  0:16   ` Alex Chiang
2009-07-29  0:28     ` Andi Kleen
2009-07-29  0:32       ` Alex Chiang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox