Replace open-coded implementations of pci_resource_n() in pci.h.
Signed-off-by: Andy Shevchenko <[email protected]>
---
include/linux/pci.h | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 70a4684d5f26..9539cf63fe5e 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -2006,14 +2006,12 @@ int pci_iobar_pfn(struct pci_dev *pdev, int bar, struct vm_area_struct *vma);
* for accessing popular PCI BAR info
*/
#define pci_resource_n(dev, bar) (&(dev)->resource[(bar)])
-#define pci_resource_start(dev, bar) ((dev)->resource[(bar)].start)
-#define pci_resource_end(dev, bar) ((dev)->resource[(bar)].end)
-#define pci_resource_flags(dev, bar) ((dev)->resource[(bar)].flags)
-#define pci_resource_len(dev,bar) \
- ((pci_resource_end((dev), (bar)) == 0) ? 0 : \
- \
- (pci_resource_end((dev), (bar)) - \
- pci_resource_start((dev), (bar)) + 1))
+#define pci_resource_start(dev, bar) (pci_resource_n(dev, bar)->start)
+#define pci_resource_end(dev, bar) (pci_resource_n(dev, bar)->end)
+#define pci_resource_flags(dev, bar) (pci_resource_n(dev, bar)->flags)
+#define pci_resource_len(dev,bar) \
+ (pci_resource_end((dev), (bar)) ? \
+ resource_size(pci_resource_n((dev), (bar))) : 0)
#define __pci_dev_for_each_resource_0(dev, res, ...) \
for (unsigned int __b = 0; \
--
2.40.0.1.gaa8946217a0b
On 23/3/23 18:36, Andy Shevchenko wrote:
> Replace open-coded implementations of pci_resource_n() in pci.h.
>
> Signed-off-by: Andy Shevchenko <[email protected]>
> ---
> include/linux/pci.h | 14 ++++++--------
> 1 file changed, 6 insertions(+), 8 deletions(-)
>
> diff --git a/include/linux/pci.h b/include/linux/pci.h
> index 70a4684d5f26..9539cf63fe5e 100644
> --- a/include/linux/pci.h
> +++ b/include/linux/pci.h
> @@ -2006,14 +2006,12 @@ int pci_iobar_pfn(struct pci_dev *pdev, int bar, struct vm_area_struct *vma);
> * for accessing popular PCI BAR info
> */
> #define pci_resource_n(dev, bar) (&(dev)->resource[(bar)])
> -#define pci_resource_start(dev, bar) ((dev)->resource[(bar)].start)
> -#define pci_resource_end(dev, bar) ((dev)->resource[(bar)].end)
> -#define pci_resource_flags(dev, bar) ((dev)->resource[(bar)].flags)
> -#define pci_resource_len(dev,bar) \
> - ((pci_resource_end((dev), (bar)) == 0) ? 0 : \
> - \
> - (pci_resource_end((dev), (bar)) - \
> - pci_resource_start((dev), (bar)) + 1))
> +#define pci_resource_start(dev, bar) (pci_resource_n(dev, bar)->start)
> +#define pci_resource_end(dev, bar) (pci_resource_n(dev, bar)->end)
> +#define pci_resource_flags(dev, bar) (pci_resource_n(dev, bar)->flags)
> +#define pci_resource_len(dev,bar) \
> + (pci_resource_end((dev), (bar)) ? \
> + resource_size(pci_resource_n((dev), (bar))) : 0)
Seems (to me) more logical to have this patch as "PCI: Introduce
pci_resource_n()" ordered before your patch #2 "PCI: Introduce
pci_dev_for_each_resource()".
Here as #6 or as #2:
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
On Fri, Mar 24, 2023 at 10:08:39AM +0100, Philippe Mathieu-Daud? wrote:
> On 23/3/23 18:36, Andy Shevchenko wrote:
> > Replace open-coded implementations of pci_resource_n() in pci.h.
...
> > #define pci_resource_n(dev, bar) (&(dev)->resource[(bar)])
> > -#define pci_resource_start(dev, bar) ((dev)->resource[(bar)].start)
> > -#define pci_resource_end(dev, bar) ((dev)->resource[(bar)].end)
> > -#define pci_resource_flags(dev, bar) ((dev)->resource[(bar)].flags)
> > -#define pci_resource_len(dev,bar) \
> > - ((pci_resource_end((dev), (bar)) == 0) ? 0 : \
> > - \
> > - (pci_resource_end((dev), (bar)) - \
> > - pci_resource_start((dev), (bar)) + 1))
> > +#define pci_resource_start(dev, bar) (pci_resource_n(dev, bar)->start)
> > +#define pci_resource_end(dev, bar) (pci_resource_n(dev, bar)->end)
> > +#define pci_resource_flags(dev, bar) (pci_resource_n(dev, bar)->flags)
> > +#define pci_resource_len(dev,bar) \
> > + (pci_resource_end((dev), (bar)) ? \
> > + resource_size(pci_resource_n((dev), (bar))) : 0)
>
> Seems (to me) more logical to have this patch as "PCI: Introduce
> pci_resource_n()" ordered before your patch #2 "PCI: Introduce
> pci_dev_for_each_resource()".
Either way works for me. Bjorn, what do you like?
> Here as #6 or as #2:
> Reviewed-by: Philippe Mathieu-Daud? <[email protected]>
Thank you!
--
With Best Regards,
Andy Shevchenko