On Fri, Mar 14, 2025 at 01:57:35PM +0000, Lee Jones wrote: > On Fri, 14 Mar 2025, Andy Shevchenko wrote: > > On Fri, Mar 14, 2025 at 12:44:50PM +0000, Lee Jones wrote: > > > On Fri, 07 Mar 2025, Raag Jadav wrote: ... > > > > + ret = pci_alloc_irq_vectors(pci, 2, 2, PCI_IRQ_ALL_TYPES); > > > > + if (ret < 0) > > > > + return ret; > > > > + > > > > + ret = mfd_add_devices(&pci->dev, PLATFORM_DEVID_AUTO, ehl_pse_gpio_devs, > > > > > > dev_*? > > > > devm_* ? > > Yes, typo. > > > > > + ARRAY_SIZE(ehl_pse_gpio_devs), pci_resource_n(pci, 0), > > > > + pci_irq_vector(pci, 0), NULL); > > > > + if (ret) > > > > + pci_free_irq_vectors(pci); > > > > Anyway, the choice as far as I understood it is motivated by usage of > > pci_*_irq_vector() APIs, which are officially not manageable (however > > in practice they are). > > > > > > + return ret; > > > > +} > > > > + > > > > +static void ehl_pse_gpio_remove(struct pci_dev *pdev) > > > > +{ > > > > + mfd_remove_devices(&pdev->dev); > > > > + pci_free_irq_vectors(pdev); > > > > +} > > > > Same here. > > Also, Greg has been quite vocal about converting PCI devices to Platform > ones in the past. We may wish to run this past him before continuing. What do you refer to? Any links to read? -- With Best Regards, Andy Shevchenko