[flashrom] [PATCH 1/3] serprog: add SPI support

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Fri Sep 16 00:50:28 CEST 2011


Am 08.09.2011 00:56 schrieb Stefan Tauner:
> +/* FIXME: This function is optimized so that it does not split each
> + * transaction into chip page_size long blocks unnecessarily like
> + * spi_read_chunked. When spi_read_chunked is fixed this method can be
> + * removed. */

That "fix" would break all chips with a non-contiguous address space,
i.e. all chips with a page size which is not a power of two. This
shortcut here means that serprog will never work with those chips.
Please add a FIXME comment which mentions this.


> +int serprog_spi_read(struct flashchip *flash, uint8_t *buf, int start, int len)
> +{
> +	int i;
> +	const int max_read = spi_programmer_serprog.max_data_read;
> +	for(i = 0; i < len; ) {

Space after for.
You could indeed move the i+=cur_len into the for AFAICS.


> +		int ret;
> +		int cur_len = min(max_read, (len - i));
> +		ret = spi_nbyte_read(start + i, buf + i, cur_len);
> +		if (ret)
> +			return ret;
> +		i += cur_len;
> +	}
> +	return 0;
> +}

Regards,
Carl-Daniel

-- 
http://www.hailfinger.org/





More information about the flashrom mailing list