On Tue, Feb 11, 2025 at 02:10:51PM +0200, Andy Shevchenko wrote: > On Tue, Feb 11, 2025 at 12:56:11PM +0100, Arnd Bergmann wrote: > > On Tue, Feb 11, 2025, at 12:37, Andy Shevchenko wrote: > > > > > > The problem this series solves at the beginning is that not all the consumers > > > of device.h needs it, in many cases the device/devres.h (or subset of > > > device/*.h) is enough to include. While solving this, it appears that > > > the current code uses ERR_PTR() instead of IOMEM_ERR_PTR() in devm_*io*() APIs > > > and kernel test robot found this and complained about. While solving > > > this new issue, LKP found another issue that is circular dependency. > > > But the original code only wants to have an access to IOMEM_ERR_PTR() which > > > is in io.h and can be moved to err.h AFAICS. Does this sound reasonable? > > > > Yes, that sounds fine to me. I agree that not including linux/io.h > > from device/devres.h is a good idea, same as no longer including > > linux/device.h from asm/io.h. Moving IOMEM_ERR_PTR() as you > > describe is the right idea. > > Thank you for confirming the idea. Raag, please follow as suggested: > > Move IOMEM_ERR_PTR() to err.h (perhaps in a separate patch), > and drop io.h from devres.h as it will be not needed. Sure, and perhaps drop a few patches to reduce spam while we sort this out. Raag