Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1353458 > unrolled thread

[PATCH] pci: add pci_clear_master() stub for !CONFIG_PCI

Started byMichael Auchter <michael.auchter@ni.com>
First post2016-03-08 23:50 +0100
Last post2016-03-09 18:00 +0100
Articles 4 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] pci: add pci_clear_master() stub for !CONFIG_PCI Michael Auchter <michael.auchter@ni.com> - 2016-03-08 23:50 +0100
    Re: [PATCH] pci: add pci_clear_master() stub for !CONFIG_PCI Bjorn Helgaas <helgaas@kernel.org> - 2016-03-09 00:20 +0100
      Re: [PATCH] pci: add pci_clear_master() stub for !CONFIG_PCI Michael Auchter <michael.auchter@ni.com> - 2016-03-09 03:20 +0100
        Re: [PATCH] pci: add pci_clear_master() stub for !CONFIG_PCI Bjorn Helgaas <helgaas@kernel.org> - 2016-03-09 18:00 +0100

#1353458 — [PATCH] pci: add pci_clear_master() stub for !CONFIG_PCI

FromMichael Auchter <michael.auchter@ni.com>
Date2016-03-08 23:50 +0100
Subject[PATCH] pci: add pci_clear_master() stub for !CONFIG_PCI
Message-ID<rayBY-7hS-15@gated-at.bofh.it>
Add a stub for pci_clear_master() for when CONFIG_PCI is not set,
similar to what's done for pci_set_master().

Signed-off-by: Michael Auchter <michael.auchter@ni.com>
---
 include/linux/pci.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/linux/pci.h b/include/linux/pci.h
index 2771625..5f684d0 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1425,6 +1425,7 @@ static inline struct pci_dev *pci_get_class(unsigned int class,
 #define pci_dev_put(dev)	do { } while (0)
 
 static inline void pci_set_master(struct pci_dev *dev) { }
+static inline void pci_clear_master(struct pci_dev *dev) { }
 static inline int pci_enable_device(struct pci_dev *dev) { return -EIO; }
 static inline void pci_disable_device(struct pci_dev *dev) { }
 static inline int pci_set_dma_mask(struct pci_dev *dev, u64 mask)
-- 
2.1.4

[toc] | [next] | [standalone]


#1353478

FromBjorn Helgaas <helgaas@kernel.org>
Date2016-03-09 00:20 +0100
Message-ID<raz50-7IS-3@gated-at.bofh.it>
In reply to#1353458
Hi Michael,

On Tue, Mar 08, 2016 at 04:34:41PM -0600, Michael Auchter wrote:
> Add a stub for pci_clear_master() for when CONFIG_PCI is not set,
> similar to what's done for pci_set_master().

Does this fix a problem?  If so, what is it?  Some driver that doesn't
build when CONFIG_PCI is not set?

> Signed-off-by: Michael Auchter <michael.auchter@ni.com>
> ---
>  include/linux/pci.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/include/linux/pci.h b/include/linux/pci.h
> index 2771625..5f684d0 100644
> --- a/include/linux/pci.h
> +++ b/include/linux/pci.h
> @@ -1425,6 +1425,7 @@ static inline struct pci_dev *pci_get_class(unsigned int class,
>  #define pci_dev_put(dev)	do { } while (0)
>  
>  static inline void pci_set_master(struct pci_dev *dev) { }
> +static inline void pci_clear_master(struct pci_dev *dev) { }
>  static inline int pci_enable_device(struct pci_dev *dev) { return -EIO; }
>  static inline void pci_disable_device(struct pci_dev *dev) { }
>  static inline int pci_set_dma_mask(struct pci_dev *dev, u64 mask)
> -- 
> 2.1.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pci" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

[toc] | [prev] | [next] | [standalone]


#1353727

FromMichael Auchter <michael.auchter@ni.com>
Date2016-03-09 03:20 +0100
Message-ID<raBTb-1fG-9@gated-at.bofh.it>
In reply to#1353478
On Tue, Mar 08, 2016 at 05:10:17PM -0600, Bjorn Helgaas wrote:
> Hi Michael,
> 
> On Tue, Mar 08, 2016 at 04:34:41PM -0600, Michael Auchter wrote:
> > Add a stub for pci_clear_master() for when CONFIG_PCI is not set,
> > similar to what's done for pci_set_master().
> 
> Does this fix a problem?  If so, what is it?  Some driver that doesn't
> build when CONFIG_PCI is not set?

I ran into a build failure caused by this not being defined while
compile testing an out-of-tree driver with various configs. It seemed to
me that the lack of a stub may have just been an oversight from when
pci_clear_master() was added.

It looks like all in-tree users of pci_clear_master() correctly declare
a dependency on PCI via Kconfig, so this doesn't really fix a problem,
just makes pci_clear_master more symmetric with pci_set_master.

Cheers,
 Michael

[toc] | [prev] | [next] | [standalone]


#1354273

FromBjorn Helgaas <helgaas@kernel.org>
Date2016-03-09 18:00 +0100
Message-ID<raPCO-2eF-13@gated-at.bofh.it>
In reply to#1353727
On Tue, Mar 08, 2016 at 06:39:56PM -0600, Michael Auchter wrote:
> On Tue, Mar 08, 2016 at 05:10:17PM -0600, Bjorn Helgaas wrote:
> > Hi Michael,
> > 
> > On Tue, Mar 08, 2016 at 04:34:41PM -0600, Michael Auchter wrote:
> > > Add a stub for pci_clear_master() for when CONFIG_PCI is not set,
> > > similar to what's done for pci_set_master().
> > 
> > Does this fix a problem?  If so, what is it?  Some driver that doesn't
> > build when CONFIG_PCI is not set?
> 
> I ran into a build failure caused by this not being defined while
> compile testing an out-of-tree driver with various configs. It seemed to
> me that the lack of a stub may have just been an oversight from when
> pci_clear_master() was added.
> 
> It looks like all in-tree users of pci_clear_master() correctly declare
> a dependency on PCI via Kconfig, so this doesn't really fix a problem,
> just makes pci_clear_master more symmetric with pci_set_master.

We define a lot of empty stubs when CONFIG_PCI is not set.  I'm not
sure all of them make sense, so I'm a little hesitant to add more.

If I had time, I think it would be really interesting to turn off
CONFIG_PCI, remove some of the existing stubs, and see what breaks.
Then we could look at the actual code and figure out whether the best
solution is to keep the stubs or to add CONFIG_PCI dependencies, add
CONFIG_PCI #ifdefs, etc.

Bjorn

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web