Re: [PATCH v2 1/6] gpio: exar: Fix passing in of parent PCI device
From: Linus Walleij
Date: Mon May 22 2017 - 11:46:12 EST
On Sun, May 21, 2017 at 1:44 PM, Jan Kiszka <jan.kiszka@xxxxxxxxxxx> wrote:
> 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.
Actually I am pretty much OK with either, there are gray areas in
the device model and so it has to be sometimes.
I'd just like Greg's ACK on this so I can merge the whole series
through the GPIO tree.
Incidentally, he is the device model maintainer so he might have
some comments. Or be as tolerant as me. I don't know.
Greg?
Yours,
Linus Walleij