[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