[U-Boot] [v3, 1/3] mmc: fsl_esdhc: move 'status' property fixup into a weak function
Y.B. Lu
yangbo.lu at nxp.com
Fri Jan 13 04:06:07 CET 2017
> -----Original Message-----
> From: york sun
> Sent: Friday, January 13, 2017 1:09 AM
> To: Y.B. Lu; u-boot at lists.denx.de
> Subject: Re: [v3, 1/3] mmc: fsl_esdhc: move 'status' property fixup into
> a weak function
>
> On 01/11/2017 05:42 PM, Y.B. Lu wrote:
> > Hi York,
> >
> > Any comments on this patchset?
> > Thanks a lot.
>
> You didn't CC me for this set. I didn't notice them in the list. See
> comment below.
>
> >
> >
> > Best regards,
> > Yangbo Lu
> >
> >> -----Original Message-----
> >> From: Yangbo Lu [mailto:yangbo.lu at nxp.com]
> >> Sent: Thursday, December 08, 2016 11:42 AM
> >> To: u-boot at lists.denx.de
> >> Cc: york sun; Y.B. Lu
> >> Subject: [v3, 1/3] mmc: fsl_esdhc: move 'status' property fixup into
> >> a weak function
> >>
> >> Move fdt fixup of 'status' property into a weak function. This allows
> >> board to define 'status' fdt fixup by themselves.
> >>
> >> Signed-off-by: Yangbo Lu <yangbo.lu at nxp.com>
> >> ---
> >> Changes for v2:
> >> - None
> >> Changes for v3:
> >> - None
> >> ---
> >> drivers/mmc/fsl_esdhc.c | 21 ++++++++++++++-------
> >> 1 file changed, 14 insertions(+), 7 deletions(-)
> >>
> >> diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c index
> >> 9796d39..68de04e 100644
> >> --- a/drivers/mmc/fsl_esdhc.c
> >> +++ b/drivers/mmc/fsl_esdhc.c
> >> @@ -908,17 +908,26 @@ void mmc_adapter_card_type_ident(void) #endif
> >>
> >> #ifdef CONFIG_OF_LIBFDT
> >> -void fdt_fixup_esdhc(void *blob, bd_t *bd)
> >> +__weak int esdhc_status_fixup(void *blob, const char *compat)
> >> {
> >> - const char *compat = "fsl,esdhc";
> >> -
> >> #ifdef CONFIG_FSL_ESDHC_PIN_MUX
> >> if (!hwconfig("esdhc")) {
> >> do_fixup_by_compat(blob, compat, "status", "disabled",
> >> - 8 + 1, 1);
> >> - return;
> >> + sizeof("disabled"), 1);
> >> + return 1;
>
> What's your intention for the non-zero return? It is not considered an
> error, is it?
>
[Lu Yangbo-B47093] I intend to get non-zero return when there is no esdhc with 'okay' status.
Then the following fixup could be dropped.
> >> }
> >> #endif
> >> + do_fixup_by_compat(blob, compat, "status", "okay",
> >> + sizeof("okay"), 1);
> >> + return 0;
> >> +}
> >> +
> >> +void fdt_fixup_esdhc(void *blob, bd_t *bd) {
> >> + const char *compat = "fsl,esdhc";
> >> +
> >> + if (esdhc_status_fixup(blob, compat))
> >> + return;
>
> With non-zero return, following code will be skipped. This is the same as
> code flow before this change. What are you going to do with the new
> board-level function?
[Lu Yangbo-B47093] As I said, if we 'disabled' the status, the following fixup could be dropped.
The new board-level function is for some specific boards which have some hardware issue of esdhc.
We need to check board hardware in board-level function first and decide to enable it or not.
>
> Review comment continues on other patches in this set.
>
> York
More information about the U-Boot
mailing list