Re: A question about the patch: [PATCH] PCI/PM: Keep runtime PM enabled for unbound PCI devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[+cc Rafael, linux-pm]

On Wed, Nov 13, 2013 at 6:09 AM, mike <qiudayu@xxxxxxxxxxxxxxxxxx> wrote:
> Hi Huang Ying,
>
> I see you are the author of this patch, commit id is:
> 967577b062417b4e4b8e27b711220f4124f5153a
>
> I have a question while I try to understand this patch,
> So I would very grateful if you or others can give me some reply.....
>
> ............
> -       rc = ddi->drv->probe(ddi->dev, ddi->id);
> +       pm_runtime_get_sync(dev);
> +       pci_dev->driver = pci_drv;
> ^^^^^^^^^^^^^^^^^^^^^^^^^^
> I see here you make the driver to initialize before probe,
> But I have no idea of why you do this change.....
>
> and I look inside the code, it may be pm_runtime relate??
>
> Thanks
> Mike
> +       rc = pci_drv->probe(pci_dev, ddi->id);
>         if (rc) {
> -               pm_runtime_disable(dev);
> -               pm_runtime_set_suspended(dev);
> -               pm_runtime_put_noidle(dev);
> +               pci_dev->driver = NULL;
> +               pm_runtime_put_sync(dev);
>         }
> -       if (parent)
> -               pm_runtime_put(parent);
>         return rc;
>  }
>
> @@ -330,10 +325,8 @@ __pci_device_probe(struct pci_driver *drv, struct
> pci_dev *pci_dev)
>                 id = pci_match_device(drv, pci_dev);
>                 if (id)
>                         error = pci_call_probe(drv, pci_dev, id);
> -               if (error >= 0) {
> -                       pci_dev->driver = drv;
> +               if (error >= 0)
>                         error = 0;
> -               }
>         }
>         return error;
>  }
> .......................
>
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux