lib/logic_iomem: Fix operation on 32-bit
authorJohannes Berg <johannes.berg@intel.com>
Wed, 15 Sep 2021 18:30:22 +0000 (20:30 +0200)
committerRichard Weinberger <richard@nod.at>
Tue, 21 Dec 2021 20:28:20 +0000 (21:28 +0100)
commit4e8a5edac5010820e7c5303fc96f5a262e096bb6
tree4ae05cd8f52bed3722dcdfe14e8c96993722fd53
parent4e84139e14af5ea60772cc4f33d7059aec76e0eb
lib/logic_iomem: Fix operation on 32-bit

On 32-bit, the first entry might be at 0/NULL, but that's
strange and leads to issues, e.g. where we check "if (ret)".
Use a IOREMAP_BIAS/IOREMAP_MASK of 0x80000000UL to avoid
this. This then requires reducing the number of areas (via
MAX_AREAS), but we still have 128 areas, which is enough.

Fixes: ca2e334232b6 ("lib: add iomem emulation (logic_iomem)")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
lib/logic_iomem.c