Changeset 1704

Show
Ignore:
Timestamp:
08/11/06 07:44:08 (2 years ago)
Author:
proski
Message:

Provide alloc_netdev() and PDE() to support Linux 2.4.22 and older

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/ath/if_athvar.h

    r1657 r1704  
    107107#ifndef SET_NETDEV_DEV 
    108108#define SET_NETDEV_DEV(ndev, pdev) 
     109#endif 
     110 
     111#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,23) 
     112static inline struct net_device *_alloc_netdev(int sizeof_priv, const char *mask, 
     113                                               void (*setup)(struct net_device *)) 
     114{ 
     115        struct net_device *dev; 
     116        int alloc_size; 
     117 
     118        /* ensure 32-byte alignment of the private area */ 
     119        alloc_size = sizeof (*dev) + sizeof_priv + 31; 
     120 
     121        dev = (struct net_device *) kmalloc (alloc_size, GFP_KERNEL); 
     122        if (dev == NULL) 
     123        { 
     124                printk(KERN_ERR "alloc_dev: Unable to allocate device memory.\n"); 
     125                return NULL; 
     126        } 
     127 
     128        memset(dev, 0, alloc_size); 
     129 
     130        if (sizeof_priv) 
     131                dev->priv = (void *) (((long)(dev + 1) + 31) & ~31); 
     132 
     133        setup(dev); 
     134        strcpy(dev->name, mask); 
     135 
     136        return dev; 
     137} 
     138 
     139/* Avoid name collision - some vendor kernels backport alloc_netdev() */ 
     140#undef alloc_netdev 
     141#define alloc_netdev(s,m,d) _alloc_netdev(s,m,d) 
     142 
     143static inline struct proc_dir_entry *PDE(const struct inode *inode) 
     144{ 
     145        return (struct proc_dir_entry *)inode->u.generic_ip; 
     146} 
    109147#endif 
    110148