Re: [2.6.27-rc4-git4] compilation warnings

From: Greg KH
Date: Tue Aug 26 2008 - 11:23:48 EST


On Tue, Aug 26, 2008 at 11:37:46AM +0200, Rufus & Azrael wrote:
> Hello all,
>
> Fresh 2.6.27-rc4-git4 causes these compilation warnings on my amd64 box
> with gcc-4.3.1 :
>
> drivers/pci/search.c: In function âpci_get_dev_by_idâ:
> drivers/pci/search.c:284: attention : passing argument 1 of
> âpci_dev_putâ discards qualifiers from pointer target type
>
> following this commit : ebca4f1bce1eb7b91a63c515db66316db9391221 PCI: fix
> reference leak in pci_get_dev_by_id()

Ick, sorry about that, I said my fix was not even build tested :)

Here's a fix for this, Jesse, care to forward this on?

thanks,

greg k-h

--------------

From: Greg Kroah-Hartman <gregkh@xxxxxxx>
Subject: PCI: fix compiler warnings in pci_get_subsys()

From: Greg Kroah-Hartman <gregkh@xxxxxxx>

pci_get_subsys() changed in 2.6.26 so that the from pointer is modified when
the call is being invoked, so fix up the 'const' marking of it that the
compiler is complaining about.

Reported-by: Rufus & Azrael <rufus-azrael@xxxxxxxxxxxxxx>
Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

---
drivers/pci/search.c | 6 +++---
include/linux/pci.h | 8 ++++----
2 files changed, 7 insertions(+), 7 deletions(-)

--- a/drivers/pci/search.c
+++ b/drivers/pci/search.c
@@ -162,7 +162,7 @@ EXPORT_SYMBOL(pci_find_slot);
* time.
*/
struct pci_dev *pci_find_device(unsigned int vendor, unsigned int device,
- const struct pci_dev *from)
+ struct pci_dev *from)
{
struct pci_dev *pdev;

@@ -263,7 +263,7 @@ static int match_pci_dev_by_id(struct de
* this file.
*/
static struct pci_dev *pci_get_dev_by_id(const struct pci_device_id *id,
- const struct pci_dev *from)
+ struct pci_dev *from)
{
struct device *dev;
struct device *dev_start = NULL;
@@ -303,7 +303,7 @@ static struct pci_dev *pci_get_dev_by_id
*/
struct pci_dev *pci_get_subsys(unsigned int vendor, unsigned int device,
unsigned int ss_vendor, unsigned int ss_device,
- const struct pci_dev *from)
+ struct pci_dev *from)
{
struct pci_dev *pdev;
struct pci_device_id *id;
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -534,7 +534,7 @@ extern void pci_sort_breadthfirst(void);
#ifdef CONFIG_PCI_LEGACY
struct pci_dev __deprecated *pci_find_device(unsigned int vendor,
unsigned int device,
- const struct pci_dev *from);
+ struct pci_dev *from);
struct pci_dev __deprecated *pci_find_slot(unsigned int bus,
unsigned int devfn);
#endif /* CONFIG_PCI_LEGACY */
@@ -550,7 +550,7 @@ struct pci_dev *pci_get_device(unsigned
struct pci_dev *from);
struct pci_dev *pci_get_subsys(unsigned int vendor, unsigned int device,
unsigned int ss_vendor, unsigned int ss_device,
- const struct pci_dev *from);
+ struct pci_dev *from);
struct pci_dev *pci_get_slot(struct pci_bus *bus, unsigned int devfn);
struct pci_dev *pci_get_bus_and_slot(unsigned int bus, unsigned int devfn);
struct pci_dev *pci_get_class(unsigned int class, struct pci_dev *from);
@@ -816,7 +816,7 @@ _PCI_NOP_ALL(write,)

static inline struct pci_dev *pci_find_device(unsigned int vendor,
unsigned int device,
- const struct pci_dev *from)
+ struct pci_dev *from)
{
return NULL;
}
@@ -838,7 +838,7 @@ static inline struct pci_dev *pci_get_su
unsigned int device,
unsigned int ss_vendor,
unsigned int ss_device,
- const struct pci_dev *from)
+ struct pci_dev *from)
{
return NULL;
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/