Hi,
On 12/04/2019 15:09, Simon Glass wrote: > Hi, > > On Thu, 11 Apr 2019 at 09:12, Neil Armstrong <narmstr...@baylibre.com> wrote: >> >> When fixing sandbox test for regmap_read_poll_timeout(), the >> sandbox_timer_add_offset was introduced but only defined in sandbox code >> thus generating warnings when used out of sandbox : >> >> include/regmap.h:289:2: note: in expansion of macro >> 'regmap_read_poll_timeout_test' >> regmap_read_poll_timeout_test(map, addr, val, cond, sleep_us, \ >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/spi/meson_spifc.c:169:8: note: in expansion of macro >> 'regmap_read_poll_timeout' >> ret = regmap_read_poll_timeout(spifc->regmap, REG_SLAVE, data, >> ^~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/spi/meson_spifc.c: In function 'meson_spifc_txrx': >> include/regmap.h:277:4: warning: implicit declaration of function >> 'sandbox_timer_add_offset' [-Wimplicit-function-declaration] >> >> This simply adds an empty static inline sandbox_timer_add_offset() >> implementation that will be dropped by the compiler optimization routines. >> >> Cc: Simon Glass <s...@chromium.org> >> Reported-by: Tom Rini <tr...@konsulko.com> >> Fixes: df9cf1cc08 ("test: dm: regmap: Fix the long test delay") >> Signed-off-by: Neil Armstrong <narmstr...@baylibre.com> >> --- >> include/regmap.h | 4 ++++ >> 1 file changed, 4 insertions(+) >> > > This is OK with me, but I wonder if it would be better to change the code: > > if (IS_ENABLED(CONFIG_SANDBOX) && test_add_time) \ > sandbox_timer_add_offset(test_add_time); \ > > to something like > > do_test_add_time(test_add_time); > > where do_test_add_time() is defined above as either a sandbox call, or empty? > > The reason I say this is it seems a bit weird to define a function > called sandbox_... in non-sandbox code. Yes, but it still seems weird to have empty test code defined in this header. Can't we use sandbox_state->skip_delays here instead ? Neil > >> diff --git a/include/regmap.h b/include/regmap.h >> index 8359c511d2..144cffbcc0 100644 >> --- a/include/regmap.h >> +++ b/include/regmap.h >> @@ -239,6 +239,10 @@ int regmap_raw_read_range(struct regmap *map, uint >> range_num, uint offset, >> #define regmap_get(map, type, member, valp) \ >> regmap_range_get(map, 0, type, member, valp) >> >> +#ifndef CONFIG_SANDBOX >> +static inline void sandbox_timer_add_offset(unsigned long offset) { } >> +#endif >> + >> /** >> * regmap_read_poll_timeout - Poll until a condition is met or a timeout >> occurs >> * >> -- >> 2.21.0 >> > > Regards, > Simon > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot