public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] Apparent conflict between CONFIG_BLK and CONFIG_API
@ 2017-03-07 21:53 fuz at fuz.su
  2017-03-13 12:33 ` Simon Glass
  2017-04-09  1:14 ` Tom Rini
  0 siblings, 2 replies; 5+ messages in thread
From: fuz at fuz.su @ 2017-03-07 21:53 UTC (permalink / raw)
  To: u-boot

Good evening,

I am trying to port FreeBSD to the ASUS Tinker Board, a computer based
on the Rockchip 3288 SoC. FreeBSD's boot loader (named loader(8)) needs
CONFIG_API to be enabled, but trying to build an U-Boot from trunk with
both CONFIG_API and CONFIG_BLK (as required for Rockchip SoC's?) leads
to the following build failure:

$ CROSS_COMPILE=arm-none-eabi- gmake tinker-rk3288_defconfig all
...
  CC      api/api_storage.o
api/api_storage.c: In function 'dev_read_stor':
api/api_storage.c:334:9: error: 'struct blk_desc' has no member named 'block_read'
  if ((dd->block_read) == NULL) {
         ^~
api/api_storage.c:339:11: error: 'struct blk_desc' has no member named 'block_read'
  return dd->block_read(dd, start, len, buf);
           ^~
api/api_storage.c:340:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
gmake[2]: *** [scripts/Makefile.build:281: api/api_storage.o] Fehler 1
gmake[1]: *** [Makefile:1229: api] Fehler 2
gmake: *** [Makefile:460: __build_one_by_one] Error 2

I applied the following fix, but the product doesn't boot. Perhaps
that's not a property of the fix though:

diff --git a/api/api_storage.c b/api/api_storage.c
index e80818df1c..815ed1128d 100644
--- a/api/api_storage.c
+++ b/api/api_storage.c
@@ -331,10 +331,14 @@ lbasize_t dev_read_stor(void *cookie, void *buf, lbasize_t len, lbastart_t start
        if (!dev_stor_is_valid(type, dd))
                return 0;
 
+#ifdef CONFIG_BLK
+       return blk_dread(dd, start, len, buf);
+#else
        if ((dd->block_read) == NULL) {
                debugf("no block_read() for device 0x%08x\n", cookie);
                return 0;
        }
 
        return dd->block_read(dd, start, len, buf);
+#endif /* defined(CONFIG_BLK) */
 }

Yours,
Robert Clausecker

-- 
()  ascii ribbon campaign - for an 8-bit clean world 
/\  - against html email  - against proprietary attachments

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-04-09  1:14 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-07 21:53 [U-Boot] Apparent conflict between CONFIG_BLK and CONFIG_API fuz at fuz.su
2017-03-13 12:33 ` Simon Glass
2017-03-13 13:51   ` fuz at fuz.su
2017-03-13 20:46     ` Simon Glass
2017-04-09  1:14 ` Tom Rini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox