[alsa-devel] [PATCH v3 6/6] ASoC: tlv320aic32x4: Support for regulators
Markus Pargmann
mpa at pengutronix.de
Mon Jan 27 17:10:54 CET 2014
Hi,
On Mon, Jan 27, 2014 at 03:15:33PM +0000, Mark Brown wrote:
> On Mon, Jan 27, 2014 at 01:03:10PM +0100, Markus Pargmann wrote:
>
> > + aic32x4->supply_ldo = devm_regulator_get_optional(dev, "ldoin");
> > + aic32x4->supply_iov = devm_regulator_get_optional(dev, "iov");
> > + aic32x4->supply_dv = devm_regulator_get_optional(dev, "dv");
> > + aic32x4->supply_av = devm_regulator_get_optional(dev, "av");
>
> These shouldn't be optional, it seems unlikely that the device is going
> to work without power. This will also be broken for probe deferral
> since the code will just ignore errors so if the error is -EPROBE_DEFER
> it'll not actually defer.
The manual describes the possible power supplies as the following:
dv has to be present if ldoin is not supplied or LDO_SELECT hardware pin
is low.
av has to be present if ldoin is not supplied.
iov is always necessary.
ldoin is necessary if both dv and av are not supplied.
I will try to catch all those conditions in the next version and fix the
EPROBE_DEFER.
>
> Just use the normal bulk functions, as Fabio said this will be simpler
> too, and there should be code to disable on device removal at least
> (ideally also on suspend and resume, and while the device is idle if it
> doesn't have slow startup times).
Do the normal bulk functions handle optional regulators?
Thanks,
Markus
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the Alsa-devel
mailing list