net: pch_gbe: Remove pch_gbe_hal_setup_init_funcs
The pch_gbe driver calls a pch_gbe_hal_setup_init_funcs function which ultimately sets the value of one field in struct pch_gbe_phy_info in a convoluted way. This patch removes pch_gbe_hal_setup_init_funcs in favor of inlining it, and in turn its callee pch_gbe_plat_init_function_pointers, into the single caller pch_gbe_sw_init. With this pch_gbe_api.c & pch_gbe_api.h are essentially empty, so they are removed & inclusions of the latter replaced with pch_gbe_phy.h which was previously being included via pch_gbe_api.h. Signed-off-by: Paul Burton <paul.burton@mips.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
b02c38a23a
commit
c63ebdf01a
@ -1,4 +1,4 @@
|
||||
obj-$(CONFIG_PCH_GBE) += pch_gbe.o
|
||||
|
||||
pch_gbe-y := pch_gbe_phy.o pch_gbe_ethtool.o pch_gbe_param.o
|
||||
pch_gbe-y += pch_gbe_api.o pch_gbe_main.o
|
||||
pch_gbe-y += pch_gbe_main.o
|
||||
|
@ -1,50 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 1999 - 2010 Intel Corporation.
|
||||
* Copyright (C) 2010 OKI SEMICONDUCTOR Co., LTD.
|
||||
*
|
||||
* This code was derived from the Intel e1000e Linux driver.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; version 2 of the License.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include "pch_gbe.h"
|
||||
#include "pch_gbe_phy.h"
|
||||
#include "pch_gbe_api.h"
|
||||
|
||||
/**
|
||||
* pch_gbe_plat_init_function_pointers - Init func ptrs
|
||||
* @hw: Pointer to the HW structure
|
||||
*/
|
||||
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;
|
||||
}
|
||||
|
||||
/**
|
||||
* pch_gbe_hal_setup_init_funcs - Initializes function pointers
|
||||
* @hw: Pointer to the HW structure
|
||||
* Returns:
|
||||
* 0: Successfully
|
||||
* ENOSYS: Function is not registered
|
||||
*/
|
||||
s32 pch_gbe_hal_setup_init_funcs(struct pch_gbe_hw *hw)
|
||||
{
|
||||
if (!hw->reg) {
|
||||
struct pch_gbe_adapter *adapter = pch_gbe_hw_to_adapter(hw);
|
||||
|
||||
netdev_err(adapter->netdev, "ERROR: Registers not mapped\n");
|
||||
return -ENOSYS;
|
||||
}
|
||||
pch_gbe_plat_init_function_pointers(hw);
|
||||
return 0;
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 1999 - 2010 Intel Corporation.
|
||||
* Copyright (C) 2010 OKI SEMICONDUCTOR Co., LTD.
|
||||
*
|
||||
* This code was derived from the Intel e1000e Linux driver.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; version 2 of the License.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef _PCH_GBE_API_H_
|
||||
#define _PCH_GBE_API_H_
|
||||
|
||||
#include "pch_gbe_phy.h"
|
||||
|
||||
s32 pch_gbe_hal_setup_init_funcs(struct pch_gbe_hw *hw);
|
||||
|
||||
#endif
|
@ -17,7 +17,7 @@
|
||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include "pch_gbe.h"
|
||||
#include "pch_gbe_api.h"
|
||||
#include "pch_gbe_phy.h"
|
||||
|
||||
/**
|
||||
* pch_gbe_stats - Stats item information
|
||||
|
@ -18,7 +18,7 @@
|
||||
*/
|
||||
|
||||
#include "pch_gbe.h"
|
||||
#include "pch_gbe_api.h"
|
||||
#include "pch_gbe_phy.h"
|
||||
#include <linux/module.h>
|
||||
#include <linux/net_tstamp.h>
|
||||
#include <linux/ptp_classify.h>
|
||||
@ -2037,12 +2037,8 @@ static int pch_gbe_sw_init(struct pch_gbe_adapter *adapter)
|
||||
adapter->rx_buffer_len = PCH_GBE_FRAME_SIZE_2048;
|
||||
hw->mac.max_frame_size = netdev->mtu + ETH_HLEN + ETH_FCS_LEN;
|
||||
hw->mac.min_frame_size = ETH_ZLEN + ETH_FCS_LEN;
|
||||
hw->phy.reset_delay_us = PCH_GBE_PHY_RESET_DELAY_US;
|
||||
|
||||
/* Initialize the hardware-specific values */
|
||||
if (pch_gbe_hal_setup_init_funcs(hw)) {
|
||||
netdev_err(netdev, "Hardware Initialization Failure\n");
|
||||
return -EIO;
|
||||
}
|
||||
if (pch_gbe_alloc_queues(adapter)) {
|
||||
netdev_err(netdev, "Unable to allocate memory for queues\n");
|
||||
return -ENOMEM;
|
||||
|
Loading…
Reference in New Issue
Block a user