[+cc linux-pci] On Thu, Apr 02, 2020 at 11:23:27PM +0300, Andy Shevchenko wrote: > On Thu, Apr 2, 2020 at 11:16 PM Bjorn Helgaas <helgaas@xxxxxxxxxx> wrote: > > On Thu, Apr 02, 2020 at 09:33:46PM +0300, Andy Shevchenko wrote: > > > On Thu, Apr 2, 2020 at 6:52 PM Vaibhav Gupta <vaibhavgupta40@xxxxxxxxx> wrote: > > > > > > > > Convert the legacy callback .suspend() and .resume() > > > > to the generic ones. > > > > > > Thank you for the patch. > > > > > > Rather then doing this I think the best approach is to unify gpio-pch > > > and gpio-ml-ioh together. > > > Under umbrella of the task, the clean ups like above are highly > > > appreciated. > > > > I'd be all in favor of that, but what Vaibhav is working toward is > > eliminating use of legacy PM in PCI drivers. I think unifying drivers > > is really out of scope for that project. > > > > If you'd rather leave gpio-ml-ioh.c alone for now, I suggest that > > Vaibhav move on to other PCI drivers that use legacy PM. If we > > convert all the others away from legacy PM and gpio-ml-ioh.c is the > > only one remaining, then I guess we can revisit this :) > > Then skip this driver for good. > > > Or, maybe converting gpio-ml-ioh.c now, along the lines of > > 226e6b866d74 ("gpio: pch: Convert to dev_pm_ops"), would be one small > > step towards the eventual unification, by making gpio-pch and > > gpio-ml-ioh a little more similar. > > I think it will delay the real work here (very old code motivates > better to get rid of it then semi-fixed one). With respect, I think it is unreasonable to use the fact that gpio-ml-ioh and gpio-pch should be unified to hold up the conversion of gpio-ml-ioh to generic power management. I do not want to skip gpio-ml-ioh for good, because it is one of the few remaining drivers that use the legacy PCI PM interfaces. We are very close to being able to remove a significant amount of ugly code from the PCI core. gpio-ml-ioh and gpio-pch do look quite similar, and no doubt it would be great to unify them. But without datasheets or hardware to test, that's not a trivial task, and I don't think that burden should fall on anyone who wants to make any improvements to these drivers. Another alternative would be to remove legacy PCI PM usage (ioh_gpio_suspend() and ioh_gpio_resume()) from gpio-ml-ioh. That would mean gpio-ml-ioh wouldn't support power management at all, which isn't a good thing, but maybe it would be even more motivation to unify it with gpio-pch (which has already been converted by 226e6b866d74 ("gpio: pch: Convert to dev_pm_ops"))? Bjorn