Re: [PATCH v1] gve: Use generic power management
From: Harshitha Ramamurthy
Date: Tue May 05 2026 - 13:29:25 EST
On Mon, May 4, 2026 at 11:21 AM Vaibhav Gupta <vaibhavgupta40@xxxxxxxxx> wrote:
>
> Switch to the generic power management and remove the usage of legacy
> (pci_driver) hooks.
>
> Signed-off-by: Vaibhav Gupta <vaibhavgupta40@xxxxxxxxx>
> ---
> drivers/net/ethernet/google/gve/gve_main.c | 15 +++++++--------
> 1 file changed, 7 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/net/ethernet/google/gve/gve_main.c b/drivers/net/ethernet/google/gve/gve_main.c
> index 424d973c97f2..b7bac6bf89e2 100644
> --- a/drivers/net/ethernet/google/gve/gve_main.c
> +++ b/drivers/net/ethernet/google/gve/gve_main.c
> @@ -2967,9 +2967,9 @@ static void gve_shutdown(struct pci_dev *pdev)
> rtnl_unlock();
> }
>
> -#ifdef CONFIG_PM
> -static int gve_suspend(struct pci_dev *pdev, pm_message_t state)
> +static int gve_suspend(struct device *dev)
> {
> + struct pci_dev *pdev = to_pci_dev(dev);
> struct net_device *netdev = pci_get_drvdata(pdev);
> struct gve_priv *priv = netdev_priv(netdev);
> bool was_up = netif_running(priv->dev);
> @@ -2990,8 +2990,9 @@ static int gve_suspend(struct pci_dev *pdev, pm_message_t state)
> return 0;
> }
>
> -static int gve_resume(struct pci_dev *pdev)
> +static int gve_resume(struct device *dev)
> {
> + struct pci_dev *pdev = to_pci_dev(dev);
> struct net_device *netdev = pci_get_drvdata(pdev);
> struct gve_priv *priv = netdev_priv(netdev);
> int err;
> @@ -3004,7 +3005,8 @@ static int gve_resume(struct pci_dev *pdev)
> rtnl_unlock();
> return err;
> }
> -#endif /* CONFIG_PM */
> +
> +static DEFINE_SIMPLE_DEV_PM_OPS(gve_pm_ops, gve_suspend, gve_resume);
>
> static const struct pci_device_id gve_id_table[] = {
> { PCI_DEVICE(PCI_VENDOR_ID_GOOGLE, PCI_DEV_ID_GVNIC) },
> @@ -3017,10 +3019,7 @@ static struct pci_driver gve_driver = {
> .probe = gve_probe,
> .remove = gve_remove,
> .shutdown = gve_shutdown,
> -#ifdef CONFIG_PM
> - .suspend = gve_suspend,
> - .resume = gve_resume,
> -#endif
> + .driver.pm = &gve_pm_ops,
Thanks for the patch! A minor suggestion: could you wrap this in pm_sleep_ptr()?
Also, please include the net-next prefix in the subject line when posting v2.
With those changes, feel free to add:
Reviewed-by: Harshitha Ramamurthy <hramamurthy@xxxxxxxxxx>
Thanks,
Harshitha
> };
>
> module_pci_driver(gve_driver);
> --
> 2.53.0
>