Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7dbe38ae authored by Paul Burton's avatar Paul Burton Committed by David S. Miller
Browse files

net: pch_gbe: Remove reset_phy HAL abstraction



For some reason the pch_gbe driver contains a struct pch_gbe_functions
with pointers used by a HAL abstraction layer, even though there is only
one implementation of each function.

This patch removes the reset_phy abstraction in favor of calling
pch_gbe_phy_hw_reset directly.

Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 66dde2b0
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -334,14 +334,12 @@ struct pch_gbe_hw;
 * @init_hw:		for pch_gbe_hal_init_hw
 * @read_phy_reg:	for pch_gbe_hal_read_phy_reg
 * @write_phy_reg:	for pch_gbe_hal_write_phy_reg
 * @reset_phy:		for pch_gbe_hal_phy_hw_reset
 */
struct pch_gbe_functions {
	void (*get_bus_info) (struct pch_gbe_hw *);
	s32 (*init_hw) (struct pch_gbe_hw *);
	s32 (*read_phy_reg) (struct pch_gbe_hw *, u32, u16 *);
	s32 (*write_phy_reg) (struct pch_gbe_hw *, u32, u16);
	void (*reset_phy) (struct pch_gbe_hw *);
};

/**
+0 −16
Original line number Diff line number Diff line
@@ -88,7 +88,6 @@ static const struct pch_gbe_functions pch_gbe_ops = {
	.init_hw           = pch_gbe_plat_init_hw,
	.read_phy_reg      = pch_gbe_phy_read_reg_miic,
	.write_phy_reg     = pch_gbe_phy_write_reg_miic,
	.reset_phy         = pch_gbe_phy_hw_reset,
};

/**
@@ -188,18 +187,3 @@ s32 pch_gbe_hal_write_phy_reg(struct pch_gbe_hw *hw, u32 offset,
		return 0;
	return hw->func->write_phy_reg(hw, offset, data);
}

/**
 * pch_gbe_hal_phy_hw_reset - Hard PHY reset
 * @hw:	    Pointer to the HW structure
 */
void pch_gbe_hal_phy_hw_reset(struct pch_gbe_hw *hw)
{
	if (!hw->func->reset_phy) {
		struct pch_gbe_adapter *adapter = pch_gbe_hw_to_adapter(hw);

		netdev_err(adapter->netdev, "ERROR: configuration\n");
		return;
	}
	hw->func->reset_phy(hw);
}
+0 −1
Original line number Diff line number Diff line
@@ -26,6 +26,5 @@ void pch_gbe_hal_get_bus_info(struct pch_gbe_hw *hw);
s32 pch_gbe_hal_init_hw(struct pch_gbe_hw *hw);
s32 pch_gbe_hal_read_phy_reg(struct pch_gbe_hw *hw, u32 offset, u16 *data);
s32 pch_gbe_hal_write_phy_reg(struct pch_gbe_hw *hw, u32 offset, u16 data);
void pch_gbe_hal_phy_hw_reset(struct pch_gbe_hw *hw);

#endif
+2 −2
Original line number Diff line number Diff line
@@ -2538,7 +2538,7 @@ static void pch_gbe_remove(struct pci_dev *pdev)
	cancel_work_sync(&adapter->reset_task);
	unregister_netdev(netdev);

	pch_gbe_hal_phy_hw_reset(&adapter->hw);
	pch_gbe_phy_hw_reset(&adapter->hw);

	free_netdev(netdev);
}
@@ -2674,7 +2674,7 @@ static int pch_gbe_probe(struct pci_dev *pdev,
	return 0;

err_free_adapter:
	pch_gbe_hal_phy_hw_reset(&adapter->hw);
	pch_gbe_phy_hw_reset(&adapter->hw);
err_free_netdev:
	free_netdev(netdev);
	return ret;