On 2017-05-18 19:14, Andy Shevchenko wrote: > On Thu, May 18, 2017 at 5:59 PM, Jan Kiszka <jan.kiszka@xxxxxxxxxxx> wrote: >> This fixes reloading of the GPIO driver for the same platform device >> instance as created by the exar UART driver: First of all, the driver >> sets drvdata to its own value during probing and does not restore the >> original value on exit. But this won't help anyway as the core clears >> drvdata after the driver left. >> >> Use stable platform_data instead. > > Okay, basically what we are trying to do here is to reinvent part of > MFD framework. > > I'd like to hear Linus' and others opinions if it worth to use it instead. > I've looked into MFD modeling, but it would only make sense if we break up the exar driver, change its xr17v35x part into a platform device and create a dual-cell MFD for the PCI device. I don't think that would be beneficial here. There are also dependencies between the UART part and the MPIOs, specifically during init. All that would create a lot of churn to the existing exar code. I'm now passing the parent reference via device.parent instead of using platform data. Jan -- Siemens AG, Corporate Technology, CT RDA ITP SES-DE Corporate Competence Center Embedded Linux -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html