mirror of https://gitee.com/openkylin/linux.git
tg3: Relocate tg3_find_peer
This patch relocates tg3_find_peer to eliminate a prototype. Signed-off-by: Matt Carlson <mcarlson@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
dbe9b92a60
commit
16c7fa7dfe
|
@ -13847,8 +13847,6 @@ static void __devinit tg3_read_fw_ver(struct tg3 *tp)
|
||||||
tp->fw_ver[TG3_VER_SIZE - 1] = 0;
|
tp->fw_ver[TG3_VER_SIZE - 1] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct pci_dev * __devinit tg3_find_peer(struct tg3 *);
|
|
||||||
|
|
||||||
static inline u32 tg3_rx_ret_ring_size(struct tg3 *tp)
|
static inline u32 tg3_rx_ret_ring_size(struct tg3 *tp)
|
||||||
{
|
{
|
||||||
if (tg3_flag(tp, LRG_PROD_RING_CAP))
|
if (tg3_flag(tp, LRG_PROD_RING_CAP))
|
||||||
|
@ -13866,6 +13864,34 @@ static DEFINE_PCI_DEVICE_TABLE(tg3_write_reorder_chipsets) = {
|
||||||
{ },
|
{ },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct pci_dev * __devinit tg3_find_peer(struct tg3 *tp)
|
||||||
|
{
|
||||||
|
struct pci_dev *peer;
|
||||||
|
unsigned int func, devnr = tp->pdev->devfn & ~7;
|
||||||
|
|
||||||
|
for (func = 0; func < 8; func++) {
|
||||||
|
peer = pci_get_slot(tp->pdev->bus, devnr | func);
|
||||||
|
if (peer && peer != tp->pdev)
|
||||||
|
break;
|
||||||
|
pci_dev_put(peer);
|
||||||
|
}
|
||||||
|
/* 5704 can be configured in single-port mode, set peer to
|
||||||
|
* tp->pdev in that case.
|
||||||
|
*/
|
||||||
|
if (!peer) {
|
||||||
|
peer = tp->pdev;
|
||||||
|
return peer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* We don't need to keep the refcount elevated; there's no way
|
||||||
|
* to remove one half of this device without removing the other
|
||||||
|
*/
|
||||||
|
pci_dev_put(peer);
|
||||||
|
|
||||||
|
return peer;
|
||||||
|
}
|
||||||
|
|
||||||
static int __devinit tg3_get_invariants(struct tg3 *tp)
|
static int __devinit tg3_get_invariants(struct tg3 *tp)
|
||||||
{
|
{
|
||||||
u32 misc_ctrl_reg;
|
u32 misc_ctrl_reg;
|
||||||
|
@ -15364,34 +15390,6 @@ static char * __devinit tg3_bus_string(struct tg3 *tp, char *str)
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct pci_dev * __devinit tg3_find_peer(struct tg3 *tp)
|
|
||||||
{
|
|
||||||
struct pci_dev *peer;
|
|
||||||
unsigned int func, devnr = tp->pdev->devfn & ~7;
|
|
||||||
|
|
||||||
for (func = 0; func < 8; func++) {
|
|
||||||
peer = pci_get_slot(tp->pdev->bus, devnr | func);
|
|
||||||
if (peer && peer != tp->pdev)
|
|
||||||
break;
|
|
||||||
pci_dev_put(peer);
|
|
||||||
}
|
|
||||||
/* 5704 can be configured in single-port mode, set peer to
|
|
||||||
* tp->pdev in that case.
|
|
||||||
*/
|
|
||||||
if (!peer) {
|
|
||||||
peer = tp->pdev;
|
|
||||||
return peer;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* We don't need to keep the refcount elevated; there's no way
|
|
||||||
* to remove one half of this device without removing the other
|
|
||||||
*/
|
|
||||||
pci_dev_put(peer);
|
|
||||||
|
|
||||||
return peer;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void __devinit tg3_init_coal(struct tg3 *tp)
|
static void __devinit tg3_init_coal(struct tg3 *tp)
|
||||||
{
|
{
|
||||||
struct ethtool_coalesce *ec = &tp->coal;
|
struct ethtool_coalesce *ec = &tp->coal;
|
||||||
|
|
Loading…
Reference in New Issue