Message ID | 20240325222951.1460656-4-helgaas@kernel.org (mailing list archive) |
---|---|
State | Awaiting Upstream |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net/e1000e, igb, igc: Remove redundant runtime resume | expand |
On Mon, Mar 25, 2024 at 05:29:51PM -0500, Bjorn Helgaas wrote: > From: Bjorn Helgaas <bhelgaas@google.com> > > 8c5ad0dae93c ("igc: Add ethtool support") added ethtool_ops.begin() and > .complete(), which used pm_runtime_get_sync() to resume suspended devices > before any ethtool_ops callback and allow suspend after it completed. > > Subsequently, f32a21376573 ("ethtool: runtime-resume netdev parent before > ethtool ioctl ops") added pm_runtime_get_sync() in the dev_ethtool() path, > so the device is resumed before any ethtool_ops callback even if the driver > didn't supply a .begin() callback. > > Remove the .begin() and .complete() callbacks, which are now redundant > because dev_ethtool() already resumes the device. > > Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Simon Horman <horms@kernel.org>
On 3/26/2024 00:29, Bjorn Helgaas wrote: > From: Bjorn Helgaas <bhelgaas@google.com> > > 8c5ad0dae93c ("igc: Add ethtool support") added ethtool_ops.begin() and > .complete(), which used pm_runtime_get_sync() to resume suspended devices > before any ethtool_ops callback and allow suspend after it completed. > > Subsequently, f32a21376573 ("ethtool: runtime-resume netdev parent before > ethtool ioctl ops") added pm_runtime_get_sync() in the dev_ethtool() path, > so the device is resumed before any ethtool_ops callback even if the driver > didn't supply a .begin() callback. > > Remove the .begin() and .complete() callbacks, which are now redundant > because dev_ethtool() already resumes the device. > > Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> > --- > drivers/net/ethernet/intel/igc/igc_ethtool.c | 17 ----------------- > 1 file changed, 17 deletions(-) Tested-by: Naama Meir <naamax.meir@linux.intel.com>
diff --git a/drivers/net/ethernet/intel/igc/igc_ethtool.c b/drivers/net/ethernet/intel/igc/igc_ethtool.c index 1a64f1ca6ca8..f2c4f1966bb0 100644 --- a/drivers/net/ethernet/intel/igc/igc_ethtool.c +++ b/drivers/net/ethernet/intel/igc/igc_ethtool.c @@ -1711,21 +1711,6 @@ static int igc_ethtool_set_eee(struct net_device *netdev, return 0; } -static int igc_ethtool_begin(struct net_device *netdev) -{ - struct igc_adapter *adapter = netdev_priv(netdev); - - pm_runtime_get_sync(&adapter->pdev->dev); - return 0; -} - -static void igc_ethtool_complete(struct net_device *netdev) -{ - struct igc_adapter *adapter = netdev_priv(netdev); - - pm_runtime_put(&adapter->pdev->dev); -} - static int igc_ethtool_get_link_ksettings(struct net_device *netdev, struct ethtool_link_ksettings *cmd) { @@ -2025,8 +2010,6 @@ static const struct ethtool_ops igc_ethtool_ops = { .set_priv_flags = igc_ethtool_set_priv_flags, .get_eee = igc_ethtool_get_eee, .set_eee = igc_ethtool_set_eee, - .begin = igc_ethtool_begin, - .complete = igc_ethtool_complete, .get_link_ksettings = igc_ethtool_get_link_ksettings, .set_link_ksettings = igc_ethtool_set_link_ksettings, .self_test = igc_ethtool_diag_test,