Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> writes: > On Tue, May 07, 2019 at 02:22:18PM +0200, Esben Haabendal wrote: >> Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> writes: >> > On Tue, May 07, 2019 at 01:35:58PM +0200, Esben Haabendal wrote: >> >> Lee Jones <lee.jones@xxxxxxxxxx> writes: >> >> > On Thu, 02 May 2019, Esben Haabendal wrote: >> >> > >> >> >> Could you help clarify whether or not this patch is trying to do >> >> >> something odd/wrong? >> >> >> >> >> >> I might be misunderstanding Andy (probably is), but the discussion >> >> >> revolves around the changes I propose where I change the serial8250 >> >> >> driver to use platform_get_resource() in favour of >> >> >> request_mem_region()/release_mem_region(). >> >> > >> >> > Since 'serial8250' is registered as a platform device, I don't see any >> >> > reason why it shouldn't have the capability to obtain its memory >> >> > regions from the platform_get_*() helpers. >> >> >> >> Good to hear. That is exactly what I am trying do with this patch. >> >> >> >> @Andy: If you still don't like my approach, could you please advice an >> >> acceptable method for improving the serial8250 driver to allow the use >> >> of platform_get_*() helpers? >> > >> > I still don't get why you need this. >> >> Because platform_get_resource() is a generally available and useful >> helper function for working with platform_device resources, that the >> current standard serial8250 driver does not support. >> >> I am uncertain if I still haven't convinced you that current serial8250 >> driver does not work with platform_get_resource(), or if you believe >> that it really should not support it. > > I believe there is no need to do this support. > > Most of the platform code that uses it is quite legacy, and all under arch/ > ideally should be converted to use Device Tree. 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") This is basically what I am trying to do. I am just so unfortunate that the serial devices I have are completely generic, so it does not make sense for me to create a specialized 8250 driver. Look at how the serial8250_ioc3_driver uses platform_get_resource() to get the register memory, and how that works together with mfd_add_devices() in the mfd driver. Nice and elegant. Standard recommended approach for an mfd driver. /Esben