Hi Paul,

On Sep 4, 2013, at 6:14 PM, Paul Burton wrote:

> For SPL builds this is just dead code since we'll only need to read.
> Eliminating it results in a significant size reduction for the SPL
> binary.
> 
> Signed-off-by: Paul Burton <paul.bur...@imgtec.com>
> ---

I understand what you're trying to do, but I don't like the #ifdef thing.

I'd prefer moving the mmc_berase & mmc_bwrite in a different file that's
only built for non-SPL and then use the a conditional macro in a header
file.

I.e. 

#ifndef CONFIG_SPL_BUILD
extern unsigned long mmc_berase(int dev_num, lbaint_t start, lbaint_t blkcnt);
#else
#define mmc_berase(dev_num, start, blkcnt) /* nothing */
#endif

Etc.

Regards

-- Pantelis


> drivers/mmc/mmc.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
> 
> diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
> index 30a985b..d305257 100644
> --- a/drivers/mmc/mmc.c
> +++ b/drivers/mmc/mmc.c
> @@ -248,6 +248,7 @@ err_out:
> static unsigned long
> mmc_berase(int dev_num, lbaint_t start, lbaint_t blkcnt)
> {
> +#ifndef CONFIG_SPL_BUILD
>       int err = 0;
>       struct mmc *mmc = find_mmc_device(dev_num);
>       lbaint_t blk = 0, blk_r = 0;
> @@ -281,6 +282,9 @@ mmc_berase(int dev_num, lbaint_t start, lbaint_t blkcnt)
>       }
> 
>       return blk;
> +#else /* CONFIG_SPL_BUILD */
> +     return -1;
> +#endif
> }
> 
> static ulong
> @@ -349,6 +353,7 @@ mmc_write_blocks(struct mmc *mmc, lbaint_t start, 
> lbaint_t blkcnt, const void*sr
> static ulong
> mmc_bwrite(int dev_num, lbaint_t start, lbaint_t blkcnt, const void*src)
> {
> +#ifndef CONFIG_SPL_BUILD
>       lbaint_t cur, blocks_todo = blkcnt;
> 
>       struct mmc *mmc = find_mmc_device(dev_num);
> @@ -368,6 +373,9 @@ mmc_bwrite(int dev_num, lbaint_t start, lbaint_t blkcnt, 
> const void*src)
>       } while (blocks_todo > 0);
> 
>       return blkcnt;
> +#else /* CONFIG_SPL_BUILD */
> +     return 0;
> +#endif
> }
> 
> static int mmc_read_blocks(struct mmc *mmc, void *dst, lbaint_t start,
> -- 
> 1.8.3.4
> 
> 

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to