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