RE: [PATCH v3 3/7] PCI: imx6: Fix the regulator dump when link never came up
From: Richard Zhu <hongxing.zhu@nxp.com>
Date: 2021-11-01 01:46:50
Also in:
linux-pci, lkml
-----Original Message----- From: Mark Brown <broonie@kernel.org> Sent: Friday, October 29, 2021 7:46 PM To: Richard Zhu <hongxing.zhu@nxp.com> Cc: Francesco Dolcini <redacted>; l.stach@pengutronix.de; bhelgaas@google.com; lorenzo.pieralisi@arm.com; jingoohan1@gmail.com; linux-pci@vger.kernel.org; dl-linux-imx [off-list ref]; linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; kernel@pengutronix.de Subject: Re: [PATCH v3 3/7] PCI: imx6: Fix the regulator dump when link never came up On Fri, Oct 29, 2021 at 03:58:41AM +0000, Richard Zhu wrote:quoted
quoted
The driver should undo any enables it did itself, it should not undo any enables that anything else did which means it should never be basing decisions on regulator_is_enabled(). While the regulator may not be shared in the particular board you're looking at it may be shared in other systems.quoted
[Richard Zhu] Understood. Thanks. Can I disabled this regulator in PCIe probe failure handler without the regulator_is_enabled() check?If the driver called regulator_enable() (and that didn't return an error) it can always call regulator_disable() as many times as it called regulator_enable(), no need to check if the regulator is still enabled. When the driver hasn't successfully called regulator_enable() it shouldn't call regulator_disable() even if the regualtor is enabled. This means that after your driver has enabled the regulator it can just disable it but between the regulator_get() and regulator_enable() it shouldn't do that.
[Richard Zhu] Got that, thanks a lot. BR Richard _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel