[PATCH v7 09/10] um: Add dummy implementation for IO memcpy/memset
Julian Vetter
jvetter at kalrayinc.com
Mon Oct 7 00:49:00 PDT 2024
On 10/1/24 14:53, Johannes Berg wrote:
> On Mon, 2024-09-30 at 15:23 +0200, Julian Vetter wrote:
>> 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?
>
No, I think you're understanding the series correctly. It doesn't work.
I will revert this.
> You're adding these inlines unconditionally, so if this included
> 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).
>
Thanks. 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.
> I think Arnd also said that other architectures might want to use
> logic_iomem, though I don't see any now.
>
> johannes
>
>
>
>
More information about the linux-um
mailing list