Apparent conflict between CONFIG_BLK and CONFIG_API
authorfuz@fuz.su <fuz@fuz.su>
Tue, 7 Mar 2017 21:53:17 +0000 (22:53 +0100)
committerTom Rini <trini@konsulko.com>
Sat, 8 Apr 2017 13:26:48 +0000 (09:26 -0400)
commitf2288c5a5b2aa6ce8453725e81ce20361cee854e
treea1023f7d208ff3b4333b3e71d44769d6f3ba3b5e
parent411278b858732ccc12ae48715b3934514c904bd4
Apparent conflict between CONFIG_BLK and CONFIG_API

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:

Yours,
Robert Clausecker
api/api_storage.c