On Mon, 2024-09-30 at 15:23 +0200, Julian Vetter wrote:No, I think you're understanding the series correctly. It doesn't work. I will revert this.
The um arch is the only architecture that sets the config 'NO_IOMEM',
yet drivers that use IO memory can be selected. In order to make these
drivers happy we add a dummy implementation for memcpy_{from,to}io and
memset_io functions.
Maybe I'm just not understanding this series, but how does this work
with lib/logic_iomem.c?
You're adding these inlines unconditionally, so if this includedThanks. You're right. I added this patch because there was a build robot on some mailinglist building a random config with 'ARCH=um' and with some MTD drivers that actually use memcpy_fromio or memcpy_toio. These drivers are not guarded by a 'depends on HAS_IOMEM'. I thought I could simply fix it by adding stub functions to the um arch. Because I saw there are A LOT of drivers that use IO functions without being guarded by 'depends on HAS_IOMEM'. Not sure though, how to handle this case.
logic_io.h, you should get symbol conflicts?
Also not sure these functions should/need to do anything at all, there's
no IO memory on ARCH=um in case of not having logic_io.h. Maybe even
BUG_ON() or something? It can't be reachable (under correct drivers)
since ioremap() always returns NULL (without logic_iomem).
I think Arnd also said that other architectures might want to use
logic_iomem, though I don't see any now.
johannes