[PATCH] fixup! mtd: spi-nor: enable module in PBL
Sascha Hauer
s.hauer at pengutronix.de
Tue Oct 20 00:39:55 PDT 2026
Building spi-nor.c for PBL breaks the sandbox build: the PBL only
provides get_time_ns() and is_timeout() with CONFIG_PBL_CLOCKSOURCE,
which sandbox only selects with COMPILE_TEST, and sandbox links the PBL
objects with --whole-archive:
undefined reference to `get_time_ns'
undefined reference to `is_timeout'
Use the read_poll_get_time_ns()/read_poll_is_timeout() wrappers from
<linux/iopoll.h>, which fall back to polling without timeout when there
is no PBL clocksource, like read_poll_timeout() already does.
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
drivers/mtd/spi-nor/spi-nor.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
index 1acf124cd0..221fea774f 100644
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -12,6 +12,7 @@
#include <driver.h>
#include <errno.h>
#include <linux/err.h>
+#include <linux/iopoll.h>
#include <linux/sizes.h>
#include <linux/math64.h>
#include <linux/mod_devicetable.h>
@@ -371,12 +372,12 @@ static int spi_nor_ready(struct spi_nor *nor)
static int spi_nor_wait_till_ready_with_timeout(struct spi_nor *nor,
uint64_t timeout_ns)
{
- uint64_t start = get_time_ns();
+ uint64_t start = read_poll_get_time_ns();
int timeout = 0;
int ret;
while (!timeout) {
- if (is_timeout(start, timeout_ns))
+ if (read_poll_is_timeout(start, timeout_ns))
timeout = 1;
ret = spi_nor_ready(nor);
--
2.47.3
More information about the barebox
mailing list