On Tue, Dec 21, 2021 at 07:38:38PM +0100, Hans de Goede wrote: > Hi, > > On 12/21/21 19:16, David E. Box wrote: > > On Tue, 2021-12-21 at 18:04 +0100, Hans de Goede wrote: > >> Hi, > >> > >> On 12/21/21 17:54, Greg KH wrote: > >>> On Tue, Dec 21, 2021 at 08:44:57AM -0800, David E. Box wrote: > >>>> On Tue, 2021-12-21 at 08:38 +0100, Greg KH wrote: > >>>>> On Wed, Dec 08, 2021 at 01:30:06PM -0800, David E. Box wrote: > >>>>>> On Wed, 2021-12-08 at 20:21 +0100, Greg KH wrote: > >>>>>>> On Wed, Dec 08, 2021 at 11:09:48AM -0800, David E. Box wrote: > >>>>>>>> On Wed, 2021-12-08 at 19:11 +0100, Greg KH wrote: > >>>>>>>>> On Wed, Dec 08, 2021 at 09:47:26AM -0800, David E. Box wrote: > >>>>>>>>>> On Wed, 2021-12-08 at 17:22 +0100, Greg KH wrote: > >>>>>>>>>>> On Tue, Dec 07, 2021 at 05:50:12PM -0800, David E. Box > >>>>>>>>>>> wrote: > >>>>>>>>>>>> +static struct pci_driver intel_vsec_pci_driver = { > >>>>>>>>>>>> + .name = "intel_vsec", > >>>>>>>>>>>> + .id_table = intel_vsec_pci_ids, > >>>>>>>>>>>> + .probe = intel_vsec_pci_probe, > >>>>>>>>>>>> +}; > >>>>>>>>>>> > >>>>>>>>>>> So when the PCI device is removed from the system you leak > >>>>>>>>>>> resources and > >>>>>>>>>>> have dangling devices? > >>>>>>>>>> > >>>>>>>>>> No. > >>>>>>>>>> > >>>>>>>>>>> Why no PCI remove driver callback? > >>>>>>>>>> > >>>>>>>>>> After probe all resources are device managed. There's nothing > >>>>>>>>>> to > >>>>>>>>>> explicitly clean up. When > >>>>>>>>>> the > >>>>>>>>>> PCI > >>>>>>>>>> device is removed, all aux devices are automatically removed. > >>>>>>>>>> This > >>>>>>>>>> is the case for the SDSi > >>>>>>>>>> driver > >>>>>>>>>> as well. > >>>>>>>>> > >>>>>>>>> Where is the "automatic cleanup" happening? As this pci driver > >>>>>>>>> is > >>>>>>>>> bound > >>>>>>>>> to the PCI device, when the device is removed, what is called in > >>>>>>>>> this > >>>>>>>>> driver to remove the resources allocated in the probe callback? > >>>>>>>>> > >>>>>>>>> confused, > >>>>>>>> > >>>>>>>> devm_add_action_or_reset(&pdev->dev, intel_vsec_remove_aux, > >>>>>>>> auxdev) > >>>>>>> > >>>>>>> Wow that is opaque. Why not do it on remove instead? > >>>>>> > >>>>>> This code is common for auxdev cleanup. AFAICT most auxiliary bus code > >>>>>> is > >>>>>> done by drivers that have > >>>>>> some other primary function. They clean up their primary function > >>>>>> resources > >>>>>> in remove, but they > >>>>>> clean up the auxdev using the method above. In this case the sole > >>>>>> purpose of > >>>>>> this driver is to > >>>>>> create the auxdev. There are no other resources beyond what the auxdev > >>>>>> is > >>>>>> using. > >>>>>> > >>>>>> Adding runtime pm to the pci driver will change this. Remove will be > >>>>>> needed > >>>>>> then. > >>>>> > >>>>> And who will notice that being required when that happens? > >>>>> > >>>>> Why is there no runtime PM for this driver? Do you not care about power > >>>>> consumption? :) > >>>> > >>>> Of course. :) > >>>> > >>>> There's a backlog of patches waiting for this series. One adds support for > >>>> the > >>>> telemetry device (an auxdev) on the DG2 GPU. This device requires runtime > >>>> pm in > >>>> order for the slot to go D3. But this also requires changes to the > >>>> telemetry > >>>> driver in order for runtime pm to be handled correctly. These and other > >>>> patches, > >>>> including a series to have all current aux drivers use the new drvdata > >>>> helpers, > >>>> are waiting for this. > >>> > >>> I can take the aux driver drvdata patch now, through my tree, if you > >>> want, no need to make it wait for this tiny driver. > >>> > >>> Feel free to send it independant of the existing patchset, and with the > >>> cleanup patches at the same time, should be quite easy to get merged. > >> > >> If you're going to take that one, can you perhaps take patches > >> 1-3 for 5.17 through your tree as well (patch 3 depends on 2/it) ? > >> > >> Note there is a v4 of this series, see please use that :) > >> > >> I assume the follow up patches are also going to need patch 3 > >> (the actual conversion of the driver to aux-bus). > > > > Yes. > > > >> > >> Here is my Ack for the pdx86 bits in patch 3: > >> > >> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> > >> > >> And patch 1 and 3 also have acks from the PCI resp. MFD subsys maintainers, > >> so I guess taking this all upstream through your tree is fine. > > > > Should I send 1-3 plus the drvdata cleanup patches I have to Grep? V5? > > No there is no need for that v4 is fine, since no changes have been > requested there is no need to send out a new version. I've taken patches 1-3 of this series now, thanks. greg k-h