public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Peng Fan <van.freenix@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] mmc: introduce mmc_power_init
Date: Tue, 11 Oct 2016 14:37:41 +0800	[thread overview]
Message-ID: <20161011063738.GA31608@linux-7smt.suse> (raw)
In-Reply-To: <a2cabc7d-97f9-f1f9-d8d5-c54a3e014c78@samsung.com>

Hi Jaehoon,
On Mon, Oct 10, 2016 at 01:19:41PM +0900, Jaehoon Chung wrote:
>Hi Peng,
>
>On 10/08/2016 07:07 PM, Peng Fan wrote:
>> In device tree, there is vmmc-supply property for SD/MMC.
>> Introduce mmc_power_init function to handle vmmc-supply.
>
>As i know, vqmmc-supply should be optional. Do you have a plan to add this?

In the dts for my board, there is no vqmmc-supply. So I did not add this.
Let me add it in V2 as the following.

"
ret = device_get_supply_regulator(mmc->dev, "vqmmc-supply",
				  &vqmmc_supply);
if (ret) {
	debug("No vqmmc supply\n");
	return 0;
}

ret = regulator_set_enable(vqmmc_supply, true);
if (ret) {
	puts("Error enabling VQMMC supply\n");
	return ret;
}
"


>
>> 
>> mmc_power_init will first invoke board_mmc_power_init to
>> avoid break boards which already implement board_mmc_power_init.
>> 
>> If DM_MMC and DM_REGULATOR is defined, the regulator
>> will be enabled to power up the device.
>> 
>> Signed-off-by: Peng Fan <peng.fan@nxp.com>
>> Cc: Jaehoon Chung <jh80.chung@samsung.com>
>> ---
>> 
>> The RFC patset thread: http://lists.denx.de/pipermail/u-boot/2016-April/251019.html
>> V1: Use a generic way to handle vmmc supply, but not let vendor driver
>>     to handle it.
>> 
>>  drivers/mmc/mmc.c | 30 +++++++++++++++++++++++++++++-
>>  1 file changed, 29 insertions(+), 1 deletion(-)
>> 
>> diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
>> index 0312da9..c361098 100644
>> --- a/drivers/mmc/mmc.c
>> +++ b/drivers/mmc/mmc.c
>> @@ -15,6 +15,7 @@
>>  #include <errno.h>
>>  #include <mmc.h>
>>  #include <part.h>
>> +#include <power/regulator.h>
>>  #include <malloc.h>
>>  #include <memalign.h>
>>  #include <linux/list.h>
>> @@ -1582,6 +1583,31 @@ __weak void board_mmc_power_init(void)
>>  {
>>  }
>>  
>> +int mmc_power_init(struct mmc *mmc)
>
>Can be static?

Sure. Fix in V2.

>
>> +{
>> +	board_mmc_power_init();
>> +
>> +#if defined(CONFIG_DM_MMC) && defined(CONFIG_DM_REGULATOR) && \
>> +	!defined(CONFIG_SPL_BUILD)
>> +	struct udevice *vmmc_supply;
>> +	int ret;
>> +
>> +	ret = device_get_supply_regulator(mmc->dev, "vmmc-supply",
>> +					  &vmmc_supply);
>> +	if (ret) {
>> +		debug("No vmmc supply\n");
>> +		return 0;
>
>"return 0" is Right? Doesn't need to return error?

In U-Boot, not every board supports regulator now. Some boards may
supports DM MMC, but DM REGULATOR not supported now. So I did not
use error code here. Or use puts, but not debug?

Any comments?

Regards,
Peng.

  reply	other threads:[~2016-10-11  6:37 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20161008100826epcas1p235f9ee38e9487a1a704e72bbeace3f77@epcas1p2.samsung.com>
2016-10-08 10:07 ` [U-Boot] [PATCH] mmc: introduce mmc_power_init Peng Fan
2016-10-10  4:19   ` Jaehoon Chung
2016-10-11  6:37     ` Peng Fan [this message]
2016-10-11  6:42       ` Jaehoon Chung

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=20161011063738.GA31608@linux-7smt.suse \
    --to=van.freenix@gmail.com \
    --cc=u-boot@lists.denx.de \
    /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