#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/pci.h>
+#include <linux/poison.h>
#include <linux/errno.h>
#include <linux/atm.h>
#include <linux/atmdev.h>
* would be interpreted. -- REW */
#define NP FS_NR_FREE_POOLS
-int rx_buf_sizes[NP] = {128, 256, 512, 1024, 2048, 4096, 16384, 65520};
+static int rx_buf_sizes[NP] = {128, 256, 512, 1024, 2048, 4096, 16384, 65520};
/* log2: 7 8 9 10 11 12 14 16 */
#if 0
-int rx_pool_sizes[NP] = {1024, 1024, 512, 256, 128, 64, 32, 32};
+static int rx_pool_sizes[NP] = {1024, 1024, 512, 256, 128, 64, 32, 32};
#else
/* debug */
-int rx_pool_sizes[NP] = {128, 128, 128, 64, 64, 64, 32, 32};
+static int rx_pool_sizes[NP] = {128, 128, 128, 64, 64, 64, 32, 32};
#endif
/* log2: 10 10 9 8 7 6 5 5 */
/* sumlog2: 17 18 18 18 18 18 19 21 */
};
-struct reginit_item PHY_NTC_INIT[] __devinitdata = {
+static struct reginit_item PHY_NTC_INIT[] __devinitdata = {
{ PHY_CLEARALL, 0x40 },
{ 0x12, 0x0001 },
{ 0x13, 0x7605 },
#ifdef MODULE
#ifdef DEBUG
-MODULE_PARM(fs_debug, "i");
+module_param(fs_debug, int, 0644);
#endif
-MODULE_PARM(loopback, "i");
-MODULE_PARM(num, "i");
-MODULE_PARM(fs_keystream, "i");
+module_param(loopback, int, 0);
+module_param(num, int, 0);
+module_param(fs_keystream, int, 0);
/* XXX Add rx_buf_sizes, and rx_pool_sizes As per request Amar. -- REW */
#endif
#define func_exit() fs_dprintk (FS_DEBUG_FLOW, "fs: exit %s\n", __FUNCTION__)
-struct fs_dev *fs_boards = NULL;
+static struct fs_dev *fs_boards = NULL;
#ifdef DEBUG
fs_kfree_skb (skb);
fs_dprintk (FS_DEBUG_ALLOC, "Free trans-d: %p\n", td);
- memset (td, 0x12, sizeof (struct FS_BPENTRY));
+ memset (td, ATM_POISON_FREE, sizeof(struct FS_BPENTRY));
kfree (td);
break;
default:
skb_put (skb, qe->p1 & 0xffff);
ATM_SKB(skb)->vcc = atm_vcc;
atomic_inc(&atm_vcc->stats->rx);
- do_gettimeofday(&skb->stamp);
+ __net_timestamp(skb);
fs_dprintk (FS_DEBUG_ALLOC, "Free rec-skb: %p (pushed)\n", skb);
atm_vcc->push (atm_vcc, skb);
fs_dprintk (FS_DEBUG_ALLOC, "Free rec-d: %p\n", pe);
it most likely that the chip will notice it. It also prevents us
from having to wait for completion. On the other hand, we may
need to wait for completion anyway, to see if it completed
- succesfully. */
+ successfully. */
switch (atm_vcc->qos.aal) {
case ATM_AAL2:
} else {
r = ROUND_UP;
}
- error = make_rate (pcr, r, &tmc0, 0);
+ error = make_rate (pcr, r, &tmc0, NULL);
}
fs_dprintk (FS_DEBUG_OPEN, "pcr = %d.\n", pcr);
}
/* Some function placeholders for functions we don't yet support. */
#if 0
-static int fs_ioctl(struct atm_dev *dev,unsigned int cmd,void *arg)
+static int fs_ioctl(struct atm_dev *dev,unsigned int cmd,void __user *arg)
{
func_enter ();
func_exit ();
static int fs_getsockopt(struct atm_vcc *vcc,int level,int optname,
- void *optval,int optlen)
+ void __user *optval,int optlen)
{
func_enter ();
func_exit ();
static int fs_setsockopt(struct atm_vcc *vcc,int level,int optname,
- void *optval,int optlen)
+ void __user *optval,int optlen)
{
func_enter ();
func_exit ();
}
}
-static void __devinit *aligned_kmalloc (int size, int flags, int alignment)
+static void __devinit *aligned_kmalloc (int size, gfp_t flags, int alignment)
{
void *t;
if (alignment <= 0x10) {
t = kmalloc (size, flags);
- if ((unsigned int)t & (alignment-1)) {
+ if ((unsigned long)t & (alignment-1)) {
printk ("Kmalloc doesn't align things correctly! %p\n", t);
kfree (t);
return aligned_kmalloc (size, flags, alignment * 4);
does. I've seen "receive abort: no buffers" and things started
working again after that... -- REW */
-static void top_off_fp (struct fs_dev *dev, struct freepool *fp, int gfp_flags)
+static void top_off_fp (struct fs_dev *dev, struct freepool *fp,
+ gfp_t gfp_flags)
{
struct FS_BPENTRY *qe, *ne;
struct sk_buff *skb;
func_enter ();
pci_dev = dev->pci_dev;
- printk (KERN_INFO "found a FireStream %d card, base %08lx, irq%d.\n",
+ printk (KERN_INFO "found a FireStream %d card, base %16llx, irq%d.\n",
IS_FS50(dev)?50:155,
- pci_resource_start(pci_dev, 0), dev->pci_dev->irq);
+ (unsigned long long)pci_resource_start(pci_dev, 0),
+ dev->pci_dev->irq);
if (fs_debug & FS_DEBUG_INIT)
my_hd ((unsigned char *) dev, sizeof (*dev));
dev->hw_base = pci_resource_start(pci_dev, 0);
- dev->base = (ulong) ioremap(dev->hw_base, 0x1000);
+ dev->base = ioremap(dev->hw_base, 0x1000);
reset_chip (dev);
}
/* Try again after 10ms. */
- set_current_state(TASK_UNINTERRUPTIBLE);
- schedule_timeout ((HZ+99)/100);
+ msleep(10);
}
if (!to) {
init_q (dev, &dev->rx_rq[i], RXB_RQ(i), RXRQ_NENTRIES, 1);
dev->irq = pci_dev->irq;
- if (request_irq (dev->irq, fs_irq, SA_SHIRQ, "firestream", dev)) {
+ if (request_irq (dev->irq, fs_irq, IRQF_SHARED, "firestream", dev)) {
printk (KERN_WARNING "couldn't get irq %d for firestream.\n", pci_dev->irq);
/* XXX undo all previous stuff... */
return 1;
return -ENODEV;
}
-void __devexit firestream_remove_one (struct pci_dev *pdev)
+static void __devexit firestream_remove_one (struct pci_dev *pdev)
{
int i;
struct fs_dev *dev, *nxtdev;
func_exit ();
}
-
-#if 0
-int __init fs_detect(void)
-{
- struct pci_dev *pci_dev;
- int devs = 0;
-
- func_enter ();
- pci_dev = NULL;
- while ((pci_dev = pci_find_device(PCI_VENDOR_ID_FUJITSU_ME,
- PCI_DEVICE_ID_FUJITSU_FS50,
- pci_dev))) {
- if (fs_register_and_init (pci_dev, &fs_pci_tbl[0]))
- break;
- devs++;
- }
-
- while ((pci_dev = pci_find_device(PCI_VENDOR_ID_FUJITSU_ME,
- PCI_DEVICE_ID_FUJITSU_FS155,
- pci_dev))) {
- if (fs_register_and_init (pci_dev, FS_IS155))
- break;
- devs++;
- }
- func_exit ();
- return devs;
-}
-#else
-
-#if 0
-int __init init_PCI (void)
-{ /* Begin init_PCI */
-
- int pci_count;
- printk ("init_PCI\n");
- /*
- memset (&firestream_driver, 0, sizeof (firestream_driver));
- firestream_driver.name = "firestream";
- firestream_driver.id_table = firestream_pci_tbl;
- firestream_driver.probe = fs_register_and_init;
- */
- pci_count = pci_register_driver (&firestream_driver);
-
- if (pci_count <= 0) {
- pci_unregister_driver (&firestream_driver);
- pci_count = 0;
- }
-
- return(pci_count);
-
-} /* End init_PCI */
-#endif
-#endif
-
-/*
-#ifdef MODULE
-#define firestream_init init_module
-#endif
-*/
-
static struct pci_device_id firestream_pci_tbl[] = {
{ PCI_VENDOR_ID_FUJITSU_ME, PCI_DEVICE_ID_FUJITSU_FS50,
PCI_ANY_ID, PCI_ANY_ID, 0, 0, FS_IS50},
int error;
func_enter ();
- error = pci_module_init(&firestream_driver);
+ error = pci_register_driver(&firestream_driver);
func_exit ();
return error;
}
MODULE_LICENSE("GPL");
+