[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20200802151414.A7508C433CA@smtp.codeaurora.org>
Date: Sun, 2 Aug 2020 15:14:14 +0000 (UTC)
From: Kalle Valo <kvalo@...eaurora.org>
To: Vaibhav Gupta <vaibhavgupta40@...il.com>
Cc: Bjorn Helgaas <helgaas@...nel.org>,
Bjorn Helgaas <bhelgaas@...gle.com>,
Bjorn Helgaas <bjorn@...gaas.com>,
Vaibhav Gupta <vaibhav.varodek@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Stanislaw Gruszka <stf_xl@...pl>,
Helmut Schaa <helmut.schaa@...glemail.com>,
Vaibhav Gupta <vaibhavgupta40@...il.com>,
linux-wireless@...r.kernel.org, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org,
linux-kernel-mentees@...ts.linuxfoundation.org,
Shuah Khan <skhan@...uxfoundation.org>
Subject: Re: [PATCH v1] rt2x00: pci: use generic power management
Vaibhav Gupta <vaibhavgupta40@...il.com> wrote:
> Drivers using legacy PM have to manage PCI states and device's PM states
> themselves. They also need to take care of configuration registers.
>
> With improved and powerful support of generic PM, PCI Core takes care of
> above mentioned, device-independent, jobs.
>
> The callbacks make use of PCI helper functions like
> pci_save/restore_state(), pci_enable/disable_device() and
> pci_set_power_state() to do required operations. In generic mode, they are
> no longer needed.
>
> Change function parameter in both .suspend() and .resume() to
> "struct device*" type. Use dev_get_drvdata() to get drv data.
>
> The .suspend() callback is invoking rt2x00lib_suspend() which needs to be
> modified as generic rt2x00pci_suspend() has no pm_message_t type argument,
> passed to it, which is required by it according to its declaration.
> Although this variable remained unused in the function body. Hence, remove
> it from the function definition & declaration.
>
> rt2x00lib_suspend() is also invoked by rt2x00usb_suspend() and
> rt2x00soc_suspend(). Thus, modify the functional call accordingly in their
> function body.
>
> Earlier, .suspend() & .resume() were exported and were used by the
> following drivers:
> - drivers/net/wireless/ralink/rt2x00/rt2400pci.c
> - drivers/net/wireless/ralink/rt2x00/rt2500pci.c
> - drivers/net/wireless/ralink/rt2x00/rt2800pci.c
> - drivers/net/wireless/ralink/rt2x00/rt61pci.c
>
> Now, we only need to bind "struct dev_pm_ops" variable to
> "struct pci_driver". Thus, make the callbacks static. Declare an
> "extern const struct dev_pm_ops" variable and bind PM callbacks to it. Now,
> export the variable instead and use it in respective drivers.
>
> Compile-tested only.
>
> Signed-off-by: Vaibhav Gupta <vaibhavgupta40@...il.com>
Patch applied to wireless-drivers-next.git, thanks.
560a218d1ce6 rt2x00: pci: use generic power management
--
https://patchwork.kernel.org/patch/11669881/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
Powered by blists - more mailing lists