On Tue, May 14, 2019 at 10:24 AM Esben Haabendal <esben@xxxxxxxxxxxx> wrote: > Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> writes: > > On Tue, May 07, 2019 at 02:22:18PM +0200, Esben Haabendal wrote: > We are on repeat here. I don't agree with you here. I have a simple > generic 8250 (16550A) compatible device, and cannot use it in a mfd > driver using the standard mfd-core framework. > The lacking of support for platform_get_resource() in the generic > serial8250 driver is not a feature. It should be supported, just as it > is in several of the specialized 8250 drivers. We are going circles here. What exactly prevents you to use it? Presence of request_mem_region()? > It would still mean that I would have revert to not using convenient and > otherwise fully appropriate API calls like pci_request_regions() and > mfd_add_devices(). Yes, here is the issue. 8250 requires the parent not to *request* resources. Because child handles IO access itself. > The mfd driver in question is for a PCI device. Not being able to > request the PCI regions seems silly. Nope. Otherwise, the parent which *doesn't handle* IO on behalf of child should not request its resources. > Not being able to register all child devices with the call introduced > for that sole purpose also seems silly. > Please take a look at https://lkml.org/lkml/2019/4/9/576 > ("[PATCH v2 2/4] mfd: ioc3: Add driver for SGI IOC3 chip") Thank you for this link. Now, look at this comment: + /* + * Map all IOC3 registers. These are shared between subdevices + * so the main IOC3 module manages them. + */ Is it your case? Can we see the code? -- With Best Regards, Andy Shevchenko