diff mbox

[-next] pci: add function stub for pci_get_domain_bus_and_slot()

Message ID 80e3c9bb-fb65-4d87-76f9-db7c1273cef3@infradead.org (mailing list archive)
State New, archived
Headers show

Commit Message

Randy Dunlap Nov. 28, 2017, 10:31 p.m. UTC
From: Randy Dunlap <rdunlap@infradead.org>

The coretemp driver build fails when CONFIG_PCI is not enabled
because it uses a function that does not have a stub for that
config case, so add the function stub.

../drivers/hwmon/coretemp.c: In function 'adjust_tjmax':
../drivers/hwmon/coretemp.c:250:9: error: implicit declaration of function 'pci_get_domain_bus_and_slot' [-Werror=implicit-function-declaration]
  struct pci_dev *host_bridge = pci_get_domain_bus_and_slot(0, 0, devfn);
../drivers/hwmon/coretemp.c:250:32: warning: initialization makes pointer from integer without a cast [enabled by default]
  struct pci_dev *host_bridge = pci_get_domain_bus_and_slot(0, 0, devfn);

Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
---
 include/linux/pci.h |    3 +++
 1 file changed, 3 insertions(+)

Comments

Guenter Roeck Nov. 28, 2017, 11:17 p.m. UTC | #1
On Tue, Nov 28, 2017 at 02:31:21PM -0800, Randy Dunlap wrote:
> From: Randy Dunlap <rdunlap@infradead.org>
> 
> The coretemp driver build fails when CONFIG_PCI is not enabled
> because it uses a function that does not have a stub for that
> config case, so add the function stub.
> 
> ../drivers/hwmon/coretemp.c: In function 'adjust_tjmax':
> ../drivers/hwmon/coretemp.c:250:9: error: implicit declaration of function 'pci_get_domain_bus_and_slot' [-Werror=implicit-function-declaration]
>   struct pci_dev *host_bridge = pci_get_domain_bus_and_slot(0, 0, devfn);
> ../drivers/hwmon/coretemp.c:250:32: warning: initialization makes pointer from integer without a cast [enabled by default]
>   struct pci_dev *host_bridge = pci_get_domain_bus_and_slot(0, 0, devfn);
> 
> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>

Thanks!

Acked-by: Guenter Roeck <linux@roeck-us.net>

> ---
>  include/linux/pci.h |    3 +++
>  1 file changed, 3 insertions(+)
> 
> --- linux-next-20171128.orig/include/linux/pci.h
> +++ linux-next-20171128/include/linux/pci.h
> @@ -1660,6 +1660,9 @@ static inline struct pci_dev *pci_get_sl
>  static inline struct pci_dev *pci_get_bus_and_slot(unsigned int bus,
>  						unsigned int devfn)
>  { return NULL; }
> +static inline struct pci_dev *pci_get_domain_bus_and_slot(int domain,
> +					unsigned int bus, unsigned int devfn)
> +{ return NULL; }
>  
>  static inline int pci_domain_nr(struct pci_bus *bus) { return 0; }
>  static inline struct pci_dev *pci_dev_get(struct pci_dev *dev) { return NULL; }
> 
>
Bjorn Helgaas Dec. 5, 2017, 8:39 p.m. UTC | #2
[+cc Sinan]

On Tue, Nov 28, 2017 at 02:31:21PM -0800, Randy Dunlap wrote:
> From: Randy Dunlap <rdunlap@infradead.org>
> 
> The coretemp driver build fails when CONFIG_PCI is not enabled
> because it uses a function that does not have a stub for that
> config case, so add the function stub.
> 
> ../drivers/hwmon/coretemp.c: In function 'adjust_tjmax':
> ../drivers/hwmon/coretemp.c:250:9: error: implicit declaration of function 'pci_get_domain_bus_and_slot' [-Werror=implicit-function-declaration]
>   struct pci_dev *host_bridge = pci_get_domain_bus_and_slot(0, 0, devfn);
> ../drivers/hwmon/coretemp.c:250:32: warning: initialization makes pointer from integer without a cast [enabled by default]
>   struct pci_dev *host_bridge = pci_get_domain_bus_and_slot(0, 0, devfn);
> 
> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>

Applied with Guenter's ack to pci/enumeration for v4.16, thanks!

Apparently no other code calls pci_get_domain_bus_and_slot() when
CONFIG_PCI isn't enabled.

15ab6790f628 ("hwmon: (coretemp) deprecate pci_get_bus_and_slot()") is
already in linux-next via hwmon-staging.

The pci tree is merged into next slightly before hwmon-staging, so
this should be resolved as soon as the 0-day builder builds my
pci/enumeration branch and I merge it into my next branch.

> ---
>  include/linux/pci.h |    3 +++
>  1 file changed, 3 insertions(+)
> 
> --- linux-next-20171128.orig/include/linux/pci.h
> +++ linux-next-20171128/include/linux/pci.h
> @@ -1660,6 +1660,9 @@ static inline struct pci_dev *pci_get_sl
>  static inline struct pci_dev *pci_get_bus_and_slot(unsigned int bus,
>  						unsigned int devfn)
>  { return NULL; }
> +static inline struct pci_dev *pci_get_domain_bus_and_slot(int domain,
> +					unsigned int bus, unsigned int devfn)
> +{ return NULL; }
>  
>  static inline int pci_domain_nr(struct pci_bus *bus) { return 0; }
>  static inline struct pci_dev *pci_dev_get(struct pci_dev *dev) { return NULL; }
> 
>
Sinan Kaya Dec. 5, 2017, 8:50 p.m. UTC | #3
On 12/5/2017 3:39 PM, Bjorn Helgaas wrote:
> [+cc Sinan]
> 
> On Tue, Nov 28, 2017 at 02:31:21PM -0800, Randy Dunlap wrote:
>> From: Randy Dunlap <rdunlap@infradead.org>
>>
>> The coretemp driver build fails when CONFIG_PCI is not enabled
>> because it uses a function that does not have a stub for that
>> config case, so add the function stub.
>>
>> ../drivers/hwmon/coretemp.c: In function 'adjust_tjmax':
>> ../drivers/hwmon/coretemp.c:250:9: error: implicit declaration of function 'pci_get_domain_bus_and_slot' [-Werror=implicit-function-declaration]
>>   struct pci_dev *host_bridge = pci_get_domain_bus_and_slot(0, 0, devfn);
>> ../drivers/hwmon/coretemp.c:250:32: warning: initialization makes pointer from integer without a cast [enabled by default]
>>   struct pci_dev *host_bridge = pci_get_domain_bus_and_slot(0, 0, devfn);
>>
>> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
> Applied with Guenter's ack to pci/enumeration for v4.16, thanks!
> 
> Apparently no other code calls pci_get_domain_bus_and_slot() when
> CONFIG_PCI isn't enabled.
> 
> 15ab6790f628 ("hwmon: (coretemp) deprecate pci_get_bus_and_slot()") is
> already in linux-next via hwmon-staging.
> 
> The pci tree is merged into next slightly before hwmon-staging, so
> this should be resolved as soon as the 0-day builder builds my
> pci/enumeration branch and I merge it into my next branch.
> 

Thanks for catching this. I assumed we do have a stub. It turns out we
don't.
Bjorn Helgaas Dec. 6, 2017, 9:02 p.m. UTC | #4
[+cc Arnd, Rafael, Thomas, Matthew, Lorenzo]

On Tue, Dec 05, 2017 at 02:39:20PM -0600, Bjorn Helgaas wrote:
> [+cc Sinan]
> 
> On Tue, Nov 28, 2017 at 02:31:21PM -0800, Randy Dunlap wrote:
> > From: Randy Dunlap <rdunlap@infradead.org>
> > 
> > The coretemp driver build fails when CONFIG_PCI is not enabled
> > because it uses a function that does not have a stub for that
> > config case, so add the function stub.
> > 
> > ../drivers/hwmon/coretemp.c: In function 'adjust_tjmax':
> > ../drivers/hwmon/coretemp.c:250:9: error: implicit declaration of function 'pci_get_domain_bus_and_slot' [-Werror=implicit-function-declaration]
> >   struct pci_dev *host_bridge = pci_get_domain_bus_and_slot(0, 0, devfn);
> > ../drivers/hwmon/coretemp.c:250:32: warning: initialization makes pointer from integer without a cast [enabled by default]
> >   struct pci_dev *host_bridge = pci_get_domain_bus_and_slot(0, 0, devfn);
> > 
> > Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
> 
> Applied with Guenter's ack to pci/enumeration for v4.16, thanks!
> 
> Apparently no other code calls pci_get_domain_bus_and_slot() when
> CONFIG_PCI isn't enabled.
> 
> 15ab6790f628 ("hwmon: (coretemp) deprecate pci_get_bus_and_slot()") is
> already in linux-next via hwmon-staging.
> 
> The pci tree is merged into next slightly before hwmon-staging, so
> this should be resolved as soon as the 0-day builder builds my
> pci/enumeration branch and I merge it into my next branch.

On Arnd's advice, I moved this to for-linus for v4.15 in case any of
the conversion patches get merged before PCI during the v4.16 merge
window.

> > ---
> >  include/linux/pci.h |    3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > --- linux-next-20171128.orig/include/linux/pci.h
> > +++ linux-next-20171128/include/linux/pci.h
> > @@ -1660,6 +1660,9 @@ static inline struct pci_dev *pci_get_sl
> >  static inline struct pci_dev *pci_get_bus_and_slot(unsigned int bus,
> >  						unsigned int devfn)
> >  { return NULL; }
> > +static inline struct pci_dev *pci_get_domain_bus_and_slot(int domain,
> > +					unsigned int bus, unsigned int devfn)
> > +{ return NULL; }
> >  
> >  static inline int pci_domain_nr(struct pci_bus *bus) { return 0; }
> >  static inline struct pci_dev *pci_dev_get(struct pci_dev *dev) { return NULL; }
> > 
> >
diff mbox

Patch

--- linux-next-20171128.orig/include/linux/pci.h
+++ linux-next-20171128/include/linux/pci.h
@@ -1660,6 +1660,9 @@  static inline struct pci_dev *pci_get_sl
 static inline struct pci_dev *pci_get_bus_and_slot(unsigned int bus,
 						unsigned int devfn)
 { return NULL; }
+static inline struct pci_dev *pci_get_domain_bus_and_slot(int domain,
+					unsigned int bus, unsigned int devfn)
+{ return NULL; }
 
 static inline int pci_domain_nr(struct pci_bus *bus) { return 0; }
 static inline struct pci_dev *pci_dev_get(struct pci_dev *dev) { return NULL; }