On Tuesday, March 15, 2011 22:53:20 Shaohui Xie wrote:
> --- a/drivers/mtd/spi/spi_flash.c
> +++ b/drivers/mtd/spi/spi_flash.c
> @@ -1,6 +1,8 @@
>  /*
>   * SPI flash interface
> + * Add support for Freescale eSPI controller

this is not the place for changelogs

> @@ -30,6 +32,7 @@ static int spi_flash_read_write(struct spi_slave *spi,
>       unsigned long flags = SPI_XFER_BEGIN;
>       int ret;
> 
> +#ifndef CONFIG_FSL_ESPI
>       if (data_len == 0)
>               flags |= SPI_XFER_END;
> 
> @@ -43,6 +46,48 @@ static int spi_flash_read_write(struct spi_slave *spi,
>                       debug("SF: Failed to transfer %zu bytes of data: %d\n",
>                                       data_len, ret);
>       }
> +#else
> +     struct espi_transfer transfer[1];
> +     unsigned char *buffer;
> +     size_t buf_len;
> +
> +     if (data_in == NULL)
> +             buf_len = cmd_len;
> +     else
> +             buf_len = 2 * cmd_len;
> +
> +     buffer = (unsigned char *)malloc(data_len + buf_len);
> +     if (!buffer) {
> +             debug("SF: Failed to malloc memory.\n");
> +             return 1;
> +     }
> +
> +     memcpy(buffer, cmd, cmd_len);
> +     if (data_in == NULL)
> +             memcpy(buffer + cmd_len, data_out, data_len);
> +
> +     transfer[0].cmd_len = cmd_len;
> +     transfer[0].data_len = data_len;
> +     transfer[0].tx_buf = buffer;
> +     if (data_in == NULL)
> +             transfer[0].rx_buf = NULL;
> +     else
> +             transfer[0].rx_buf = buffer + cmd_len;
> +
> +     transfer[0].flags = flags | SPI_XFER_END;
> +
> +     spi->transfer = &transfer[0];
> +     ret = spi_xfer(spi, 0, NULL, NULL, 0);
> +     if (ret) {
> +             debug("SF: Failed to send command %02x: %d\n", cmd, ret);
> +             return ret;
> +     }
> +
> +     if (data_in)
> +             memcpy(data_in, transfer[0].rx_buf + cmd_len, data_len);
> +
> +     free(buffer);
> +#endif
> 
>       return ret;
>  }

yikes, this cant be right
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to