[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c4a46846-208f-c834-56d7-02543c395795@xs4all.nl>
Date: Mon, 13 Jul 2020 12:01:51 +0200
From: Hans Verkuil <hverkuil@...all.nl>
To: Vaibhav Gupta <vaibhavgupta40@...il.com>,
Bjorn Helgaas <helgaas@...nel.org>,
Bjorn Helgaas <bhelgaas@...gle.com>, bjorn@...gaas.com,
Vaibhav Gupta <vaibhav.varodek@...il.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>
Cc: linux-kernel@...r.kernel.org, linux-media@...r.kernel.org,
linux-kernel-mentees@...ts.linuxfoundation.org,
skhan@...uxfoundation.org
Subject: Re: [PATCH v1 2/6] [media] cx23885: use generic power management
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@...il.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)
>
Powered by blists - more mailing lists