Message ID | 20241001-uboot-topic-dfu-sf-dt-v2-1-67f7acfa3ff5@linaro.org |
---|---|
State | Accepted |
Commit | 0872ac098a400632f02ae442dde65d77cc7eb1cb |
Headers | show |
Series | dfu: sf: fix flash probe when DM_SPI_FLASH is enabled | expand |
Hi Neil, Thank you for the patch. On mar., oct. 01, 2024 at 18:06, Neil Armstrong <neil.armstrong@linaro.org> wrote: > To smoothly handle the transition from the legacy SPI FLASH > API to the the driver model API, add the DM functions > as dummy inline functions. > > Today, client code uses #if/#else conditionals, but it's better > to use if(IS_ENABLED()) to make sure all code builds fine > and avoid configuration hell, leaving the compiler remove > the dead code. > > An example is cmd/sf, which could make use of those dummy > functions to drop the conditional compilation. > > Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> > --- > include/spi_flash.h | 34 ++++++++++++++++++++++++++++++++++ > 1 file changed, 34 insertions(+) > > diff --git a/include/spi_flash.h b/include/spi_flash.h > index 10d19fd4b11..2e703e85250 100644 > --- a/include/spi_flash.h > +++ b/include/spi_flash.h > @@ -139,6 +139,40 @@ int sandbox_sf_bind_emul(struct sandbox_state *state, int busnum, int cs, > void sandbox_sf_unbind_emul(struct sandbox_state *state, int busnum, int cs); > > #else > +/* Compatibility functions for when DM_SPI_FLASH is disabled */ > +static inline int spi_flash_probe_bus_cs(unsigned int busnum, unsigned int cs, > + struct udevice **devp) > +{ > + return -ENODEV; > +} > + > +static inline int spi_flash_read_dm(struct udevice *dev, u32 offset, size_t len, > + void *buf) > +{ > + return -ENODEV; > +} > + > +static inline int spi_flash_write_dm(struct udevice *dev, u32 offset, size_t len, > + const void *buf) > +{ > + return -ENODEV; > +} > + > +static inline int spi_flash_erase_dm(struct udevice *dev, u32 offset, size_t len) > +{ > + return -ENODEV; > +} > + > +static inline int spl_flash_get_sw_write_prot(struct udevice *dev) > +{ > + return -ENODEV; > +} > + > +static inline int spi_flash_std_probe(struct udevice *dev) > +{ > + return -ENODEV; > +} > + > struct spi_flash *spi_flash_probe(unsigned int bus, unsigned int cs, > unsigned int max_hz, unsigned int spi_mode); > > > -- > 2.34.1
Hi Jagan, Vignesh, On mar., oct. 01, 2024 at 18:06, Neil Armstrong <neil.armstrong@linaro.org> wrote: > To smoothly handle the transition from the legacy SPI FLASH > API to the the driver model API, add the DM functions > as dummy inline functions. > > Today, client code uses #if/#else conditionals, but it's better > to use if(IS_ENABLED()) to make sure all code builds fine > and avoid configuration hell, leaving the compiler remove > the dead code. > > An example is cmd/sf, which could make use of those dummy > functions to drop the conditional compilation. > > Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> I'd like to submit this through u-boot-dfu but before that i'd prefer to have an Acked-by from one of you. Any opinion on this ? Thank you for your time! > --- > include/spi_flash.h | 34 ++++++++++++++++++++++++++++++++++ > 1 file changed, 34 insertions(+) > > diff --git a/include/spi_flash.h b/include/spi_flash.h > index 10d19fd4b11..2e703e85250 100644 > --- a/include/spi_flash.h > +++ b/include/spi_flash.h > @@ -139,6 +139,40 @@ int sandbox_sf_bind_emul(struct sandbox_state *state, int busnum, int cs, > void sandbox_sf_unbind_emul(struct sandbox_state *state, int busnum, int cs); > > #else > +/* Compatibility functions for when DM_SPI_FLASH is disabled */ > +static inline int spi_flash_probe_bus_cs(unsigned int busnum, unsigned int cs, > + struct udevice **devp) > +{ > + return -ENODEV; > +} > + > +static inline int spi_flash_read_dm(struct udevice *dev, u32 offset, size_t len, > + void *buf) > +{ > + return -ENODEV; > +} > + > +static inline int spi_flash_write_dm(struct udevice *dev, u32 offset, size_t len, > + const void *buf) > +{ > + return -ENODEV; > +} > + > +static inline int spi_flash_erase_dm(struct udevice *dev, u32 offset, size_t len) > +{ > + return -ENODEV; > +} > + > +static inline int spl_flash_get_sw_write_prot(struct udevice *dev) > +{ > + return -ENODEV; > +} > + > +static inline int spi_flash_std_probe(struct udevice *dev) > +{ > + return -ENODEV; > +} > + > struct spi_flash *spi_flash_probe(unsigned int bus, unsigned int cs, > unsigned int max_hz, unsigned int spi_mode); > > > -- > 2.34.1
diff --git a/include/spi_flash.h b/include/spi_flash.h index 10d19fd4b11..2e703e85250 100644 --- a/include/spi_flash.h +++ b/include/spi_flash.h @@ -139,6 +139,40 @@ int sandbox_sf_bind_emul(struct sandbox_state *state, int busnum, int cs, void sandbox_sf_unbind_emul(struct sandbox_state *state, int busnum, int cs); #else +/* Compatibility functions for when DM_SPI_FLASH is disabled */ +static inline int spi_flash_probe_bus_cs(unsigned int busnum, unsigned int cs, + struct udevice **devp) +{ + return -ENODEV; +} + +static inline int spi_flash_read_dm(struct udevice *dev, u32 offset, size_t len, + void *buf) +{ + return -ENODEV; +} + +static inline int spi_flash_write_dm(struct udevice *dev, u32 offset, size_t len, + const void *buf) +{ + return -ENODEV; +} + +static inline int spi_flash_erase_dm(struct udevice *dev, u32 offset, size_t len) +{ + return -ENODEV; +} + +static inline int spl_flash_get_sw_write_prot(struct udevice *dev) +{ + return -ENODEV; +} + +static inline int spi_flash_std_probe(struct udevice *dev) +{ + return -ENODEV; +} + struct spi_flash *spi_flash_probe(unsigned int bus, unsigned int cs, unsigned int max_hz, unsigned int spi_mode);
To smoothly handle the transition from the legacy SPI FLASH API to the the driver model API, add the DM functions as dummy inline functions. Today, client code uses #if/#else conditionals, but it's better to use if(IS_ENABLED()) to make sure all code builds fine and avoid configuration hell, leaving the compiler remove the dead code. An example is cmd/sf, which could make use of those dummy functions to drop the conditional compilation. Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> --- include/spi_flash.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+)