All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1] PCI/pwrctrl: Propagate dev_err_probe return value
@ 2025-10-18  7:02 Anand Moon
  2025-10-18  7:31 ` Christophe JAILLET
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Anand Moon @ 2025-10-18  7:02 UTC (permalink / raw)
  To: Bartosz Golaszewski, Bjorn Helgaas, open list:PCI POWER CONTROL,
	open list
  Cc: Anand Moon

Ensure that the return value from dev_err_probe() is consistently assigned
back to return in all error paths within pci_pwrctrl_slot_probe()
function. This ensures the original error code are propagation for
debugging.

Signed-off-by: Anand Moon <linux.amoon@gmail.com>
---
 drivers/pci/pwrctrl/slot.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/pci/pwrctrl/slot.c b/drivers/pci/pwrctrl/slot.c
index 3320494b62d89..36a6282fd222d 100644
--- a/drivers/pci/pwrctrl/slot.c
+++ b/drivers/pci/pwrctrl/slot.c
@@ -41,14 +41,13 @@ static int pci_pwrctrl_slot_probe(struct platform_device *pdev)
 	ret = of_regulator_bulk_get_all(dev, dev_of_node(dev),
 					&slot->supplies);
 	if (ret < 0) {
-		dev_err_probe(dev, ret, "Failed to get slot regulators\n");
-		return ret;
+		return dev_err_probe(dev, ret, "Failed to get slot regulators\n");
 	}
 
 	slot->num_supplies = ret;
 	ret = regulator_bulk_enable(slot->num_supplies, slot->supplies);
 	if (ret < 0) {
-		dev_err_probe(dev, ret, "Failed to enable slot regulators\n");
+		ret = dev_err_probe(dev, ret, "Failed to enable slot regulators\n");
 		regulator_bulk_free(slot->num_supplies, slot->supplies);
 		return ret;
 	}

base-commit: f406055cb18c6e299c4a783fc1effeb16be41803
-- 
2.50.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v1] PCI/pwrctrl: Propagate dev_err_probe return value
  2025-10-18  7:02 [PATCH v1] PCI/pwrctrl: Propagate dev_err_probe return value Anand Moon
@ 2025-10-18  7:31 ` Christophe JAILLET
  2025-10-18 16:05   ` [PATCH] " Markus Elfring
  2025-10-18 15:13 ` [PATCH] " Markus Elfring
  2025-10-31  8:28 ` [PATCH v1] " Manivannan Sadhasivam
  2 siblings, 1 reply; 8+ messages in thread
From: Christophe JAILLET @ 2025-10-18  7:31 UTC (permalink / raw)
  To: Anand Moon, Bartosz Golaszewski, Bjorn Helgaas,
	open list:PCI POWER CONTROL, open list

Le 18/10/2025 à 09:02, Anand Moon a écrit :
> Ensure that the return value from dev_err_probe() is consistently assigned
> back to return in all error paths within pci_pwrctrl_slot_probe()
> function. This ensures the original error code are propagation for
> debugging.
> 
> Signed-off-by: Anand Moon <linux.amoon@gmail.com>
> ---
>   drivers/pci/pwrctrl/slot.c | 5 ++---
>   1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/pci/pwrctrl/slot.c b/drivers/pci/pwrctrl/slot.c
> index 3320494b62d89..36a6282fd222d 100644
> --- a/drivers/pci/pwrctrl/slot.c
> +++ b/drivers/pci/pwrctrl/slot.c
> @@ -41,14 +41,13 @@ static int pci_pwrctrl_slot_probe(struct platform_device *pdev)
>   	ret = of_regulator_bulk_get_all(dev, dev_of_node(dev),
>   					&slot->supplies);
>   	if (ret < 0) {
> -		dev_err_probe(dev, ret, "Failed to get slot regulators\n");
> -		return ret;
> +		return dev_err_probe(dev, ret, "Failed to get slot regulators\n");
>   	}

Extra {} are now unneeded.

>   
>   	slot->num_supplies = ret;
>   	ret = regulator_bulk_enable(slot->num_supplies, slot->supplies);
>   	if (ret < 0) {
> -		dev_err_probe(dev, ret, "Failed to enable slot regulators\n");
> +		ret = dev_err_probe(dev, ret, "Failed to enable slot regulators\n");
>   		regulator_bulk_free(slot->num_supplies, slot->supplies);
>   		return ret;

Doing:
    		regulator_bulk_free(slot->num_supplies, slot->supplies);
    		return dev_err_probe(dev, ret, "Failed to enable slot regulators\n");

Would be more consistent.

CJ


>   	}
> 
> base-commit: f406055cb18c6e299c4a783fc1effeb16be41803


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] PCI/pwrctrl: Propagate dev_err_probe return value
  2025-10-18  7:02 [PATCH v1] PCI/pwrctrl: Propagate dev_err_probe return value Anand Moon
  2025-10-18  7:31 ` Christophe JAILLET
@ 2025-10-18 15:13 ` Markus Elfring
  2025-10-31  8:28 ` [PATCH v1] " Manivannan Sadhasivam
  2 siblings, 0 replies; 8+ messages in thread
From: Markus Elfring @ 2025-10-18 15:13 UTC (permalink / raw)
  To: Anand Moon, linux-pci, Bartosz Golaszewski, Bjorn Helgaas
  Cc: LKML, kernel-janitors, Christophe Jaillet

> Ensure that the return value from dev_err_probe() is consistently assigned
> back to return in all error paths within pci_pwrctrl_slot_probe()
> function. This ensures the original error code are propagation for
> debugging.

I find the change description improvable.


I propose to take another source code transformation approach into account.
https://elixir.bootlin.com/linux/v6.17.1/source/drivers/base/core.c#L5031-L5075

Example:
https://elixir.bootlin.com/linux/v6.17.1/source/drivers/pci/pwrctrl/slot.c#L30-L80

	ret = dev_err_probe(dev,
			    of_regulator_bulk_get_all(dev, dev_of_node(dev), &slot->supplies),
			    "Failed to get slot regulators\n");
	if (ret)
		return ret;


Regards,
Markus

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] PCI/pwrctrl: Propagate dev_err_probe return value
  2025-10-18  7:31 ` Christophe JAILLET
@ 2025-10-18 16:05   ` Markus Elfring
  2025-10-19  8:16     ` Anand Moon
  0 siblings, 1 reply; 8+ messages in thread
From: Markus Elfring @ 2025-10-18 16:05 UTC (permalink / raw)
  To: Christophe Jaillet, linux-pci, Anand Moon, Bartosz Golaszewski,
	Bjorn Helgaas, Geert Uytterhoeven, Manivannan Sadhasivam,
	Marek Vasut
  Cc: LKML

> >   	slot->num_supplies = ret;
> >   	ret = regulator_bulk_enable(slot->num_supplies, slot->supplies);
> >   	if (ret < 0) {
> > -		dev_err_probe(dev, ret, "Failed to enable slot regulators\n");
> > +		ret = dev_err_probe(dev, ret, "Failed to enable slot regulators\n");
> >   		regulator_bulk_free(slot->num_supplies, slot->supplies);
> >   		return ret;
> 
> Doing:
>     		regulator_bulk_free(slot->num_supplies, slot->supplies);
>     		return dev_err_probe(dev, ret, "Failed to enable slot regulators\n");
> 
> Would be more consistent.

How does this view fit to the commit ab81f2f79c683c94bac622aafafbe8232e547159
("PCI/pwrctrl: Fix double cleanup on devm_add_action_or_reset() failure")
from 2025-08-13?

Regards,
Markus

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] PCI/pwrctrl: Propagate dev_err_probe return value
  2025-10-18 16:05   ` [PATCH] " Markus Elfring
@ 2025-10-19  8:16     ` Anand Moon
  2025-10-19  8:56       ` Markus Elfring
  0 siblings, 1 reply; 8+ messages in thread
From: Anand Moon @ 2025-10-19  8:16 UTC (permalink / raw)
  To: Markus Elfring
  Cc: Christophe Jaillet, linux-pci, Bartosz Golaszewski, Bjorn Helgaas,
	Geert Uytterhoeven, Manivannan Sadhasivam, Marek Vasut, LKML

Hi Markus,

On Sat, 18 Oct 2025 at 21:36, Markus Elfring <Markus.Elfring@web.de> wrote:
>
> > >     slot->num_supplies = ret;
> > >     ret = regulator_bulk_enable(slot->num_supplies, slot->supplies);
> > >     if (ret < 0) {
> > > -           dev_err_probe(dev, ret, "Failed to enable slot regulators\n");
> > > +           ret = dev_err_probe(dev, ret, "Failed to enable slot regulators\n");
> > >             regulator_bulk_free(slot->num_supplies, slot->supplies);
> > >             return ret;
> >
> > Doing:
> >               regulator_bulk_free(slot->num_supplies, slot->supplies);
> >               return dev_err_probe(dev, ret, "Failed to enable slot regulators\n");
> >
> > Would be more consistent.
>
> How does this view fit to the commit ab81f2f79c683c94bac622aafafbe8232e547159
> ("PCI/pwrctrl: Fix double cleanup on devm_add_action_or_reset() failure")
> from 2025-08-13?
>
Thank you for your guidance. My previous understanding was incorrect.

> Regards,
> Markus
>
Thanks
-Anand

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: PCI/pwrctrl: Propagate dev_err_probe return value
  2025-10-19  8:16     ` Anand Moon
@ 2025-10-19  8:56       ` Markus Elfring
  2025-10-19 10:19         ` Anand Moon
  0 siblings, 1 reply; 8+ messages in thread
From: Markus Elfring @ 2025-10-19  8:56 UTC (permalink / raw)
  To: Anand Moon, Christophe Jaillet, linux-pci, Bartosz Golaszewski,
	Bjorn Helgaas, Geert Uytterhoeven, Manivannan Sadhasivam,
	Marek Vasut
  Cc: LKML

>> How does this view fit to the commit ab81f2f79c683c94bac622aafafbe8232e547159
>> ("PCI/pwrctrl: Fix double cleanup on devm_add_action_or_reset() failure")
>> from 2025-08-13?
>>
> Thank you for your guidance. My previous understanding was incorrect.

Will an adjusted software understanding influence further collateral evolutions?

Regards,
Markus

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: PCI/pwrctrl: Propagate dev_err_probe return value
  2025-10-19  8:56       ` Markus Elfring
@ 2025-10-19 10:19         ` Anand Moon
  0 siblings, 0 replies; 8+ messages in thread
From: Anand Moon @ 2025-10-19 10:19 UTC (permalink / raw)
  To: Markus Elfring
  Cc: Christophe Jaillet, linux-pci, Bartosz Golaszewski, Bjorn Helgaas,
	Geert Uytterhoeven, Manivannan Sadhasivam, Marek Vasut, LKML

Hi Markus,

On Sun, 19 Oct 2025 at 14:26, Markus Elfring <Markus.Elfring@web.de> wrote:
>
> >> How does this view fit to the commit ab81f2f79c683c94bac622aafafbe8232e547159
> >> ("PCI/pwrctrl: Fix double cleanup on devm_add_action_or_reset() failure")
> >> from 2025-08-13?
> >>
> > Thank you for your guidance. My previous understanding was incorrect.
>
> Will an adjusted software understanding influence further collateral evolutions?
>
I will try to be more correct and improve myself.
Sorry for the inconvenience,

> Regards,
> Markus

Thanks
-Anand

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v1] PCI/pwrctrl: Propagate dev_err_probe return value
  2025-10-18  7:02 [PATCH v1] PCI/pwrctrl: Propagate dev_err_probe return value Anand Moon
  2025-10-18  7:31 ` Christophe JAILLET
  2025-10-18 15:13 ` [PATCH] " Markus Elfring
@ 2025-10-31  8:28 ` Manivannan Sadhasivam
  2 siblings, 0 replies; 8+ messages in thread
From: Manivannan Sadhasivam @ 2025-10-31  8:28 UTC (permalink / raw)
  To: Anand Moon
  Cc: Bartosz Golaszewski, Bjorn Helgaas, open list:PCI POWER CONTROL,
	open list

On Sat, Oct 18, 2025 at 12:32:18PM +0530, Anand Moon wrote:
> Ensure that the return value from dev_err_probe() is consistently assigned
> back to return in all error paths within pci_pwrctrl_slot_probe()
> function. This ensures the original error code are propagation for
> debugging.
> 
> Signed-off-by: Anand Moon <linux.amoon@gmail.com>
> ---
>  drivers/pci/pwrctrl/slot.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/pci/pwrctrl/slot.c b/drivers/pci/pwrctrl/slot.c
> index 3320494b62d89..36a6282fd222d 100644
> --- a/drivers/pci/pwrctrl/slot.c
> +++ b/drivers/pci/pwrctrl/slot.c
> @@ -41,14 +41,13 @@ static int pci_pwrctrl_slot_probe(struct platform_device *pdev)
>  	ret = of_regulator_bulk_get_all(dev, dev_of_node(dev),
>  					&slot->supplies);
>  	if (ret < 0) {
> -		dev_err_probe(dev, ret, "Failed to get slot regulators\n");
> -		return ret;
> +		return dev_err_probe(dev, ret, "Failed to get slot regulators\n");
>  	}
>  
>  	slot->num_supplies = ret;
>  	ret = regulator_bulk_enable(slot->num_supplies, slot->supplies);
>  	if (ret < 0) {
> -		dev_err_probe(dev, ret, "Failed to enable slot regulators\n");
> +		ret = dev_err_probe(dev, ret, "Failed to enable slot regulators\n");

Again a pointless change.

- Mani

-- 
மணிவண்ணன் சதாசிவம்

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-10-31  8:29 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-18  7:02 [PATCH v1] PCI/pwrctrl: Propagate dev_err_probe return value Anand Moon
2025-10-18  7:31 ` Christophe JAILLET
2025-10-18 16:05   ` [PATCH] " Markus Elfring
2025-10-19  8:16     ` Anand Moon
2025-10-19  8:56       ` Markus Elfring
2025-10-19 10:19         ` Anand Moon
2025-10-18 15:13 ` [PATCH] " Markus Elfring
2025-10-31  8:28 ` [PATCH v1] " Manivannan Sadhasivam

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.