From: adrian.hunter@nokia.com (Adrian Hunter)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] MMC: move regulator handling closer to core v3
Date: Fri, 10 Sep 2010 13:05:26 +0300 [thread overview]
Message-ID: <4C8A02E6.4080906@nokia.com> (raw)
In-Reply-To: <20100909131251.GE25855@rakim.wolfsonmicro.main>
Mark Brown wrote:
> On Thu, Sep 09, 2010 at 03:56:31PM +0300, Adrian Hunter wrote:
>> Mark Brown wrote:
>
>>> What do you mean when you say that you would like boards to "hook
>>> directly into the regulator" - what do you want to be able to do?
>>> Is this the notifiers? Do you need more of them?
>
>> There would need to be notifiers before and after any change to the
>> voltage. However the notifiers would have to be set up before or
>> during regulator initialisation because initialisation already can
>> change the voltage e.g. in set_machine_constraints.
>
> Why do you believe these notifiers are needed?
As I mentioned below, they would be needed to do PBIAS configuration
automatically using notifiers (notifiers would have been overkill
anyway). However as you don't think that is a good idea, it is no
matter.
> I would expect that
> anything that needs pre and post change notifications like this is
> actually changing the configuration itself (since if it's that sensitive
> to changes it seems likely that it wouldn't be enthused about having the
> configuration changed while it's trying to do stuff).
Yes, except when it is the regulator core trying to set the initial power
state on or off.
>
>>> I can't parse this at all I'm afraid. Could you be more specific about
>>> what you mean by using enable and disable independantly of the board -
>>> clearly the consumer drivers are already able to be board independant?
>
>> For OMAP3 (and OMAP2 in some cases) the 1st SD/SDIO/MMC controller
>> can operate at either 1.8V or 3V, however at 3V the board must apply
>> voltage level shifting (PBIAS configuation). Currently the
>> level-shifting is done by board code that must be called before and
>> after the voltage changes. The omap_hsmmc driver calls the board
>> code via callbacks in platform data (.before_set_reg and
>> .after_set_reg).
>
> This really sounds like something that's internal to the MMC controller
> driver - based on your description I'm very surprised that boards even
> get visibility of this. Surely the MMC controller driver should be
> taking care of configuring PBIAS itself, assuming it's something
> internal to the chip?
It is considered that the driver should know only about hsmmc ip not
all of OMAP. Additionally the OMAP community does not allow the use
of the necessary system control registers outside of the board level
i.e. arch/arm/mach-omap2 etc. Hence the driver calls down to the
board level. That is ugly but not a problem.
> Adding code to the regulator API so that the OMAP
> MMC driver can be notified of the configuration it has applied to itself
> (and any failures that ensue) feels baroque.
As you wish. That rules out using the core to turn off the regulator at
boot up, but that is OK, the driver can do it. At present the driver
makes the mistake of just doing regulator_enable() / disable() to ensure the
regulator is off, without calling down to the board level for the PBIAS
configuration. It also comments the code as an "ugly hack" whereas
it is really the only way to do it, if the regulator can't do the
PBIAS configuration automatically. I will just fix the driver and add
better comments.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
next prev parent reply other threads:[~2010-09-10 10:05 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-05 9:05 [PATCH] MMC: move regulator handling closer to core v3 Linus Walleij
2010-09-08 22:51 ` Andrew Morton
2010-09-09 6:01 ` Adrian Hunter
2010-09-09 9:38 ` Mark Brown
2010-09-09 12:56 ` Adrian Hunter
2010-09-09 13:12 ` Mark Brown
2010-09-10 10:05 ` Adrian Hunter [this message]
2010-09-10 10:37 ` Mark Brown
2010-09-09 7:03 ` Linus Walleij
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C8A02E6.4080906@nokia.com \
--to=adrian.hunter@nokia.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).