diff mbox series

[1/1] PCI: Convert pdev_sort_resources() to use resource name helper

Message ID 20241016120048.1355-1-ilpo.jarvinen@linux.intel.com (mailing list archive)
State New
Headers show
Series [1/1] PCI: Convert pdev_sort_resources() to use resource name helper | expand

Commit Message

Ilpo Järvinen Oct. 16, 2024, noon UTC
Use pci_resource_name() helper in pdev_sort_resources() to print
resources in user-friendly format.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
---
 drivers/pci/setup-bus.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Philipp Stanner Oct. 16, 2024, 1:05 p.m. UTC | #1
On Wed, 2024-10-16 at 15:00 +0300, Ilpo Järvinen wrote:
> Use pci_resource_name() helper in pdev_sort_resources() to print
> resources in user-friendly format.
> 
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> ---
>  drivers/pci/setup-bus.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
> index 23082bc0ca37..071c5436b4a5 100644
> --- a/drivers/pci/setup-bus.c
> +++ b/drivers/pci/setup-bus.c
> @@ -134,6 +134,7 @@ static void pdev_sort_resources(struct pci_dev
> *dev, struct list_head *head)
>  	int i;
>  
>  	pci_dev_for_each_resource(dev, r, i) {
> +		const char *r_name = pci_resource_name(dev, i);
>  		struct pci_dev_resource *dev_res, *tmp;
>  		resource_size_t r_align;
>  		struct list_head *n;
> @@ -146,8 +147,8 @@ static void pdev_sort_resources(struct pci_dev
> *dev, struct list_head *head)
>  
>  		r_align = pci_resource_alignment(dev, r);
>  		if (!r_align) {
> -			pci_warn(dev, "BAR %d: %pR has bogus
> alignment\n",
> -				 i, r);
> +			pci_warn(dev, "%s: %pR has bogus
> alignment\n",
> +				 r_name, r);

Why do you remove the BAR index number, don't you think this
information is also useful?

One could also consider printing r_align, would that be useful? Note
that there is a similar pci_warn down below in line 1118 that does
print it. Would you want to change that pci_warn()-string, too?

P.

>  			continue;
>  		}
>
Ilpo Järvinen Oct. 16, 2024, 1:15 p.m. UTC | #2
On Wed, 16 Oct 2024, Philipp Stanner wrote:

> On Wed, 2024-10-16 at 15:00 +0300, Ilpo Järvinen wrote:
> > Use pci_resource_name() helper in pdev_sort_resources() to print
> > resources in user-friendly format.
> > 
> > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> > ---
> >  drivers/pci/setup-bus.c | 5 +++--
> >  1 file changed, 3 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
> > index 23082bc0ca37..071c5436b4a5 100644
> > --- a/drivers/pci/setup-bus.c
> > +++ b/drivers/pci/setup-bus.c
> > @@ -134,6 +134,7 @@ static void pdev_sort_resources(struct pci_dev
> > *dev, struct list_head *head)
> >  	int i;
> >  
> >  	pci_dev_for_each_resource(dev, r, i) {
> > +		const char *r_name = pci_resource_name(dev, i);
> >  		struct pci_dev_resource *dev_res, *tmp;
> >  		resource_size_t r_align;
> >  		struct list_head *n;
> > @@ -146,8 +147,8 @@ static void pdev_sort_resources(struct pci_dev
> > *dev, struct list_head *head)
> >  
> >  		r_align = pci_resource_alignment(dev, r);
> >  		if (!r_align) {
> > -			pci_warn(dev, "BAR %d: %pR has bogus
> > alignment\n",
> > -				 i, r);
> > +			pci_warn(dev, "%s: %pR has bogus
> > alignment\n",
> > +				 r_name, r);
> 
> Why do you remove the BAR index number, don't you think this
> information is also useful?

That's because of how pci_resource_name() works. The number will be 
included in the returned string and it won't be always same as i.
So that change is done on purpose.

> One could also consider printing r_align, would that be useful?

As per the preceeding condition, it's known to be zero so it's not 
that useful for any developer looking at these code lines.

> Note
> that there is a similar pci_warn down below in line 1118 that does
> print it. Would you want to change that pci_warn()-string, too?

pci_warn() on line 1118 does NOT print i (as expected when using 
pci_resource_name()) and there align is not zero so I don't see how this 
is relevant.

But thanks for taking a look anyway. :-)
Ilpo Järvinen Oct. 16, 2024, 1:19 p.m. UTC | #3
On Wed, 16 Oct 2024, Ilpo Järvinen wrote:

> On Wed, 16 Oct 2024, Philipp Stanner wrote:
> 
> > On Wed, 2024-10-16 at 15:00 +0300, Ilpo Järvinen wrote:
> > > Use pci_resource_name() helper in pdev_sort_resources() to print
> > > resources in user-friendly format.
> > > 
> > > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> > > ---
> > >  drivers/pci/setup-bus.c | 5 +++--
> > >  1 file changed, 3 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
> > > index 23082bc0ca37..071c5436b4a5 100644
> > > --- a/drivers/pci/setup-bus.c
> > > +++ b/drivers/pci/setup-bus.c
> > > @@ -134,6 +134,7 @@ static void pdev_sort_resources(struct pci_dev
> > > *dev, struct list_head *head)
> > >  	int i;
> > >  
> > >  	pci_dev_for_each_resource(dev, r, i) {
> > > +		const char *r_name = pci_resource_name(dev, i);
> > >  		struct pci_dev_resource *dev_res, *tmp;
> > >  		resource_size_t r_align;
> > >  		struct list_head *n;
> > > @@ -146,8 +147,8 @@ static void pdev_sort_resources(struct pci_dev
> > > *dev, struct list_head *head)
> > >  
> > >  		r_align = pci_resource_alignment(dev, r);
> > >  		if (!r_align) {
> > > -			pci_warn(dev, "BAR %d: %pR has bogus
> > > alignment\n",
> > > -				 i, r);
> > > +			pci_warn(dev, "%s: %pR has bogus
> > > alignment\n",
> > > +				 r_name, r);
> > 
> > Why do you remove the BAR index number, don't you think this
> > information is also useful?
> 
> That's because of how pci_resource_name() works. The number will be 
> included in the returned string and it won't be always same as i.
> So that change is done on purpose.

That being said, I now realize the other examples use the colon 
differently "%s %pR: ..." so I'll change that for v2.
Philipp Stanner Oct. 16, 2024, 1:21 p.m. UTC | #4
On Wed, 2024-10-16 at 16:15 +0300, Ilpo Järvinen wrote:
> On Wed, 16 Oct 2024, Philipp Stanner wrote:
> 
> > On Wed, 2024-10-16 at 15:00 +0300, Ilpo Järvinen wrote:
> > > Use pci_resource_name() helper in pdev_sort_resources() to print
> > > resources in user-friendly format.
> > > 
> > > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> > > ---
> > >  drivers/pci/setup-bus.c | 5 +++--
> > >  1 file changed, 3 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
> > > index 23082bc0ca37..071c5436b4a5 100644
> > > --- a/drivers/pci/setup-bus.c
> > > +++ b/drivers/pci/setup-bus.c
> > > @@ -134,6 +134,7 @@ static void pdev_sort_resources(struct
> > > pci_dev
> > > *dev, struct list_head *head)
> > >  	int i;
> > >  
> > >  	pci_dev_for_each_resource(dev, r, i) {
> > > +		const char *r_name = pci_resource_name(dev, i);
> > >  		struct pci_dev_resource *dev_res, *tmp;
> > >  		resource_size_t r_align;
> > >  		struct list_head *n;
> > > @@ -146,8 +147,8 @@ static void pdev_sort_resources(struct
> > > pci_dev
> > > *dev, struct list_head *head)
> > >  
> > >  		r_align = pci_resource_alignment(dev, r);
> > >  		if (!r_align) {
> > > -			pci_warn(dev, "BAR %d: %pR has bogus
> > > alignment\n",
> > > -				 i, r);
> > > +			pci_warn(dev, "%s: %pR has bogus
> > > alignment\n",
> > > +				 r_name, r);
> > 
> > Why do you remove the BAR index number, don't you think this
> > information is also useful?
> 
> That's because of how pci_resource_name() works. The number will be 
> included in the returned string and it won't be always same as i.
> So that change is done on purpose.
> 
> > One could also consider printing r_align, would that be useful?
> 
> As per the preceeding condition, it's known to be zero so it's not 
> that useful for any developer looking at these code lines.

Ah, right. Would it then make sense then to do:

pci_warn(dev, "%s: %pR: Alignment must not be zero.\n", ...);

Would tell then exactly what the problem is. Unless the devs know that
a bogus alignment is definitely always 0.

?

> 
> > Note
> > that there is a similar pci_warn down below in line 1118 that does
> > print it. Would you want to change that pci_warn()-string, too?
> 
> pci_warn() on line 1118 does NOT print i (as expected when using 
> pci_resource_name()) and there align is not zero so I don't see how
> this 
> is relevant.
> 
> But thanks for taking a look anyway. :-)

Sure thing

>
Ilpo Järvinen Oct. 16, 2024, 1:34 p.m. UTC | #5
On Wed, 16 Oct 2024, Philipp Stanner wrote:

> On Wed, 2024-10-16 at 16:15 +0300, Ilpo Järvinen wrote:
> > On Wed, 16 Oct 2024, Philipp Stanner wrote:
> > 
> > > On Wed, 2024-10-16 at 15:00 +0300, Ilpo Järvinen wrote:
> > > > Use pci_resource_name() helper in pdev_sort_resources() to print
> > > > resources in user-friendly format.
> > > > 
> > > > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> > > > ---
> > > >  drivers/pci/setup-bus.c | 5 +++--
> > > >  1 file changed, 3 insertions(+), 2 deletions(-)
> > > > 
> > > > diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
> > > > index 23082bc0ca37..071c5436b4a5 100644
> > > > --- a/drivers/pci/setup-bus.c
> > > > +++ b/drivers/pci/setup-bus.c
> > > > @@ -134,6 +134,7 @@ static void pdev_sort_resources(struct
> > > > pci_dev
> > > > *dev, struct list_head *head)
> > > >  	int i;
> > > >  
> > > >  	pci_dev_for_each_resource(dev, r, i) {
> > > > +		const char *r_name = pci_resource_name(dev, i);
> > > >  		struct pci_dev_resource *dev_res, *tmp;
> > > >  		resource_size_t r_align;
> > > >  		struct list_head *n;
> > > > @@ -146,8 +147,8 @@ static void pdev_sort_resources(struct
> > > > pci_dev
> > > > *dev, struct list_head *head)
> > > >  
> > > >  		r_align = pci_resource_alignment(dev, r);
> > > >  		if (!r_align) {
> > > > -			pci_warn(dev, "BAR %d: %pR has bogus
> > > > alignment\n",
> > > > -				 i, r);
> > > > +			pci_warn(dev, "%s: %pR has bogus
> > > > alignment\n",
> > > > +				 r_name, r);
> > > 
> > > Why do you remove the BAR index number, don't you think this
> > > information is also useful?
> > 
> > That's because of how pci_resource_name() works. The number will be 
> > included in the returned string and it won't be always same as i.
> > So that change is done on purpose.
> > 
> > > One could also consider printing r_align, would that be useful?
> > 
> > As per the preceeding condition, it's known to be zero so it's not 
> > that useful for any developer looking at these code lines.
> 
> Ah, right. Would it then make sense then to do:
> 
> pci_warn(dev, "%s: %pR: Alignment must not be zero.\n", ...);
> 
> Would tell then exactly what the problem is. Unless the devs know that
> a bogus alignment is definitely always 0.
> 
> ?

While I personally don't need that given the surrounding code, I can 
change the string to be more precise. Thanks.
diff mbox series

Patch

diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index 23082bc0ca37..071c5436b4a5 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -134,6 +134,7 @@  static void pdev_sort_resources(struct pci_dev *dev, struct list_head *head)
 	int i;
 
 	pci_dev_for_each_resource(dev, r, i) {
+		const char *r_name = pci_resource_name(dev, i);
 		struct pci_dev_resource *dev_res, *tmp;
 		resource_size_t r_align;
 		struct list_head *n;
@@ -146,8 +147,8 @@  static void pdev_sort_resources(struct pci_dev *dev, struct list_head *head)
 
 		r_align = pci_resource_alignment(dev, r);
 		if (!r_align) {
-			pci_warn(dev, "BAR %d: %pR has bogus alignment\n",
-				 i, r);
+			pci_warn(dev, "%s: %pR has bogus alignment\n",
+				 r_name, r);
 			continue;
 		}