mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-12 13:34:10 +08:00
netdevice sbni: Convert directly reference of netdev->priv
1. convert netdev->priv to netdev_priv(). 2. make sbni_pci_probe() be static. Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
5c94afd79c
commit
486bf8de17
@ -186,6 +186,7 @@ static unsigned int netcard_portlist[ ] __initdata = {
|
|||||||
0x2b0, 0x2b4, 0x2c0, 0x2c4, 0x2d0, 0x2d4, 0x2e0, 0x2e4, 0x2f0, 0x2f4,
|
0x2b0, 0x2b4, 0x2c0, 0x2c4, 0x2d0, 0x2d4, 0x2e0, 0x2e4, 0x2f0, 0x2f4,
|
||||||
0 };
|
0 };
|
||||||
|
|
||||||
|
#define NET_LOCAL_LOCK(dev) (((struct net_local *)netdev_priv(dev))->lock)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Look for SBNI card which addr stored in dev->base_addr, if nonzero.
|
* Look for SBNI card which addr stored in dev->base_addr, if nonzero.
|
||||||
@ -287,7 +288,7 @@ static int __init sbni_init(struct net_device *dev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int __init
|
static int __init
|
||||||
sbni_pci_probe( struct net_device *dev )
|
sbni_pci_probe( struct net_device *dev )
|
||||||
{
|
{
|
||||||
struct pci_dev *pdev = NULL;
|
struct pci_dev *pdev = NULL;
|
||||||
@ -378,22 +379,23 @@ sbni_probe1( struct net_device *dev, unsigned long ioaddr, int irq )
|
|||||||
dev->irq = irq;
|
dev->irq = irq;
|
||||||
dev->base_addr = ioaddr;
|
dev->base_addr = ioaddr;
|
||||||
|
|
||||||
/* Allocate dev->priv and fill in sbni-specific dev fields. */
|
/* Fill in sbni-specific dev fields. */
|
||||||
nl = dev->priv;
|
nl = netdev_priv(dev);
|
||||||
if( !nl ) {
|
if( !nl ) {
|
||||||
printk( KERN_ERR "%s: unable to get memory!\n", dev->name );
|
printk( KERN_ERR "%s: unable to get memory!\n", dev->name );
|
||||||
release_region( ioaddr, SBNI_IO_EXTENT );
|
release_region( ioaddr, SBNI_IO_EXTENT );
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
dev->priv = nl;
|
|
||||||
memset( nl, 0, sizeof(struct net_local) );
|
memset( nl, 0, sizeof(struct net_local) );
|
||||||
spin_lock_init( &nl->lock );
|
spin_lock_init( &nl->lock );
|
||||||
|
|
||||||
/* store MAC address (generate if that isn't known) */
|
/* store MAC address (generate if that isn't known) */
|
||||||
*(__be16 *)dev->dev_addr = htons( 0x00ff );
|
*(__be16 *)dev->dev_addr = htons( 0x00ff );
|
||||||
*(__be32 *)(dev->dev_addr + 2) = htonl( 0x01000000 |
|
*(__be32 *)(dev->dev_addr + 2) = htonl( 0x01000000 |
|
||||||
( (mac[num] ? mac[num] : (u32)((long)dev->priv)) & 0x00ffffff) );
|
((mac[num] ?
|
||||||
|
mac[num] :
|
||||||
|
(u32)((long)netdev_priv(dev))) & 0x00ffffff));
|
||||||
|
|
||||||
/* store link settings (speed, receive level ) */
|
/* store link settings (speed, receive level ) */
|
||||||
nl->maxframe = DEFAULT_FRAME_LEN;
|
nl->maxframe = DEFAULT_FRAME_LEN;
|
||||||
@ -447,7 +449,7 @@ sbni_start_xmit( struct sk_buff *skb, struct net_device *dev )
|
|||||||
|
|
||||||
/* Looking for idle device in the list */
|
/* Looking for idle device in the list */
|
||||||
for( p = dev; p; ) {
|
for( p = dev; p; ) {
|
||||||
struct net_local *nl = (struct net_local *) p->priv;
|
struct net_local *nl = netdev_priv(p);
|
||||||
spin_lock( &nl->lock );
|
spin_lock( &nl->lock );
|
||||||
if( nl->tx_buf_p || (nl->state & FL_LINE_DOWN) ) {
|
if( nl->tx_buf_p || (nl->state & FL_LINE_DOWN) ) {
|
||||||
p = nl->link;
|
p = nl->link;
|
||||||
@ -469,7 +471,7 @@ sbni_start_xmit( struct sk_buff *skb, struct net_device *dev )
|
|||||||
static int
|
static int
|
||||||
sbni_start_xmit( struct sk_buff *skb, struct net_device *dev )
|
sbni_start_xmit( struct sk_buff *skb, struct net_device *dev )
|
||||||
{
|
{
|
||||||
struct net_local *nl = (struct net_local *) dev->priv;
|
struct net_local *nl = netdev_priv(dev);
|
||||||
|
|
||||||
netif_stop_queue( dev );
|
netif_stop_queue( dev );
|
||||||
spin_lock( &nl->lock );
|
spin_lock( &nl->lock );
|
||||||
@ -503,12 +505,12 @@ static irqreturn_t
|
|||||||
sbni_interrupt( int irq, void *dev_id )
|
sbni_interrupt( int irq, void *dev_id )
|
||||||
{
|
{
|
||||||
struct net_device *dev = dev_id;
|
struct net_device *dev = dev_id;
|
||||||
struct net_local *nl = dev->priv;
|
struct net_local *nl = netdev_priv(dev);
|
||||||
int repeat;
|
int repeat;
|
||||||
|
|
||||||
spin_lock( &nl->lock );
|
spin_lock( &nl->lock );
|
||||||
if( nl->second )
|
if( nl->second )
|
||||||
spin_lock( &((struct net_local *) nl->second->priv)->lock );
|
spin_lock(&NET_LOCAL_LOCK(nl->second));
|
||||||
|
|
||||||
do {
|
do {
|
||||||
repeat = 0;
|
repeat = 0;
|
||||||
@ -522,7 +524,7 @@ sbni_interrupt( int irq, void *dev_id )
|
|||||||
} while( repeat );
|
} while( repeat );
|
||||||
|
|
||||||
if( nl->second )
|
if( nl->second )
|
||||||
spin_unlock( &((struct net_local *)nl->second->priv)->lock );
|
spin_unlock(&NET_LOCAL_LOCK(nl->second));
|
||||||
spin_unlock( &nl->lock );
|
spin_unlock( &nl->lock );
|
||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
}
|
}
|
||||||
@ -531,7 +533,7 @@ sbni_interrupt( int irq, void *dev_id )
|
|||||||
static void
|
static void
|
||||||
handle_channel( struct net_device *dev )
|
handle_channel( struct net_device *dev )
|
||||||
{
|
{
|
||||||
struct net_local *nl = (struct net_local *) dev->priv;
|
struct net_local *nl = netdev_priv(dev);
|
||||||
unsigned long ioaddr = dev->base_addr;
|
unsigned long ioaddr = dev->base_addr;
|
||||||
|
|
||||||
int req_ans;
|
int req_ans;
|
||||||
@ -540,7 +542,7 @@ handle_channel( struct net_device *dev )
|
|||||||
#ifdef CONFIG_SBNI_MULTILINE
|
#ifdef CONFIG_SBNI_MULTILINE
|
||||||
/* Lock the master device because we going to change its local data */
|
/* Lock the master device because we going to change its local data */
|
||||||
if( nl->state & FL_SLAVE )
|
if( nl->state & FL_SLAVE )
|
||||||
spin_lock( &((struct net_local *) nl->master->priv)->lock );
|
spin_lock(&NET_LOCAL_LOCK(nl->master));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
outb( (inb( ioaddr + CSR0 ) & ~EN_INT) | TR_REQ, ioaddr + CSR0 );
|
outb( (inb( ioaddr + CSR0 ) & ~EN_INT) | TR_REQ, ioaddr + CSR0 );
|
||||||
@ -576,7 +578,7 @@ handle_channel( struct net_device *dev )
|
|||||||
|
|
||||||
#ifdef CONFIG_SBNI_MULTILINE
|
#ifdef CONFIG_SBNI_MULTILINE
|
||||||
if( nl->state & FL_SLAVE )
|
if( nl->state & FL_SLAVE )
|
||||||
spin_unlock( &((struct net_local *) nl->master->priv)->lock );
|
spin_unlock(&NET_LOCAL_LOCK(nl->master));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -589,7 +591,7 @@ handle_channel( struct net_device *dev )
|
|||||||
static int
|
static int
|
||||||
recv_frame( struct net_device *dev )
|
recv_frame( struct net_device *dev )
|
||||||
{
|
{
|
||||||
struct net_local *nl = (struct net_local *) dev->priv;
|
struct net_local *nl = netdev_priv(dev);
|
||||||
unsigned long ioaddr = dev->base_addr;
|
unsigned long ioaddr = dev->base_addr;
|
||||||
|
|
||||||
u32 crc = CRC32_INITIAL;
|
u32 crc = CRC32_INITIAL;
|
||||||
@ -623,7 +625,7 @@ recv_frame( struct net_device *dev )
|
|||||||
static void
|
static void
|
||||||
send_frame( struct net_device *dev )
|
send_frame( struct net_device *dev )
|
||||||
{
|
{
|
||||||
struct net_local *nl = (struct net_local *) dev->priv;
|
struct net_local *nl = netdev_priv(dev);
|
||||||
|
|
||||||
u32 crc = CRC32_INITIAL;
|
u32 crc = CRC32_INITIAL;
|
||||||
|
|
||||||
@ -680,7 +682,7 @@ do_send:
|
|||||||
static void
|
static void
|
||||||
download_data( struct net_device *dev, u32 *crc_p )
|
download_data( struct net_device *dev, u32 *crc_p )
|
||||||
{
|
{
|
||||||
struct net_local *nl = (struct net_local *) dev->priv;
|
struct net_local *nl = netdev_priv(dev);
|
||||||
struct sk_buff *skb = nl->tx_buf_p;
|
struct sk_buff *skb = nl->tx_buf_p;
|
||||||
|
|
||||||
unsigned len = min_t(unsigned int, skb->len - nl->outpos, nl->framelen);
|
unsigned len = min_t(unsigned int, skb->len - nl->outpos, nl->framelen);
|
||||||
@ -699,7 +701,7 @@ static int
|
|||||||
upload_data( struct net_device *dev, unsigned framelen, unsigned frameno,
|
upload_data( struct net_device *dev, unsigned framelen, unsigned frameno,
|
||||||
unsigned is_first, u32 crc )
|
unsigned is_first, u32 crc )
|
||||||
{
|
{
|
||||||
struct net_local *nl = (struct net_local *) dev->priv;
|
struct net_local *nl = netdev_priv(dev);
|
||||||
|
|
||||||
int frame_ok;
|
int frame_ok;
|
||||||
|
|
||||||
@ -721,9 +723,9 @@ upload_data( struct net_device *dev, unsigned framelen, unsigned frameno,
|
|||||||
nl->wait_frameno = 0,
|
nl->wait_frameno = 0,
|
||||||
nl->inppos = 0,
|
nl->inppos = 0,
|
||||||
#ifdef CONFIG_SBNI_MULTILINE
|
#ifdef CONFIG_SBNI_MULTILINE
|
||||||
((struct net_local *) nl->master->priv)
|
((struct net_local *)netdev_priv(nl->master))
|
||||||
->stats.rx_errors++,
|
->stats.rx_errors++,
|
||||||
((struct net_local *) nl->master->priv)
|
((struct net_local *)netdev_priv(nl->master))
|
||||||
->stats.rx_missed_errors++;
|
->stats.rx_missed_errors++;
|
||||||
#else
|
#else
|
||||||
nl->stats.rx_errors++,
|
nl->stats.rx_errors++,
|
||||||
@ -740,8 +742,10 @@ upload_data( struct net_device *dev, unsigned framelen, unsigned frameno,
|
|||||||
*/
|
*/
|
||||||
nl->wait_frameno = 0,
|
nl->wait_frameno = 0,
|
||||||
#ifdef CONFIG_SBNI_MULTILINE
|
#ifdef CONFIG_SBNI_MULTILINE
|
||||||
((struct net_local *) nl->master->priv)->stats.rx_errors++,
|
((struct net_local *)netdev_priv(nl->master))
|
||||||
((struct net_local *) nl->master->priv)->stats.rx_crc_errors++;
|
->stats.rx_errors++,
|
||||||
|
((struct net_local *)netdev_priv(nl->master))
|
||||||
|
->stats.rx_crc_errors++;
|
||||||
#else
|
#else
|
||||||
nl->stats.rx_errors++,
|
nl->stats.rx_errors++,
|
||||||
nl->stats.rx_crc_errors++;
|
nl->stats.rx_crc_errors++;
|
||||||
@ -755,8 +759,8 @@ static inline void
|
|||||||
send_complete( struct net_local *nl )
|
send_complete( struct net_local *nl )
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_SBNI_MULTILINE
|
#ifdef CONFIG_SBNI_MULTILINE
|
||||||
((struct net_local *) nl->master->priv)->stats.tx_packets++;
|
((struct net_local *)netdev_priv(nl->master))->stats.tx_packets++;
|
||||||
((struct net_local *) nl->master->priv)->stats.tx_bytes
|
((struct net_local *)netdev_priv(nl->master))->stats.tx_bytes
|
||||||
+= nl->tx_buf_p->len;
|
+= nl->tx_buf_p->len;
|
||||||
#else
|
#else
|
||||||
nl->stats.tx_packets++;
|
nl->stats.tx_packets++;
|
||||||
@ -775,7 +779,7 @@ send_complete( struct net_local *nl )
|
|||||||
static void
|
static void
|
||||||
interpret_ack( struct net_device *dev, unsigned ack )
|
interpret_ack( struct net_device *dev, unsigned ack )
|
||||||
{
|
{
|
||||||
struct net_local *nl = (struct net_local *) dev->priv;
|
struct net_local *nl = netdev_priv(dev);
|
||||||
|
|
||||||
if( ack == FRAME_SENT_OK ) {
|
if( ack == FRAME_SENT_OK ) {
|
||||||
nl->state &= ~FL_NEED_RESEND;
|
nl->state &= ~FL_NEED_RESEND;
|
||||||
@ -809,7 +813,7 @@ interpret_ack( struct net_device *dev, unsigned ack )
|
|||||||
static int
|
static int
|
||||||
append_frame_to_pkt( struct net_device *dev, unsigned framelen, u32 crc )
|
append_frame_to_pkt( struct net_device *dev, unsigned framelen, u32 crc )
|
||||||
{
|
{
|
||||||
struct net_local *nl = (struct net_local *) dev->priv;
|
struct net_local *nl = netdev_priv(dev);
|
||||||
|
|
||||||
u8 *p;
|
u8 *p;
|
||||||
|
|
||||||
@ -840,7 +844,7 @@ append_frame_to_pkt( struct net_device *dev, unsigned framelen, u32 crc )
|
|||||||
static void
|
static void
|
||||||
prepare_to_send( struct sk_buff *skb, struct net_device *dev )
|
prepare_to_send( struct sk_buff *skb, struct net_device *dev )
|
||||||
{
|
{
|
||||||
struct net_local *nl = (struct net_local *) dev->priv;
|
struct net_local *nl = netdev_priv(dev);
|
||||||
|
|
||||||
unsigned int len;
|
unsigned int len;
|
||||||
|
|
||||||
@ -871,15 +875,15 @@ prepare_to_send( struct sk_buff *skb, struct net_device *dev )
|
|||||||
static void
|
static void
|
||||||
drop_xmit_queue( struct net_device *dev )
|
drop_xmit_queue( struct net_device *dev )
|
||||||
{
|
{
|
||||||
struct net_local *nl = (struct net_local *) dev->priv;
|
struct net_local *nl = netdev_priv(dev);
|
||||||
|
|
||||||
if( nl->tx_buf_p )
|
if( nl->tx_buf_p )
|
||||||
dev_kfree_skb_any( nl->tx_buf_p ),
|
dev_kfree_skb_any( nl->tx_buf_p ),
|
||||||
nl->tx_buf_p = NULL,
|
nl->tx_buf_p = NULL,
|
||||||
#ifdef CONFIG_SBNI_MULTILINE
|
#ifdef CONFIG_SBNI_MULTILINE
|
||||||
((struct net_local *) nl->master->priv)
|
((struct net_local *)netdev_priv(nl->master))
|
||||||
->stats.tx_errors++,
|
->stats.tx_errors++,
|
||||||
((struct net_local *) nl->master->priv)
|
((struct net_local *)netdev_priv(nl->master))
|
||||||
->stats.tx_carrier_errors++;
|
->stats.tx_carrier_errors++;
|
||||||
#else
|
#else
|
||||||
nl->stats.tx_errors++,
|
nl->stats.tx_errors++,
|
||||||
@ -903,7 +907,7 @@ drop_xmit_queue( struct net_device *dev )
|
|||||||
static void
|
static void
|
||||||
send_frame_header( struct net_device *dev, u32 *crc_p )
|
send_frame_header( struct net_device *dev, u32 *crc_p )
|
||||||
{
|
{
|
||||||
struct net_local *nl = (struct net_local *) dev->priv;
|
struct net_local *nl = netdev_priv(dev);
|
||||||
|
|
||||||
u32 crc = *crc_p;
|
u32 crc = *crc_p;
|
||||||
u32 len_field = nl->framelen + 6; /* CRC + frameno + reserved */
|
u32 len_field = nl->framelen + 6; /* CRC + frameno + reserved */
|
||||||
@ -1005,7 +1009,7 @@ get_rx_buf( struct net_device *dev )
|
|||||||
static void
|
static void
|
||||||
indicate_pkt( struct net_device *dev )
|
indicate_pkt( struct net_device *dev )
|
||||||
{
|
{
|
||||||
struct net_local *nl = (struct net_local *) dev->priv;
|
struct net_local *nl = netdev_priv(dev);
|
||||||
struct sk_buff *skb = nl->rx_buf_p;
|
struct sk_buff *skb = nl->rx_buf_p;
|
||||||
|
|
||||||
skb_put( skb, nl->inppos );
|
skb_put( skb, nl->inppos );
|
||||||
@ -1013,8 +1017,9 @@ indicate_pkt( struct net_device *dev )
|
|||||||
#ifdef CONFIG_SBNI_MULTILINE
|
#ifdef CONFIG_SBNI_MULTILINE
|
||||||
skb->protocol = eth_type_trans( skb, nl->master );
|
skb->protocol = eth_type_trans( skb, nl->master );
|
||||||
netif_rx( skb );
|
netif_rx( skb );
|
||||||
++((struct net_local *) nl->master->priv)->stats.rx_packets;
|
++((struct net_local *)netdev_priv(nl->master))->stats.rx_packets;
|
||||||
((struct net_local *) nl->master->priv)->stats.rx_bytes += nl->inppos;
|
((struct net_local *)netdev_priv(nl->master))->stats.rx_bytes +=
|
||||||
|
nl->inppos;
|
||||||
#else
|
#else
|
||||||
skb->protocol = eth_type_trans( skb, dev );
|
skb->protocol = eth_type_trans( skb, dev );
|
||||||
netif_rx( skb );
|
netif_rx( skb );
|
||||||
@ -1036,7 +1041,7 @@ static void
|
|||||||
sbni_watchdog( unsigned long arg )
|
sbni_watchdog( unsigned long arg )
|
||||||
{
|
{
|
||||||
struct net_device *dev = (struct net_device *) arg;
|
struct net_device *dev = (struct net_device *) arg;
|
||||||
struct net_local *nl = (struct net_local *) dev->priv;
|
struct net_local *nl = netdev_priv(dev);
|
||||||
struct timer_list *w = &nl->watchdog;
|
struct timer_list *w = &nl->watchdog;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
unsigned char csr0;
|
unsigned char csr0;
|
||||||
@ -1089,7 +1094,7 @@ static unsigned char timeout_rxl_tab[] = {
|
|||||||
static void
|
static void
|
||||||
card_start( struct net_device *dev )
|
card_start( struct net_device *dev )
|
||||||
{
|
{
|
||||||
struct net_local *nl = (struct net_local *) dev->priv;
|
struct net_local *nl = netdev_priv(dev);
|
||||||
|
|
||||||
nl->timer_ticks = CHANGE_LEVEL_START_TICKS;
|
nl->timer_ticks = CHANGE_LEVEL_START_TICKS;
|
||||||
nl->state &= ~(FL_WAIT_ACK | FL_NEED_RESEND);
|
nl->state &= ~(FL_WAIT_ACK | FL_NEED_RESEND);
|
||||||
@ -1111,7 +1116,7 @@ card_start( struct net_device *dev )
|
|||||||
static void
|
static void
|
||||||
change_level( struct net_device *dev )
|
change_level( struct net_device *dev )
|
||||||
{
|
{
|
||||||
struct net_local *nl = (struct net_local *) dev->priv;
|
struct net_local *nl = netdev_priv(dev);
|
||||||
|
|
||||||
if( nl->delta_rxl == 0 ) /* do not auto-negotiate RxL */
|
if( nl->delta_rxl == 0 ) /* do not auto-negotiate RxL */
|
||||||
return;
|
return;
|
||||||
@ -1135,7 +1140,7 @@ change_level( struct net_device *dev )
|
|||||||
static void
|
static void
|
||||||
timeout_change_level( struct net_device *dev )
|
timeout_change_level( struct net_device *dev )
|
||||||
{
|
{
|
||||||
struct net_local *nl = (struct net_local *) dev->priv;
|
struct net_local *nl = netdev_priv(dev);
|
||||||
|
|
||||||
nl->cur_rxl_index = timeout_rxl_tab[ nl->timeout_rxl ];
|
nl->cur_rxl_index = timeout_rxl_tab[ nl->timeout_rxl ];
|
||||||
if( ++nl->timeout_rxl >= 4 )
|
if( ++nl->timeout_rxl >= 4 )
|
||||||
@ -1158,7 +1163,7 @@ timeout_change_level( struct net_device *dev )
|
|||||||
static int
|
static int
|
||||||
sbni_open( struct net_device *dev )
|
sbni_open( struct net_device *dev )
|
||||||
{
|
{
|
||||||
struct net_local *nl = (struct net_local *) dev->priv;
|
struct net_local *nl = netdev_priv(dev);
|
||||||
struct timer_list *w = &nl->watchdog;
|
struct timer_list *w = &nl->watchdog;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1174,7 +1179,7 @@ sbni_open( struct net_device *dev )
|
|||||||
|| (*p)->base_addr == dev->base_addr - 4)
|
|| (*p)->base_addr == dev->base_addr - 4)
|
||||||
&& (*p)->flags & IFF_UP ) {
|
&& (*p)->flags & IFF_UP ) {
|
||||||
|
|
||||||
((struct net_local *) ((*p)->priv))
|
((struct net_local *) (netdev_priv(*p)))
|
||||||
->second = dev;
|
->second = dev;
|
||||||
printk( KERN_NOTICE "%s: using shared irq "
|
printk( KERN_NOTICE "%s: using shared irq "
|
||||||
"with %s\n", dev->name, (*p)->name );
|
"with %s\n", dev->name, (*p)->name );
|
||||||
@ -1214,7 +1219,7 @@ handler_attached:
|
|||||||
static int
|
static int
|
||||||
sbni_close( struct net_device *dev )
|
sbni_close( struct net_device *dev )
|
||||||
{
|
{
|
||||||
struct net_local *nl = (struct net_local *) dev->priv;
|
struct net_local *nl = netdev_priv(dev);
|
||||||
|
|
||||||
if( nl->second && nl->second->flags & IFF_UP ) {
|
if( nl->second && nl->second->flags & IFF_UP ) {
|
||||||
printk( KERN_NOTICE "Secondary channel (%s) is active!\n",
|
printk( KERN_NOTICE "Secondary channel (%s) is active!\n",
|
||||||
@ -1298,7 +1303,7 @@ sbni_card_probe( unsigned long ioaddr )
|
|||||||
static int
|
static int
|
||||||
sbni_ioctl( struct net_device *dev, struct ifreq *ifr, int cmd )
|
sbni_ioctl( struct net_device *dev, struct ifreq *ifr, int cmd )
|
||||||
{
|
{
|
||||||
struct net_local *nl = (struct net_local *) dev->priv;
|
struct net_local *nl = netdev_priv(dev);
|
||||||
struct sbni_flags flags;
|
struct sbni_flags flags;
|
||||||
int error = 0;
|
int error = 0;
|
||||||
|
|
||||||
@ -1388,8 +1393,8 @@ sbni_ioctl( struct net_device *dev, struct ifreq *ifr, int cmd )
|
|||||||
static int
|
static int
|
||||||
enslave( struct net_device *dev, struct net_device *slave_dev )
|
enslave( struct net_device *dev, struct net_device *slave_dev )
|
||||||
{
|
{
|
||||||
struct net_local *nl = (struct net_local *) dev->priv;
|
struct net_local *nl = netdev_priv(dev);
|
||||||
struct net_local *snl = (struct net_local *) slave_dev->priv;
|
struct net_local *snl = netdev_priv(slave_dev);
|
||||||
|
|
||||||
if( nl->state & FL_SLAVE ) /* This isn't master or free device */
|
if( nl->state & FL_SLAVE ) /* This isn't master or free device */
|
||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
@ -1423,9 +1428,9 @@ enslave( struct net_device *dev, struct net_device *slave_dev )
|
|||||||
static int
|
static int
|
||||||
emancipate( struct net_device *dev )
|
emancipate( struct net_device *dev )
|
||||||
{
|
{
|
||||||
struct net_local *snl = (struct net_local *) dev->priv;
|
struct net_local *snl = netdev_priv(dev);
|
||||||
struct net_device *p = snl->master;
|
struct net_device *p = snl->master;
|
||||||
struct net_local *nl = (struct net_local *) p->priv;
|
struct net_local *nl = netdev_priv(p);
|
||||||
|
|
||||||
if( !(snl->state & FL_SLAVE) )
|
if( !(snl->state & FL_SLAVE) )
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
@ -1436,7 +1441,7 @@ emancipate( struct net_device *dev )
|
|||||||
|
|
||||||
/* exclude from list */
|
/* exclude from list */
|
||||||
for(;;) { /* must be in list */
|
for(;;) { /* must be in list */
|
||||||
struct net_local *t = (struct net_local *) p->priv;
|
struct net_local *t = netdev_priv(p);
|
||||||
if( t->link == dev ) {
|
if( t->link == dev ) {
|
||||||
t->link = snl->link;
|
t->link = snl->link;
|
||||||
break;
|
break;
|
||||||
@ -1463,7 +1468,7 @@ emancipate( struct net_device *dev )
|
|||||||
static struct net_device_stats *
|
static struct net_device_stats *
|
||||||
sbni_get_stats( struct net_device *dev )
|
sbni_get_stats( struct net_device *dev )
|
||||||
{
|
{
|
||||||
return &((struct net_local *) dev->priv)->stats;
|
return &((struct net_local *)netdev_priv(dev))->stats;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user