Thread (20 messages) 20 messages, 6 authors, 2020-11-09

Re: [PATCH 2/2] PCI: rockchip: Simplify optional regulator handling

From: Andrew Murray <hidden>
Date: 2019-11-18 12:40:01
Also in: linux-pci, linux-rockchip

On Mon, Nov 18, 2019 at 12:20:10PM +0000, Robin Murphy wrote:
On 18/11/2019 11:59 am, Mark Brown wrote:
quoted
On Sat, Nov 16, 2019 at 12:54:20PM +0000, Robin Murphy wrote:
quoted
Null checks are both cheaper and more readable than having !IS_ERR()
splattered everywhere.
quoted
-	if (IS_ERR(rockchip->vpcie3v3))
+	if (!rockchip->vpcie3v3)
  		return;
  	/*
@@ -611,6 +611,7 @@ static int rockchip_pcie_parse_host_dt(struct rockchip_pcie *rockchip)
  		if (PTR_ERR(rockchip->vpcie12v) != -ENODEV)
  			return PTR_ERR(rockchip->vpcie12v);
  		dev_info(dev, "no vpcie12v regulator found\n");
+		rockchip->vpcie12v = NULL;
According to the API NULL is a valid regulator.  We don't currently
actually do this but it's storing up surprises if you treat it as
invalid.
Ah, OK - I'd assumed NULL wasn't valid based on regulator_enable()
immediately dereferencing its argument without any checks. If we'd rather
not bake in that assumption then this patch can happily be ignored.
I'd suggest we drop this patch.

"IS_ERR(ptr)" is not the same as "!ptr", for values of ptr between 0 and
-4095 inclusive.

Regardless the effect of this patch with the regulator framework, I don't
think we want to create an example that others may follow.

Thanks,

Andrew Murray
Thanks,
Robin.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help