[U-Boot] [PATCH] common: env: support sata device

Tom Rini trini at konsulko.com
Mon Mar 28 17:15:43 CEST 2016


On Mon, Mar 28, 2016 at 05:37:16PM +0800, Peng Fan wrote:

> Introduce env support for sata device.
> 1. Implement write_env/read_env/env_relocate_spec/saveenv/sata_get_env_dev
> 2. If want to enable this feature, define CONFIG_ENV_IS_IN_SATA, and
>    define CONFIG_SYS_SATA_ENV_DEV or implement your own sata_get_ev_dev.
[snip]
> +/*
> + * TODO: Support CONFIG_ENV_SIZE_REDUND CONFIG_ENV_OFFSET_REDUND
> + */

I'd like to see #error here as well, having been bit in the past in
cases of "Oh, redund doesn't work?".

> +#if !defined(CONFIG_ENV_OFFSET) || !defined(CONFIG_ENV_SIZE)
> +#error CONFIG_ENV_OFFSET or CONFIG_ENV_SIZE not defined
> +#endif
> +
> +char *env_name_spec = "SATA";
> +
> +#ifdef ENV_IS_EMBEDDED
> +env_t *env_ptr = (env_t *)(&environment[0]);

So, you're not adding (and I'm not suggesting you do) SATA to the list
of environment types where we support embedded env.  Please just remove
these tests here and elsewhere.  Thanks!

[snip]
> +static inline int read_env(struct blk_desc *sata, unsigned long size,
> +			   unsigned long offset, const void *buffer)
> +{
> +	uint blk_start, blk_cnt, n;
> +
> +	blk_start = ALIGN(offset, sata->blksz) / sata->blksz;
> +	blk_cnt   = ALIGN(size, sata->blksz) / sata->blksz;
> +
> +	n = sata->block_read(sata, blk_start, blk_cnt, (uchar *)buffer);

Here and elsewhere, please update to use blk_dread, etc, from blk.h to
help future proof this code, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160328/a945ce3d/attachment.sig>


More information about the U-Boot mailing list