Re: [PATCH] mmc: pxamci: Refactor regulator support

From: Mark Brown
Date: Mon Jul 22 2013 - 07:04:13 EST


On Sun, Jul 21, 2013 at 01:07:48AM +0200, Andrea Adami wrote:

> The ADS7846 driver _requires_ the use of a voltage regulator
> or if not present, CONFIG_REGULATOR_DUMMY should be used for proper operation.
> This was made mandatory by the following commit:

No, CONFIG_REGULATOR_DUMMY should *never* be used in production.

> The ADS7846 in spitz machines is not connected to
> any power regulator so it needs CONFIG_REGULATOR_DUMMY enabled.

I don't think that's the case, it would be a very unusual piece of
silicon that was able to operate without power. It may be that it's not
using a software controllable regulator but there will be one or more
power supplies. Judging by your problem here it seems like there is
actually a software controllable regulator though...

> However, enabling CONFIG_REGULATOR and CONFIG_REGULATOR_DUMMY
> will break pxamci driver and cause the following error output:

This is why you should never use CONFIG_REGULATOR_DUMMY in production,
it's just a crutch to help things boot during development.

> Regulator support in pxamci_init_ocr() is not
> written with the existence of the dummy regulator driver in
> mind. It does not check the return value of mmc_regulator_get_ocrmask()
> and it will only fall back to platform data if no regulator was found.

No regulator driver should be written with CONFIG_REGULATOR_DUMMY in
mind. My guess here is that your custom callbacks for this board should
be being replaced by a regulator, for example the fixed voltage
regulator if there's only one voltage supported.

Attachment: signature.asc
Description: Digital signature