mirror of https://gitee.com/openkylin/linux.git
[netdrvr] Remove Becker-template 'io_size' member, when invariant
Becker-derived drivers often have the 'io_size' member in their chip info struct, indicating the minimum required size of the I/O resource (usually a PCI BAR). For many situations, this number is either constant or irrelevant (due to pci_iomap convenience behavior). This change removes the io_size invariant member, and replaces it with a compile-time constant. Drivers updated: fealnx, gt96100eth, winbond-840, yellowfin Additionally, - gt96100eth: unused 'drv_flags' removed from gt96100eth - winbond-840: unused struct match_info removed - winbond-840: mark pci_id_tbl[] const, __devinitdata Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
03a8c6611a
commit
c3d8e682b7
|
@ -146,14 +146,13 @@ enum phy_type_flags {
|
||||||
|
|
||||||
struct chip_info {
|
struct chip_info {
|
||||||
char *chip_name;
|
char *chip_name;
|
||||||
int io_size;
|
|
||||||
int flags;
|
int flags;
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct chip_info skel_netdrv_tbl[] = {
|
static const struct chip_info skel_netdrv_tbl[] = {
|
||||||
{"100/10M Ethernet PCI Adapter", 136, HAS_MII_XCVR},
|
{ "100/10M Ethernet PCI Adapter", HAS_MII_XCVR },
|
||||||
{"100/10M Ethernet PCI Adapter", 136, HAS_CHIP_XCVR},
|
{ "100/10M Ethernet PCI Adapter", HAS_CHIP_XCVR },
|
||||||
{"1000/100/10M Ethernet PCI Adapter", 136, HAS_MII_XCVR},
|
{ "1000/100/10M Ethernet PCI Adapter", HAS_MII_XCVR },
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Offsets to the Command and Status Registers. */
|
/* Offsets to the Command and Status Registers. */
|
||||||
|
|
|
@ -699,7 +699,6 @@ static int __init gt96100_probe1(struct pci_dev *pci, int port_num)
|
||||||
memset(gp, 0, sizeof(*gp)); // clear it
|
memset(gp, 0, sizeof(*gp)); // clear it
|
||||||
|
|
||||||
gp->port_num = port_num;
|
gp->port_num = port_num;
|
||||||
gp->io_size = GT96100_ETH_IO_SIZE;
|
|
||||||
gp->port_offset = port_num * GT96100_ETH_IO_SIZE;
|
gp->port_offset = port_num * GT96100_ETH_IO_SIZE;
|
||||||
gp->phy_addr = phy_addr;
|
gp->phy_addr = phy_addr;
|
||||||
gp->chip_rev = chip_rev;
|
gp->chip_rev = chip_rev;
|
||||||
|
@ -1531,7 +1530,7 @@ static void gt96100_cleanup_module(void)
|
||||||
+ sizeof(gt96100_td_t) * TX_RING_SIZE,
|
+ sizeof(gt96100_td_t) * TX_RING_SIZE,
|
||||||
gp->rx_ring);
|
gp->rx_ring);
|
||||||
free_netdev(gtif->dev);
|
free_netdev(gtif->dev);
|
||||||
release_region(gtif->iobase, gp->io_size);
|
release_region(gtif->iobase, GT96100_ETH_IO_SIZE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -331,7 +331,6 @@ struct gt96100_private {
|
||||||
mib_counters_t mib;
|
mib_counters_t mib;
|
||||||
struct net_device_stats stats;
|
struct net_device_stats stats;
|
||||||
|
|
||||||
int io_size;
|
|
||||||
int port_num; // 0 or 1
|
int port_num; // 0 or 1
|
||||||
int chip_rev;
|
int chip_rev;
|
||||||
u32 port_offset;
|
u32 port_offset;
|
||||||
|
@ -340,7 +339,6 @@ struct gt96100_private {
|
||||||
u32 last_psr; // last value of the port status register
|
u32 last_psr; // last value of the port status register
|
||||||
|
|
||||||
int options; /* User-settable misc. driver options. */
|
int options; /* User-settable misc. driver options. */
|
||||||
int drv_flags;
|
|
||||||
struct timer_list timer;
|
struct timer_list timer;
|
||||||
spinlock_t lock; /* Serialise access to device */
|
spinlock_t lock; /* Serialise access to device */
|
||||||
};
|
};
|
||||||
|
|
|
@ -224,24 +224,21 @@ static const struct pci_device_id w840_pci_tbl[] = {
|
||||||
};
|
};
|
||||||
MODULE_DEVICE_TABLE(pci, w840_pci_tbl);
|
MODULE_DEVICE_TABLE(pci, w840_pci_tbl);
|
||||||
|
|
||||||
|
enum {
|
||||||
|
netdev_res_size = 128, /* size of PCI BAR resource */
|
||||||
|
};
|
||||||
|
|
||||||
struct pci_id_info {
|
struct pci_id_info {
|
||||||
const char *name;
|
const char *name;
|
||||||
struct match_info {
|
int drv_flags; /* Driver use, intended as capability flags. */
|
||||||
int pci, pci_mask, subsystem, subsystem_mask;
|
|
||||||
int revision, revision_mask; /* Only 8 bits. */
|
|
||||||
} id;
|
|
||||||
int io_size; /* Needed for I/O region check or ioremap(). */
|
|
||||||
int drv_flags; /* Driver use, intended as capability flags. */
|
|
||||||
};
|
};
|
||||||
static struct pci_id_info pci_id_tbl[] = {
|
|
||||||
{"Winbond W89c840", /* Sometime a Level-One switch card. */
|
static const struct pci_id_info pci_id_tbl[] __devinitdata = {
|
||||||
{ 0x08401050, 0xffffffff, 0x81530000, 0xffff0000 },
|
{ /* Sometime a Level-One switch card. */
|
||||||
128, CanHaveMII | HasBrokenTx | FDXOnNoMII},
|
"Winbond W89c840", CanHaveMII | HasBrokenTx | FDXOnNoMII},
|
||||||
{"Winbond W89c840", { 0x08401050, 0xffffffff, },
|
{ "Winbond W89c840", CanHaveMII | HasBrokenTx},
|
||||||
128, CanHaveMII | HasBrokenTx},
|
{ "Compex RL100-ATX", CanHaveMII | HasBrokenTx},
|
||||||
{"Compex RL100-ATX", { 0x201111F6, 0xffffffff,},
|
{ } /* terminate list. */
|
||||||
128, CanHaveMII | HasBrokenTx},
|
|
||||||
{NULL,}, /* 0 terminated list. */
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* This driver was written to use PCI memory space, however some x86 systems
|
/* This driver was written to use PCI memory space, however some x86 systems
|
||||||
|
@ -399,7 +396,7 @@ static int __devinit w840_probe1 (struct pci_dev *pdev,
|
||||||
#ifdef USE_IO_OPS
|
#ifdef USE_IO_OPS
|
||||||
bar = 0;
|
bar = 0;
|
||||||
#endif
|
#endif
|
||||||
ioaddr = pci_iomap(pdev, bar, pci_id_tbl[chip_idx].io_size);
|
ioaddr = pci_iomap(pdev, bar, netdev_res_size);
|
||||||
if (!ioaddr)
|
if (!ioaddr)
|
||||||
goto err_out_free_res;
|
goto err_out_free_res;
|
||||||
|
|
||||||
|
|
|
@ -215,8 +215,11 @@ enum capability_flags {
|
||||||
HasMACAddrBug=32, /* Only on early revs. */
|
HasMACAddrBug=32, /* Only on early revs. */
|
||||||
DontUseEeprom=64, /* Don't read the MAC from the EEPROm. */
|
DontUseEeprom=64, /* Don't read the MAC from the EEPROm. */
|
||||||
};
|
};
|
||||||
|
|
||||||
/* The PCI I/O space extent. */
|
/* The PCI I/O space extent. */
|
||||||
#define YELLOWFIN_SIZE 0x100
|
enum {
|
||||||
|
YELLOWFIN_SIZE = 0x100,
|
||||||
|
};
|
||||||
|
|
||||||
struct pci_id_info {
|
struct pci_id_info {
|
||||||
const char *name;
|
const char *name;
|
||||||
|
@ -224,16 +227,14 @@ struct pci_id_info {
|
||||||
int pci, pci_mask, subsystem, subsystem_mask;
|
int pci, pci_mask, subsystem, subsystem_mask;
|
||||||
int revision, revision_mask; /* Only 8 bits. */
|
int revision, revision_mask; /* Only 8 bits. */
|
||||||
} id;
|
} id;
|
||||||
int io_size; /* Needed for I/O region check or ioremap(). */
|
|
||||||
int drv_flags; /* Driver use, intended as capability flags. */
|
int drv_flags; /* Driver use, intended as capability flags. */
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct pci_id_info pci_id_tbl[] = {
|
static const struct pci_id_info pci_id_tbl[] = {
|
||||||
{"Yellowfin G-NIC Gigabit Ethernet", { 0x07021000, 0xffffffff},
|
{"Yellowfin G-NIC Gigabit Ethernet", { 0x07021000, 0xffffffff},
|
||||||
YELLOWFIN_SIZE,
|
|
||||||
FullTxStatus | IsGigabit | HasMulticastBug | HasMACAddrBug | DontUseEeprom},
|
FullTxStatus | IsGigabit | HasMulticastBug | HasMACAddrBug | DontUseEeprom},
|
||||||
{"Symbios SYM83C885", { 0x07011000, 0xffffffff},
|
{"Symbios SYM83C885", { 0x07011000, 0xffffffff},
|
||||||
YELLOWFIN_SIZE, HasMII | DontUseEeprom },
|
HasMII | DontUseEeprom },
|
||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue