[U-Boot] [PATCH v3 05/13] sf: Make flash->flags use for generic usage

Jagan Teki jteki at openedev.com
Thu Sep 3 09:04:16 CEST 2015


On 2 September 2015 at 15:09, Bin Meng <bmeng.cn at gmail.com> wrote:
> Hi Jagan,
>
> On Wed, Sep 2, 2015 at 2:09 PM, Jagan Teki <jteki at openedev.com> wrote:
>> Use the flash->flags for generic usage, not only for dm-spi-flash,
>> this will be used for future flag additions.
>>
>> Signed-off-by: Jagan Teki <jteki at openedev.com>
>> Cc: Bin Meng <bmeng.cn at gmail.com>
>> ---
>> Changes for v3:
>>         - none
>
> I will need test this on Crown Bay. Last time this commit fails. But I
> see the changelog says no changes? Does this rebase to latest
> u-boot/master?

No changes it's a rebase. if something fails pleas let me share the
error log or something.

>
>> Changes for v2:
>>         - none
>>
>>  drivers/mtd/spi/sf_internal.h | 4 ++++
>>  drivers/mtd/spi/sf_probe.c    | 6 ++----
>>  include/spi_flash.h           | 4 ++--
>>  3 files changed, 8 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/mtd/spi/sf_internal.h b/drivers/mtd/spi/sf_internal.h
>> index 9c95d56..53998fc 100644
>> --- a/drivers/mtd/spi/sf_internal.h
>> +++ b/drivers/mtd/spi/sf_internal.h
>> @@ -51,6 +51,10 @@ enum {
>>
>>  #define SST_WR         (SST_BP | SST_WP)
>>
>> +enum spi_nor_option_flags {
>> +       SNOR_F_SST_WR           = (1 << 0),
>> +};
>> +
>>  #define SPI_FLASH_3B_ADDR_LEN          3
>>  #define SPI_FLASH_CMD_LEN              (1 + SPI_FLASH_3B_ADDR_LEN)
>>  #define SPI_FLASH_16MB_BOUN            0x1000000
>> diff --git a/drivers/mtd/spi/sf_probe.c b/drivers/mtd/spi/sf_probe.c
>> index f17ec17..85390d4 100644
>> --- a/drivers/mtd/spi/sf_probe.c
>> +++ b/drivers/mtd/spi/sf_probe.c
>> @@ -163,15 +163,13 @@ static int spi_flash_validate_params(struct spi_slave *spi, u8 *idcode,
>>         flash->name = params->name;
>>         flash->memory_map = spi->memory_map;
>>         flash->dual_flash = flash->spi->option;
>> -#ifdef CONFIG_DM_SPI_FLASH
>> -       flash->flags = params->flags;
>> -#endif
>>
>>         /* Assign spi_flash ops */
>>  #ifndef CONFIG_DM_SPI_FLASH
>>         flash->write = spi_flash_cmd_write_ops;
>>  #if defined(CONFIG_SPI_FLASH_SST)
>>         if (params->flags & SST_WR) {
>> +               flash->flags |= SNOR_F_SST_WR;
>>                 if (flash->spi->op_mode_tx & SPI_OPM_TX_BP)
>>                         flash->write = sst_write_bp;
>>                 else
>> @@ -466,7 +464,7 @@ int spi_flash_std_write(struct udevice *dev, u32 offset, size_t len,
>>         struct spi_flash *flash = dev_get_uclass_priv(dev);
>>
>>  #if defined(CONFIG_SPI_FLASH_SST)
>> -       if (flash->flags & SST_WR) {
>> +       if (flash->flags & SNOR_F_SST_WR) {
>>                 if (flash->spi->op_mode_tx & SPI_OPM_TX_BP)
>>                         return sst_write_bp(flash, offset, len, buf);
>>                 else
>> diff --git a/include/spi_flash.h b/include/spi_flash.h
>> index 3b2d555..8d85468 100644
>> --- a/include/spi_flash.h
>> +++ b/include/spi_flash.h
>> @@ -38,10 +38,10 @@ struct spi_slave;
>>   *
>>   * @spi:               SPI slave
>>   * @dev:               SPI flash device
>> - * @flags:             Indication of spi flash flags
>>   * @name:              Name of SPI flash
>>   * @dual_flash:                Indicates dual flash memories - dual stacked, parallel
>>   * @shift:             Flash shift useful in dual parallel
>> + * @flags:             Indication of spi flash flags
>>   * @size:              Total flash size
>>   * @page_size:         Write (page) size
>>   * @sector_size:       Sector size
>> @@ -67,11 +67,11 @@ struct spi_flash {
>>         struct spi_slave *spi;
>>  #ifdef CONFIG_DM_SPI_FLASH
>>         struct udevice *dev;
>> -       u16 flags;
>>  #endif
>>         const char *name;
>>         u8 dual_flash;
>>         u8 shift;
>> +       u16 flags;
>>
>>         u32 size;
>>         u32 page_size;
>> --

-- 
Jagan | openedev.


More information about the U-Boot mailing list