[PATCH 1/1] disk: honor CONFIG_SYS_64BIT_LBA

Without the patch for qemu-x86_defconfig:
* sizeof(lbaint_t) = 4 in dev_read() * sizeof(lbaint_t) = 8 in blkcache_read()
CONFIG_SYS_64BIT_LBA is defined in common.h via include/configs/x86-common.h:22.
We have to include common.h before including blk.h.
Signed-off-by: Heinrich Schuchardt heinrich.schuchardt@canonical.com --- disk/disk-uclass.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/disk/disk-uclass.c b/disk/disk-uclass.c index 72ff62ebf5..f3fb942a6b 100644 --- a/disk/disk-uclass.c +++ b/disk/disk-uclass.c @@ -8,6 +8,7 @@
#define LOG_CATEGORY UCLASS_PARTITION
+#include <common.h> #include <blk.h> #include <dm.h> #include <log.h>

On Sat, Jul 02, 2022 at 02:20:21PM +0200, Heinrich Schuchardt wrote:
Without the patch for qemu-x86_defconfig:
- sizeof(lbaint_t) = 4 in dev_read()
- sizeof(lbaint_t) = 8 in blkcache_read()
CONFIG_SYS_64BIT_LBA is defined in common.h via include/configs/x86-common.h:22.
We have to include common.h before including blk.h.
Well, if so, why not include common.h (or config.h?) in blk.h since lbaint_t is defined in blk.h which directly depends on some CONFIG_*? (This fact is not trivial to developers.)
Otherwise, the same issue arises somewhere else again.
Thanks, -Takahiro Akashi
Signed-off-by: Heinrich Schuchardt heinrich.schuchardt@canonical.com
disk/disk-uclass.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/disk/disk-uclass.c b/disk/disk-uclass.c index 72ff62ebf5..f3fb942a6b 100644 --- a/disk/disk-uclass.c +++ b/disk/disk-uclass.c @@ -8,6 +8,7 @@
#define LOG_CATEGORY UCLASS_PARTITION
+#include <common.h> #include <blk.h> #include <dm.h>
#include <log.h>
2.36.1

On Mon, Jul 04, 2022 at 09:30:24AM +0900, AKASHI Takahiro wrote:
On Sat, Jul 02, 2022 at 02:20:21PM +0200, Heinrich Schuchardt wrote:
Without the patch for qemu-x86_defconfig:
- sizeof(lbaint_t) = 4 in dev_read()
- sizeof(lbaint_t) = 8 in blkcache_read()
CONFIG_SYS_64BIT_LBA is defined in common.h via include/configs/x86-common.h:22.
We have to include common.h before including blk.h.
Well, if so, why not include common.h (or config.h?) in blk.h since lbaint_t is defined in blk.h which directly depends on some CONFIG_*? (This fact is not trivial to developers.)
Otherwise, the same issue arises somewhere else again.
The complete solution, as found in -next, is to migrate to Kconfig. This is a stop-gap for the release.
participants (3)
-
AKASHI Takahiro
-
Heinrich Schuchardt
-
Tom Rini