All of lore.kernel.org
 help / color / mirror / Atom feed
From: Heiko Schocher <hs@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 01/17] tricorder: rewrite tricordereeprom command
Date: Mon, 16 Nov 2015 12:26:12 +0100	[thread overview]
Message-ID: <5649BD54.9050207@denx.de> (raw)
In-Reply-To: <1447185213-5799-1-git-send-email-marex@denx.de>

Hello Marek,

Am 10.11.2015 um 20:53 schrieb Marek Vasut:
> From: Andreas Bie?mann <andreas.devel@googlemail.com>
>
> This rewrite uses lately promoted eeprom_init(int) function to choose the
> right I2C bus when writing data to the EEPROM.
>
> Signed-off-by: Andreas Bie?mann <andreas.devel@googlemail.com>
> Cc: Marek Vasut <marex@denx.de>
> Cc: Simon Glass <sjg@chromium.org>
> Cc: Tom Rini <trini@konsulko.com>
> Cc: Heiko Schocher <hs@denx.de>
> ---
>   board/corscience/tricorder/tricorder-eeprom.c | 36 +++++++--------------------
>   1 file changed, 9 insertions(+), 27 deletions(-)

Reviewed-by: Heiko Schocher <hs@denx.de>

Thanks for this cleanup! ... eeprom code is really ugly ...

bye,
Heiko
>
> diff --git a/board/corscience/tricorder/tricorder-eeprom.c b/board/corscience/tricorder/tricorder-eeprom.c
> index 1c74a0f..340a009 100644
> --- a/board/corscience/tricorder/tricorder-eeprom.c
> +++ b/board/corscience/tricorder/tricorder-eeprom.c
> @@ -77,17 +77,13 @@ static int handle_eeprom_v1(struct tricorder_eeprom *eeprom)
>
>   int tricorder_get_eeprom(int addr, struct tricorder_eeprom *eeprom)
>   {
> -#ifdef CONFIG_SYS_EEPROM_BUS_NUM
>   	unsigned int bus = i2c_get_bus_num();
>   	i2c_set_bus_num(CONFIG_SYS_EEPROM_BUS_NUM);
> -#endif
>
>   	memset(eeprom, 0, TRICORDER_EEPROM_SIZE);
>
>   	i2c_read(addr, 0, 2, (unsigned char *)eeprom, TRICORDER_EEPROM_SIZE);
> -#ifdef CONFIG_SYS_EEPROM_BUS_NUM
>   	i2c_set_bus_num(bus);
> -#endif
>
>   	if (be32_to_cpu(eeprom->magic) != TRICORDER_EEPROM_MAGIC) {
>   		warn_wrong_value("magic", TRICORDER_EEPROM_MAGIC,
> @@ -138,9 +134,6 @@ int tricorder_eeprom_write(unsigned devaddr, const char *name,
>   	int ret;
>   	unsigned char *p;
>   	int i;
> -#ifdef CONFIG_SYS_EEPROM_BUS_NUM
> -	unsigned int bus;
> -#endif
>
>   	memset(eeprom, 0, TRICORDER_EEPROM_SIZE);
>   	memset(eeprom_verify, 0, TRICORDER_EEPROM_SIZE);
> @@ -172,33 +165,23 @@ int tricorder_eeprom_write(unsigned devaddr, const char *name,
>   	print_buffer(0, &eeprom, 1, sizeof(eeprom), 16);
>   #endif
>
> -#ifdef CONFIG_SYS_EEPROM_BUS_NUM
> -	bus = i2c_get_bus_num();
> -	i2c_set_bus_num(CONFIG_SYS_EEPROM_BUS_NUM);
> -#endif
> +	eeprom_init(CONFIG_SYS_EEPROM_BUS_NUM);
>
> -	/* do page write to the eeprom */
> -	for (i = 0, p = (unsigned char *)&eeprom;
> -	     i < sizeof(eeprom);
> -	     i += 32, p += 32) {
> -		ret = i2c_write(devaddr, i, CONFIG_SYS_I2C_EEPROM_ADDR_LEN,
> -				p, min(sizeof(eeprom) - i, 32));
> -		if (ret)
> -			break;
> -		udelay(5000); /* 5ms write cycle timing */
> -	}
> +	ret = eeprom_write(devaddr, 0, (unsigned char *)&eeprom,
> +			TRICORDER_EEPROM_SIZE);
> +	if (ret)
> +		printf("Tricorder: Could not write EEPROM content!\n");
>
> -	ret = i2c_read(devaddr, 0, 2, (unsigned char *)&eeprom_verify,
> +	ret = eeprom_read(devaddr, 0, (unsigned char *)&eeprom_verify,
>   			TRICORDER_EEPROM_SIZE);
> +	if (ret)
> +		printf("Tricorder: Could not read EEPROM content!\n");
>
>   	if (memcmp(&eeprom, &eeprom_verify, sizeof(eeprom)) != 0) {
>   		printf("Tricorder: Could not verify EEPROM content!\n");
>   		ret = 1;
>   	}
>
> -#ifdef CONFIG_SYS_EEPROM_BUS_NUM
> -	i2c_set_bus_num(bus);
> -#endif
>   	return ret;
>   }
>
> @@ -206,7 +189,7 @@ int do_tricorder_eeprom(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
>   {
>   	if (argc == 3) {
>   		ulong dev_addr = simple_strtoul(argv[2], NULL, 16);
> -		eeprom_init();
> +
>   		if (strcmp(argv[1], "read") == 0) {
>   			int rcode;
>
> @@ -220,7 +203,6 @@ int do_tricorder_eeprom(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
>   		char *version = argv[4];
>   		char *serial = argv[5];
>   		char *interface = NULL;
> -		eeprom_init();
>
>   		if (argc == 7)
>   			interface = argv[6];
>

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

  parent reply	other threads:[~2015-11-16 11:26 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-10 19:53 [U-Boot] [PATCH 01/17] tricorder: rewrite tricordereeprom command Marek Vasut
2015-11-10 19:53 ` [U-Boot] [PATCH 02/17] eeprom: Shuffle code around Marek Vasut
2015-11-16 11:26   ` Heiko Schocher
2015-11-22 15:53   ` [U-Boot] [U-Boot,02/17] " Tom Rini
2015-11-10 19:53 ` [U-Boot] [PATCH 03/17] eeprom: Zap CONFIG_SYS_I2C_MULTI_EEPROMS Marek Vasut
2015-11-16 11:26   ` Heiko Schocher
2015-11-22 15:53   ` [U-Boot] [U-Boot, " Tom Rini
2015-11-10 19:53 ` [U-Boot] [PATCH 04/17] eeprom: Zap CONFIG_SYS_EEPROM_X40430 Marek Vasut
2015-11-16 11:27   ` Heiko Schocher
2015-11-22 15:53   ` [U-Boot] [U-Boot,04/17] " Tom Rini
2015-11-10 19:53 ` [U-Boot] [PATCH 05/17] eeprom: Zap eeprom_probe() Marek Vasut
2015-11-16 11:27   ` Heiko Schocher
2015-11-22 15:54   ` [U-Boot] [U-Boot,05/17] " Tom Rini
2015-11-10 19:53 ` [U-Boot] [PATCH 06/17] eeprom: Zap CONFIG_SPI_X Marek Vasut
2015-11-16 11:27   ` Heiko Schocher
2015-11-22 15:54   ` [U-Boot] [U-Boot,06/17] " Tom Rini
2015-11-10 19:53 ` [U-Boot] [PATCH 07/17] eeprom: Pull out the I/O code Marek Vasut
2015-11-16 11:27   ` Heiko Schocher
2015-11-22 15:54   ` [U-Boot] [U-Boot,07/17] " Tom Rini
2015-11-10 19:53 ` [U-Boot] [PATCH 08/17] eeprom: Pull out address computation Marek Vasut
2015-11-16 11:28   ` Heiko Schocher
2015-11-22 15:54   ` [U-Boot] [U-Boot,08/17] " Tom Rini
2015-11-10 19:53 ` [U-Boot] [PATCH 09/17] eeprom: Make eeprom_write_enable() weak Marek Vasut
2015-11-16 11:28   ` Heiko Schocher
2015-11-22 15:54   ` [U-Boot] [U-Boot, " Tom Rini
2015-11-10 19:53 ` [U-Boot] [PATCH 10/17] eeprom: Pull out CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS Marek Vasut
2015-11-16 11:28   ` Heiko Schocher
2015-11-22 15:54   ` [U-Boot] [U-Boot, " Tom Rini
2015-11-10 19:53 ` [U-Boot] [PATCH 11/17] eeprom: Suck the ifdef into eeprom_init() Marek Vasut
2015-11-16 11:28   ` Heiko Schocher
2015-11-22 15:54   ` [U-Boot] [U-Boot, " Tom Rini
2015-11-10 19:53 ` [U-Boot] [PATCH 12/17] eeprom: Pull out CONFIG_SYS_EEPROM_PAGE_WRITE_BITS Marek Vasut
2015-11-16 11:29   ` Heiko Schocher
2015-11-22 15:54   ` [U-Boot] [U-Boot, " Tom Rini
2015-11-10 19:53 ` [U-Boot] [PATCH 13/17] eeprom: Pull out transfer length computation Marek Vasut
2015-11-16 11:31   ` Heiko Schocher
2015-11-22 15:54   ` [U-Boot] [U-Boot, " Tom Rini
2015-11-10 19:53 ` [U-Boot] [PATCH 14/17] eeprom: Pull out the RW loop Marek Vasut
2015-11-16 11:31   ` Heiko Schocher
2015-11-22 15:54   ` [U-Boot] [U-Boot,14/17] " Tom Rini
2015-11-10 19:53 ` [U-Boot] [PATCH 15/17] eeprom: Add bus argument to eeprom_init() Marek Vasut
2015-11-16 11:32   ` Heiko Schocher
2015-11-21 13:48     ` Tom Rini
2015-11-22 15:54   ` [U-Boot] [U-Boot, " Tom Rini
2015-11-10 19:53 ` [U-Boot] [PATCH 16/17] eeprom: Add support for selecting i2c bus Marek Vasut
2015-11-16 11:32   ` Heiko Schocher
2015-11-22 15:54   ` [U-Boot] [U-Boot, " Tom Rini
2015-11-10 19:53 ` [U-Boot] [PATCH 17/17] eeprom: Clean up checkpatch issues Marek Vasut
2015-11-16 11:32   ` Heiko Schocher
2015-11-22 15:55   ` [U-Boot] [U-Boot,17/17] " Tom Rini
2015-11-16 11:26 ` Heiko Schocher [this message]
2015-11-22 15:53 ` [U-Boot] [U-Boot, 01/17] tricorder: rewrite tricordereeprom command Tom Rini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5649BD54.9050207@denx.de \
    --to=hs@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.