On Tue, Feb 11, 2025, at 11:11, Andy Shevchenko wrote: > On Tue, Feb 11, 2025 at 10:39:16AM +0100, Arnd Bergmann wrote: >> On Tue, Feb 11, 2025, at 10:27, Andy Shevchenko wrote: > >> I don't mind moving that if it helps you, but don't see what >> the problem is here. Is this missing because of a circular >> #include list with linux/device.h including asm/io.h and vice >> versa? If that is the root cause, then I assume there will be >> additional problems either way until the loop can be broken. > > I don't see how. io.h already includes err.h, so whoever includes io.h should > have that as previously. I mean I never understood what problem you are trying to solve exactly. From the log, it appears that the problem is an include loop between linux/device.h, linux/device/devres.h and asm/io.h, and anything that breaks the loop should work. Your suggestion of stopping asm/io.h from including linux/device.h sounds like the most promising here, but this should be possible regardless of whether IOMEM_ERR_PTR() gets moved. Arnd