On Fri, Aug 17, 2018 at 12:23 PM Simon Goldschmidt <simon.k.r.goldschm...@gmail.com> wrote: > > The table of spi flash chips 'spi_flash_ids' currently > includes chip names. The only usage of these is to > print the name when the chip is probed. > > Since this message is not shown in SPL, we can remove > the names from the SPL binary. > > Removing the chip names saves ~890 Byte from the SPL > binary in my configuration (socfpga_socrates_defconfig, > MACRONIX, SPANSION and STMICRO enabled). > > Signed-off-by: Simon Goldschmidt <simon.k.r.goldschm...@gmail.com> > --- > > drivers/mtd/spi/sf_internal.h | 10 ++ > drivers/mtd/spi/spi_flash.c | 7 +- > drivers/mtd/spi/spi_flash_ids.c | 270 +++++++++++++++++--------------- > 3 files changed, 156 insertions(+), 131 deletions(-) > > diff --git a/drivers/mtd/spi/sf_internal.h b/drivers/mtd/spi/sf_internal.h > index 4f63cacc64..e5f91ca952 100644 > --- a/drivers/mtd/spi/sf_internal.h > +++ b/drivers/mtd/spi/sf_internal.h > @@ -113,9 +113,18 @@ int sst_write_bp(struct spi_flash *flash, u32 offset, > size_t len, > #define JEDEC_EXT(info) (((info)->id[3]) << 8 | > ((info)->id[4])) > #define SPI_FLASH_MAX_ID_LEN 6 > > +/* Exclude chip names for SPL to save space */ > +#ifdef CONFIG_SPL_BUILD > +#define SPI_FLASH_INCLUDE_NAME 0 > +#else > +#define SPI_FLASH_INCLUDE_NAME 1
No need for extra macro, define macros wherever needed and expand SPL and non-SPL? > +#endif > + > struct spi_flash_info { > +#if SPI_FLASH_INCLUDE_NAME > /* Device name ([MANUFLETTER][DEVTYPE][DENSITY][EXTRAINFO]) */ > const char *name; > +#endif > > /* > * This array stores the ID bytes. > @@ -147,6 +156,7 @@ struct spi_flash_info { > }; > [snip] > {}, /* Empty entry to terminate the list */ > /* > @@ -205,3 +213,5 @@ const struct spi_flash_info spi_flash_ids[] = { > * (w25q256fw, w25q256fv_qpi) > */ > }; > + > +const size_t spi_flash_ids_size = ARRAY_SIZE(spi_flash_ids); Check array size directly in for loop. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot