Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 169111
b: refs/heads/master
c: dd0fab5
h: refs/heads/master
i:
  169109: 63eec99
  169107: bc7a015
  169103: bbaa8fb
v: v3
  • Loading branch information
Dominik Brodowski committed Nov 9, 2009
1 parent b1fda53 commit 115626e
Show file tree
Hide file tree
Showing 11 changed files with 316 additions and 507 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: e773cfe167c320d07b9423bc51fc4ab0221775a4
refs/heads/master: dd0fab5b940c0b65f26ac5b01485bac1f690ace6
66 changes: 29 additions & 37 deletions trunk/drivers/net/pcmcia/3c574_cs.c
Original file line number Diff line number Diff line change
Expand Up @@ -118,14 +118,6 @@ INT_MODULE_PARM(full_duplex, 0);
/* Autodetect link polarity reversal? */
INT_MODULE_PARM(auto_polarity, 1);

#ifdef PCMCIA_DEBUG
INT_MODULE_PARM(pc_debug, PCMCIA_DEBUG);
#define DEBUG(n, args...) if (pc_debug>(n)) printk(KERN_DEBUG args)
static char *version =
"3c574_cs.c 1.65ac1 2003/04/07 Donald Becker/David Hinds, becker@scyld.com.\n";
#else
#define DEBUG(n, args...)
#endif

/*====================================================================*/

Expand Down Expand Up @@ -278,7 +270,7 @@ static int tc574_probe(struct pcmcia_device *link)
struct el3_private *lp;
struct net_device *dev;

DEBUG(0, "3c574_attach()\n");
dev_dbg(&link->dev, "3c574_attach()\n");

/* Create the PC card device object. */
dev = alloc_etherdev(sizeof(struct el3_private));
Expand Down Expand Up @@ -319,7 +311,7 @@ static void tc574_detach(struct pcmcia_device *link)
{
struct net_device *dev = link->priv;

DEBUG(0, "3c574_detach(0x%p)\n", link);
dev_dbg(&link->dev, "3c574_detach()\n");

if (link->dev_node)
unregister_netdev(dev);
Expand All @@ -335,16 +327,13 @@ static void tc574_detach(struct pcmcia_device *link)
ethernet device available to the system.
*/

#define CS_CHECK(fn, ret) \
do { last_fn = (fn); if ((last_ret = (ret)) != 0) goto cs_failed; } while (0)

static const char *ram_split[] = {"5:3", "3:1", "1:1", "3:5"};

static int tc574_config(struct pcmcia_device *link)
{
struct net_device *dev = link->priv;
struct el3_private *lp = netdev_priv(dev);
int last_fn, last_ret, i, j;
int ret, i, j;
unsigned int ioaddr;
__be16 *phys_addr;
char *cardname;
Expand All @@ -354,7 +343,7 @@ static int tc574_config(struct pcmcia_device *link)

phys_addr = (__be16 *)dev->dev_addr;

DEBUG(0, "3c574_config(0x%p)\n", link);
dev_dbg(&link->dev, "3c574_config()\n");

link->io.IOAddrLines = 16;
for (i = j = 0; j < 0x400; j += 0x20) {
Expand All @@ -363,12 +352,16 @@ static int tc574_config(struct pcmcia_device *link)
if (i == 0)
break;
}
if (i != 0) {
cs_error(link, RequestIO, i);
if (i != 0)
goto failed;

ret = pcmcia_request_irq(link, &link->irq);
if (ret)
goto failed;

ret = pcmcia_request_configuration(link, &link->conf);
if (ret)
goto failed;
}
CS_CHECK(RequestIRQ, pcmcia_request_irq(link, &link->irq));
CS_CHECK(RequestConfiguration, pcmcia_request_configuration(link, &link->conf));

dev->irq = link->irq.AssignedIRQ;
dev->base_addr = link->io.BasePort1;
Expand Down Expand Up @@ -433,7 +426,8 @@ static int tc574_config(struct pcmcia_device *link)
mii_status = mdio_read(ioaddr, phy & 0x1f, 1);
if (mii_status != 0xffff) {
lp->phys = phy & 0x1f;
DEBUG(0, " MII transceiver at index %d, status %x.\n",
dev_dbg(&link->dev, " MII transceiver at "
"index %d, status %x.\n",
phy, mii_status);
if ((mii_status & 0x0040) == 0)
mii_preamble_required = 1;
Expand Down Expand Up @@ -476,8 +470,6 @@ static int tc574_config(struct pcmcia_device *link)

return 0;

cs_failed:
cs_error(link, last_fn, last_ret);
failed:
tc574_release(link);
return -ENODEV;
Expand Down Expand Up @@ -736,7 +728,7 @@ static int el3_open(struct net_device *dev)
lp->media.expires = jiffies + HZ;
add_timer(&lp->media);

DEBUG(2, "%s: opened, status %4.4x.\n",
dev_dbg(&link->dev, "%s: opened, status %4.4x.\n",
dev->name, inw(dev->base_addr + EL3_STATUS));

return 0;
Expand Down Expand Up @@ -770,7 +762,7 @@ static void pop_tx_status(struct net_device *dev)
if (tx_status & 0x30)
tc574_wait_for_completion(dev, TxReset);
if (tx_status & 0x38) {
DEBUG(1, "%s: transmit error: status 0x%02x\n",
pr_debug("%s: transmit error: status 0x%02x\n",
dev->name, tx_status);
outw(TxEnable, ioaddr + EL3_CMD);
dev->stats.tx_aborted_errors++;
Expand All @@ -786,7 +778,7 @@ static netdev_tx_t el3_start_xmit(struct sk_buff *skb,
struct el3_private *lp = netdev_priv(dev);
unsigned long flags;

DEBUG(3, "%s: el3_start_xmit(length = %ld) called, "
pr_debug("%s: el3_start_xmit(length = %ld) called, "
"status %4.4x.\n", dev->name, (long)skb->len,
inw(ioaddr + EL3_STATUS));

Expand Down Expand Up @@ -825,7 +817,7 @@ static irqreturn_t el3_interrupt(int irq, void *dev_id)
return IRQ_NONE;
ioaddr = dev->base_addr;

DEBUG(3, "%s: interrupt, status %4.4x.\n",
pr_debug("%s: interrupt, status %4.4x.\n",
dev->name, inw(ioaddr + EL3_STATUS));

spin_lock(&lp->window_lock);
Expand All @@ -834,7 +826,7 @@ static irqreturn_t el3_interrupt(int irq, void *dev_id)
(IntLatch | RxComplete | RxEarly | StatsFull)) {
if (!netif_device_present(dev) ||
((status & 0xe000) != 0x2000)) {
DEBUG(1, "%s: Interrupt from dead card\n", dev->name);
pr_debug("%s: Interrupt from dead card\n", dev->name);
break;
}

Expand All @@ -844,7 +836,7 @@ static irqreturn_t el3_interrupt(int irq, void *dev_id)
work_budget = el3_rx(dev, work_budget);

if (status & TxAvailable) {
DEBUG(3, " TX room bit was handled.\n");
pr_debug(" TX room bit was handled.\n");
/* There's room in the FIFO for a full-sized packet. */
outw(AckIntr | TxAvailable, ioaddr + EL3_CMD);
netif_wake_queue(dev);
Expand Down Expand Up @@ -884,7 +876,7 @@ static irqreturn_t el3_interrupt(int irq, void *dev_id)
}

if (--work_budget < 0) {
DEBUG(0, "%s: Too much work in interrupt, "
pr_debug("%s: Too much work in interrupt, "
"status %4.4x.\n", dev->name, status);
/* Clear all interrupts */
outw(AckIntr | 0xFF, ioaddr + EL3_CMD);
Expand All @@ -894,7 +886,7 @@ static irqreturn_t el3_interrupt(int irq, void *dev_id)
outw(AckIntr | IntReq | IntLatch, ioaddr + EL3_CMD);
}

DEBUG(3, "%s: exiting interrupt, status %4.4x.\n",
pr_debug("%s: exiting interrupt, status %4.4x.\n",
dev->name, inw(ioaddr + EL3_STATUS));

spin_unlock(&lp->window_lock);
Expand Down Expand Up @@ -1001,7 +993,7 @@ static void update_stats(struct net_device *dev)
unsigned int ioaddr = dev->base_addr;
u8 rx, tx, up;

DEBUG(2, "%s: updating the statistics.\n", dev->name);
pr_debug("%s: updating the statistics.\n", dev->name);

if (inw(ioaddr+EL3_STATUS) == 0xffff) /* No card. */
return;
Expand Down Expand Up @@ -1037,7 +1029,7 @@ static int el3_rx(struct net_device *dev, int worklimit)
unsigned int ioaddr = dev->base_addr;
short rx_status;

DEBUG(3, "%s: in rx_packet(), status %4.4x, rx_status %4.4x.\n",
pr_debug("%s: in rx_packet(), status %4.4x, rx_status %4.4x.\n",
dev->name, inw(ioaddr+EL3_STATUS), inw(ioaddr+RxStatus));
while (!((rx_status = inw(ioaddr + RxStatus)) & 0x8000) &&
worklimit > 0) {
Expand All @@ -1059,7 +1051,7 @@ static int el3_rx(struct net_device *dev, int worklimit)

skb = dev_alloc_skb(pkt_len+5);

DEBUG(3, " Receiving packet size %d status %4.4x.\n",
pr_debug(" Receiving packet size %d status %4.4x.\n",
pkt_len, rx_status);
if (skb != NULL) {
skb_reserve(skb, 2);
Expand All @@ -1070,7 +1062,7 @@ static int el3_rx(struct net_device *dev, int worklimit)
dev->stats.rx_packets++;
dev->stats.rx_bytes += pkt_len;
} else {
DEBUG(1, "%s: couldn't allocate a sk_buff of"
pr_debug("%s: couldn't allocate a sk_buff of"
" size %d.\n", dev->name, pkt_len);
dev->stats.rx_dropped++;
}
Expand Down Expand Up @@ -1099,7 +1091,7 @@ static int el3_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
struct mii_ioctl_data *data = if_mii(rq);
int phy = lp->phys & 0x1f;

DEBUG(2, "%s: In ioct(%-.6s, %#4.4x) %4.4x %4.4x %4.4x %4.4x.\n",
pr_debug("%s: In ioct(%-.6s, %#4.4x) %4.4x %4.4x %4.4x %4.4x.\n",
dev->name, rq->ifr_ifrn.ifrn_name, cmd,
data->phy_id, data->reg_num, data->val_in, data->val_out);

Expand Down Expand Up @@ -1176,7 +1168,7 @@ static int el3_close(struct net_device *dev)
struct el3_private *lp = netdev_priv(dev);
struct pcmcia_device *link = lp->p_dev;

DEBUG(2, "%s: shutting down ethercard.\n", dev->name);
dev_dbg(&link->dev, "%s: shutting down ethercard.\n", dev->name);

if (pcmcia_dev_present(link)) {
unsigned long flags;
Expand Down
Loading

0 comments on commit 115626e

Please sign in to comment.