Messages in this thread | | | Subject | Re: [PATCH v1 2/6] [media] cx23885: use generic power management | From | Hans Verkuil <> | Date | Mon, 13 Jul 2020 12:01:51 +0200 |
| |
On 29/06/2020 09:36, Vaibhav Gupta wrote: > The .suspend() and .resume() callbacks are not defined for this driver. > Still, their power managemgement stucture can be easily upgraded to
management structure
> gemeric, without affecting its normal behaviour.
generic
> > Hence, define them NULL and use struct dev_pm_ops type to bind them. > > Compile-tested only. > > Signed-off-by: Vaibhav Gupta <vaibhavgupta40@gmail.com> > --- > drivers/media/pci/cx23885/cx23885-core.c | 16 ++++++++++------ > 1 file changed, 10 insertions(+), 6 deletions(-) > > diff --git a/drivers/media/pci/cx23885/cx23885-core.c b/drivers/media/pci/cx23885/cx23885-core.c > index 7e0b0b7cc2a3..da9ee7270dfd 100644 > --- a/drivers/media/pci/cx23885/cx23885-core.c > +++ b/drivers/media/pci/cx23885/cx23885-core.c > @@ -2230,14 +2230,18 @@ static const struct pci_device_id cx23885_pci_tbl[] = { > }; > MODULE_DEVICE_TABLE(pci, cx23885_pci_tbl); > > +#define cx23885_suspend NULL > +#define cx23885_resume NULL > + > +static SIMPLE_DEV_PM_OPS(cx23885_pm_ops, cx23885_suspend, cx23885_resume); > + > static struct pci_driver cx23885_pci_driver = { > - .name = "cx23885", > - .id_table = cx23885_pci_tbl, > - .probe = cx23885_initdev, > - .remove = cx23885_finidev, > + .name = "cx23885", > + .id_table = cx23885_pci_tbl, > + .probe = cx23885_initdev, > + .remove = cx23885_finidev, > /* TODO */ > - .suspend = NULL, > - .resume = NULL, > + .driver.pm = &cx23885_pm_ops,
I don't entirely understand this. Wouldn't it be sufficient to just drop the .suspend/.resume assignments here? It is now required for driver.pm to be non-NULL?
I'm not up to speed on the changes, but normally you can leave things NULL if you don't support a feature (PM in this case).
Regards,
Hans
> }; > > static int __init cx23885_init(void) >
| |