nsc_ircc_probe_108, nsc_ircc_init_108 },
{ "PC87338", { 0x398, 0x15c, 0x2e }, 0x08, 0xb0, 0xf8,
nsc_ircc_probe_338, nsc_ircc_init_338 },
+ /* Contributed by Steffen Pingel - IBM X40 */
+ { "PC8738x", { 0x164e, 0x4e, 0x0 }, 0x20, 0xf4, 0xff,
+ nsc_ircc_probe_39x, nsc_ircc_init_39x },
/* Contributed by Jan Frey - IBM A30/A31 */
{ "PC8739x", { 0x2e, 0x4e, 0x0 }, 0x20, 0xea, 0xff,
nsc_ircc_probe_39x, nsc_ircc_init_39x },
{ NULL }
-#if 0
- /* Probably bogus, "PC8739x" should be the real thing. Jean II */
- /* Contributed by Kevin Thayer - OmniBook 6100 */
- { "PC87338?", { 0x2e, 0x15c, 0x398 }, 0x08, 0x00, 0xf8,
- nsc_ircc_probe_338, nsc_ircc_init_338 },
-#endif
};
/* Max 4 instances for now */
IRDA_DEBUG(2, "%s()\n", __FUNCTION__);
- MESSAGE("%s, Found chip at base=0x%03x\n", driver_name,
- info->cfg_base);
+ IRDA_MESSAGE("%s, Found chip at base=0x%03x\n", driver_name,
+ info->cfg_base);
if ((nsc_ircc_setup(info)) == -1)
return -1;
- MESSAGE("%s, driver loaded (Dag Brattli)\n", driver_name);
+ IRDA_MESSAGE("%s, driver loaded (Dag Brattli)\n", driver_name);
dev = alloc_irdadev(sizeof(struct nsc_ircc_cb));
if (dev == NULL) {
- ERROR("%s(), can't allocate memory for "
- "control block!\n", __FUNCTION__);
+ IRDA_ERROR("%s(), can't allocate memory for "
+ "control block!\n", __FUNCTION__);
return -ENOMEM;
}
/* Reserve the ioports that we need */
ret = request_region(self->io.fir_base, self->io.fir_ext, driver_name);
if (!ret) {
- WARNING("%s(), can't get iobase of 0x%03x\n",
- __FUNCTION__, self->io.fir_base);
+ IRDA_WARNING("%s(), can't get iobase of 0x%03x\n",
+ __FUNCTION__, self->io.fir_base);
err = -ENODEV;
goto out1;
}
err = register_netdev(dev);
if (err) {
- ERROR("%s(), register_netdev() failed!\n", __FUNCTION__);
+ IRDA_ERROR("%s(), register_netdev() failed!\n", __FUNCTION__);
goto out4;
}
- MESSAGE("IrDA: Registered device %s\n", dev->name);
+ IRDA_MESSAGE("IrDA: Registered device %s\n", dev->name);
/* Check if user has supplied a valid dongle id or not */
if ((dongle_id <= 0) ||
(dongle_id >= (sizeof(dongle_types) / sizeof(dongle_types[0]))) ) {
dongle_id = nsc_ircc_read_dongle_id(self->io.fir_base);
- MESSAGE("%s, Found dongle: %s\n", driver_name,
- dongle_types[dongle_id]);
+ IRDA_MESSAGE("%s, Found dongle: %s\n", driver_name,
+ dongle_types[dongle_id]);
} else {
- MESSAGE("%s, Using dongle: %s\n", driver_name,
- dongle_types[dongle_id]);
+ IRDA_MESSAGE("%s, Using dongle: %s\n", driver_name,
+ dongle_types[dongle_id]);
}
self->io.dongle_id = dongle_id;
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
iobase = self->io.fir_base;
case 0x2e8: outb(0x15, cfg_base+1); break;
case 0x3f8: outb(0x16, cfg_base+1); break;
case 0x2f8: outb(0x17, cfg_base+1); break;
- default: ERROR("%s(), invalid base_address", __FUNCTION__);
+ default: IRDA_ERROR("%s(), invalid base_address", __FUNCTION__);
}
/* Control Signal Routing Register (CSRT) */
case 9: temp = 0x05; break;
case 11: temp = 0x06; break;
case 15: temp = 0x07; break;
- default: ERROR("%s(), invalid irq", __FUNCTION__);
+ default: IRDA_ERROR("%s(), invalid irq", __FUNCTION__);
}
outb(CFG_108_CSRT, cfg_base);
case 0: outb(0x08+temp, cfg_base+1); break;
case 1: outb(0x10+temp, cfg_base+1); break;
case 3: outb(0x18+temp, cfg_base+1); break;
- default: ERROR("%s(), invalid dma", __FUNCTION__);
+ default: IRDA_ERROR("%s(), invalid dma", __FUNCTION__);
}
outb(CFG_108_MCTL, cfg_base); /* Mode Control Register (MCTL) */
/* Should be 0x2? */
if (0x20 != (version & 0xf0)) {
- ERROR("%s, Wrong chip version %02x\n", driver_name, version);
+ IRDA_ERROR("%s, Wrong chip version %02x\n",
+ driver_name, version);
return -1;
}
IRDA_DEBUG(2, "%s(), speed=%d\n", __FUNCTION__, speed);
- ASSERT(self != NULL, return 0;);
+ IRDA_ASSERT(self != NULL, return 0;);
iobase = self->io.fir_base;
self = (struct nsc_ircc_cb *) dev->priv;
- ASSERT(self != NULL, return 0;);
+ IRDA_ASSERT(self != NULL, return 0;);
iobase = self->io.fir_base;
skb = dev_alloc_skb(len+1);
if (skb == NULL) {
- WARNING("%s(), memory squeeze, "
- "dropping frame.\n", __FUNCTION__);
+ IRDA_WARNING("%s(), memory squeeze, "
+ "dropping frame.\n",
+ __FUNCTION__);
self->stats.rx_dropped++;
/* Restore bank register */
nsc_ircc_dma_receive(self);
self->ier = IER_SFIF_IE;
} else
- WARNING("%s(), potential "
- "Tx queue lockup !\n",
- __FUNCTION__);
+ IRDA_WARNING("%s(), potential "
+ "Tx queue lockup !\n",
+ __FUNCTION__);
}
} else {
/* Not finished yet, so interrupt on DMA again */
int iobase;
if (!dev) {
- WARNING("%s: irq %d for unknown device.\n", driver_name, irq);
+ IRDA_WARNING("%s: irq %d for unknown device.\n",
+ driver_name, irq);
return IRQ_NONE;
}
self = (struct nsc_ircc_cb *) dev->priv;
int iobase;
__u8 bank;
- ASSERT(self != NULL, return FALSE;);
+ IRDA_ASSERT(self != NULL, return FALSE;);
spin_lock_irqsave(&self->lock, flags);
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(dev != NULL, return -1;);
+ IRDA_ASSERT(dev != NULL, return -1;);
self = (struct nsc_ircc_cb *) dev->priv;
- ASSERT(self != NULL, return 0;);
+ IRDA_ASSERT(self != NULL, return 0;);
iobase = self->io.fir_base;
if (request_irq(self->io.irq, nsc_ircc_interrupt, 0, dev->name, dev)) {
- WARNING("%s, unable to allocate irq=%d\n", driver_name,
- self->io.irq);
+ IRDA_WARNING("%s, unable to allocate irq=%d\n",
+ driver_name, self->io.irq);
return -EAGAIN;
}
/*
* failure.
*/
if (request_dma(self->io.dma, dev->name)) {
- WARNING("%s, unable to allocate dma=%d\n", driver_name,
- self->io.dma);
+ IRDA_WARNING("%s, unable to allocate dma=%d\n",
+ driver_name, self->io.dma);
free_irq(self->io.irq, dev);
return -EAGAIN;
}
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
- ASSERT(dev != NULL, return -1;);
+ IRDA_ASSERT(dev != NULL, return -1;);
self = (struct nsc_ircc_cb *) dev->priv;
- ASSERT(self != NULL, return 0;);
+ IRDA_ASSERT(self != NULL, return 0;);
/* Stop device */
netif_stop_queue(dev);
unsigned long flags;
int ret = 0;
- ASSERT(dev != NULL, return -1;);
+ IRDA_ASSERT(dev != NULL, return -1;);
self = dev->priv;
- ASSERT(self != NULL, return -1;);
+ IRDA_ASSERT(self != NULL, return -1;);
IRDA_DEBUG(2, "%s(), %s, (cmd=0x%X)\n", __FUNCTION__, dev->name, cmd);
static void nsc_ircc_suspend(struct nsc_ircc_cb *self)
{
- MESSAGE("%s, Suspending\n", driver_name);
+ IRDA_MESSAGE("%s, Suspending\n", driver_name);
if (self->io.suspended)
return;
nsc_ircc_setup(&self->io);
nsc_ircc_net_open(self->netdev);
- MESSAGE("%s, Waking up\n", driver_name);
+ IRDA_MESSAGE("%s, Waking up\n", driver_name);
self->io.suspended = 0;
}