Linux编程:网络设备驱动详解
2009-06-30 04:36:00 来源:WEB开发网核心提示: //初始化硬件tg3_init_hw(tp);//初始化收包和发包的缓冲区tg3_init_rings(tp);//初始化定时器init_timer(&tp->timer);tp->timer.expires = jiffies + tp->timer_offset;tp->timer.dat
//初始化硬件
tg3_init_hw(tp);
//初始化收包和发包的缓冲区
tg3_init_rings(tp);
//初始化定时器
init_timer(&tp->timer);
tp->timer.expires = jiffies + tp->timer_offset;
tp->timer.data = (unsigned long) tp;
tp->timer.function = tg3_timer; //超时回调函数
add_timer(&tp->timer);
//允许网卡开始传输包
netif_start_queue(dev);
}
5,关闭网络设备
static int tg3_close(struct net_device *dev)
{
//停止网卡传输包
netif_stop_queue(dev);
netif_carrier_off(tp->dev);
//去除定时器
del_timer_sync(&tp->timer);
//释放收包和发包的缓冲区
tg3_free_rings(tp);
//释放中断
free_irq(dev->irq, dev);
}
更多精彩
赞助商链接