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

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

net: pch_gbe: Remove get_bus_info 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 get_bus_info abstraction. Its single
implementation (pch_gbe_plat_get_bus_info) only sets values within a
struct pch_gbe_bus_info which is never used, so we simply remove the
call to it in pch_gbe_probe & remove struct pch_gbe_bus_info entirely.

Now that struct pch_gbe_functions is empty we remove it entirely too.

Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 3ef594b0
Loading
Loading
Loading
Loading
+0 −23
Original line number Diff line number Diff line
@@ -326,16 +326,6 @@ struct pch_gbe_regs {
#define PCH_GBE_FC_FULL			3
#define PCH_GBE_FC_DEFAULT		PCH_GBE_FC_FULL


struct pch_gbe_hw;
/**
 * struct  pch_gbe_functions - HAL APi function pointer
 * @get_bus_info:	for pch_gbe_hal_get_bus_info
 */
struct pch_gbe_functions {
	void (*get_bus_info) (struct pch_gbe_hw *);
};

/**
 * struct pch_gbe_mac_info - MAC information
 * @addr[6]:		Store the MAC address
@@ -376,17 +366,6 @@ struct pch_gbe_phy_info {
	u16 autoneg_advertised;
};

/*!
 * @ingroup Gigabit Ether driver Layer
 * @struct  pch_gbe_bus_info
 * @brief   Bus information
 */
struct pch_gbe_bus_info {
	u8 type;
	u8 speed;
	u8 width;
};

/*!
 * @ingroup Gigabit Ether driver Layer
 * @struct  pch_gbe_hw
@@ -398,10 +377,8 @@ struct pch_gbe_hw {
	struct pch_gbe_regs  __iomem *reg;
	spinlock_t miim_lock;

	const struct pch_gbe_functions *func;
	struct pch_gbe_mac_info mac;
	struct pch_gbe_phy_info phy;
	struct pch_gbe_bus_info bus;
};

/**
+0 −58
Original line number Diff line number Diff line
@@ -20,47 +20,6 @@
#include "pch_gbe_phy.h"
#include "pch_gbe_api.h"

/* bus type values */
#define pch_gbe_bus_type_unknown	0
#define pch_gbe_bus_type_pci		1
#define pch_gbe_bus_type_pcix		2
#define pch_gbe_bus_type_pci_express	3
#define pch_gbe_bus_type_reserved	4

/* bus speed values */
#define pch_gbe_bus_speed_unknown	0
#define pch_gbe_bus_speed_33		1
#define pch_gbe_bus_speed_66		2
#define pch_gbe_bus_speed_100		3
#define pch_gbe_bus_speed_120		4
#define pch_gbe_bus_speed_133		5
#define pch_gbe_bus_speed_2500		6
#define pch_gbe_bus_speed_reserved	7

/* bus width values */
#define pch_gbe_bus_width_unknown	0
#define pch_gbe_bus_width_pcie_x1	1
#define pch_gbe_bus_width_pcie_x2	2
#define pch_gbe_bus_width_pcie_x4	4
#define pch_gbe_bus_width_32		5
#define pch_gbe_bus_width_64		6
#define pch_gbe_bus_width_reserved	7

/**
 * pch_gbe_plat_get_bus_info - Obtain bus information for adapter
 * @hw:	Pointer to the HW structure
 */
static void pch_gbe_plat_get_bus_info(struct pch_gbe_hw *hw)
{
	hw->bus.type  = pch_gbe_bus_type_pci_express;
	hw->bus.speed = pch_gbe_bus_speed_2500;
	hw->bus.width = pch_gbe_bus_width_pcie_x1;
}

static const struct pch_gbe_functions pch_gbe_ops = {
	.get_bus_info      = pch_gbe_plat_get_bus_info,
};

/**
 * pch_gbe_plat_init_function_pointers - Init func ptrs
 * @hw:	Pointer to the HW structure
@@ -69,8 +28,6 @@ static void pch_gbe_plat_init_function_pointers(struct pch_gbe_hw *hw)
{
	/* Set PHY parameter */
	hw->phy.reset_delay_us     = PCH_GBE_PHY_RESET_DELAY_US;
	/* Set function pointers */
	hw->func = &pch_gbe_ops;
}

/**
@@ -91,18 +48,3 @@ s32 pch_gbe_hal_setup_init_funcs(struct pch_gbe_hw *hw)
	pch_gbe_plat_init_function_pointers(hw);
	return 0;
}

/**
 * pch_gbe_hal_get_bus_info - Obtain bus information for adapter
 * @hw:	Pointer to the HW structure
 */
void pch_gbe_hal_get_bus_info(struct pch_gbe_hw *hw)
{
	if (!hw->func->get_bus_info) {
		struct pch_gbe_adapter *adapter = pch_gbe_hw_to_adapter(hw);

		netdev_err(adapter->netdev, "ERROR: configuration\n");
		return;
	}
	hw->func->get_bus_info(hw);
}
+0 −1
Original line number Diff line number Diff line
@@ -22,6 +22,5 @@
#include "pch_gbe_phy.h"

s32 pch_gbe_hal_setup_init_funcs(struct pch_gbe_hw *hw);
void pch_gbe_hal_get_bus_info(struct pch_gbe_hw *hw);

#endif
+0 −1
Original line number Diff line number Diff line
@@ -2635,7 +2635,6 @@ static int pch_gbe_probe(struct pci_dev *pdev,
		dev_err(&pdev->dev, "PHY initialize error\n");
		goto err_free_adapter;
	}
	pch_gbe_hal_get_bus_info(&adapter->hw);

	/* Read the MAC address. and store to the private data */
	ret = pch_gbe_mac_read_mac_addr(&adapter->hw);