[U-Boot] [PATCH 08/11] Blackfin: bf60x: add rsi/sdh support

Sonic Zhang sonic.adi at gmail.com
Mon Feb 18 08:38:57 CET 2013


Hi Wolfgang,

On Mon, Feb 18, 2013 at 4:15 AM, Wolfgang Denk <wd at denx.de> wrote:
> Dear Sonic Zhang,
>
> In message <CAJxxZ0OTwow6X2KX8yAujtrxc6qicVPMO2rP4MHwJQVQUbhecw at mail.gmail.com> you wrote:
>>
>> >> @@ -113,16 +131,19 @@ static int sdh_setup_data(struct mmc *mmc, struct mmc_data *data)
>> > ...
>> >> -     int ret = 0;
>> > ...
>> >> -     return ret;
>> >> +     return 0;
>> >
>> > If this function can always only return 0, then please make it void.
>> >
>> > Please fix globally.
>>
>> I am sorry, this function can't be changed to void, because it may
>> return error. See bellow code.
>
> You are contradicting yourself.  You _always_ return a 0 here.  Your
> code CANNOT return an error code.
>

Maybe I didn't describe it clearly. Yes, I return 0 at the end of this
function. But, the same function may return UNUSABLE_ERR(-17) at the
beginning if the data flags match MMC_DATA_WRITE. That's why the
function can't return void. Is anything contradicting in my
explanation?


@@ -113,16 +131,19 @@ static int sdh_setup_data(struct mmc *mmc,
struct mmc_data *data)
 {
        u16 data_ctl = 0;
        u16 dma_cfg = 0;
-       int ret = 0;
        unsigned long data_size = data->blocksize * data->blocks;

        /* Don't support write yet. */
        if (data->flags & MMC_DATA_WRITE)
                return UNUSABLE_ERR;

@@ -137,7 +158,7 @@ static int sdh_setup_data(struct mmc *mmc, struct
mmc_data *data)
        /* kick off transfer */
        bfin_write_SDH_DATA_CTL(bfin_read_SDH_DATA_CTL() | DTX_DMA_E | DTX_E);

-       return ret;
+       return 0;
 }



Regards,

Sonic Zhang


More information about the U-Boot mailing list