Lines Matching refs:hdlc
25 #include <linux/hdlc.h>
49 struct hdlc_device *hdlc;
57 hdlc = dev_to_hdlc(dev);
64 BUG_ON(!hdlc->proto->netif_rx);
65 return hdlc->proto->netif_rx(skb);
70 hdlc_device *hdlc = dev_to_hdlc(dev);
72 if (hdlc->proto->xmit)
73 return hdlc->proto->xmit(skb, dev);
75 return hdlc->xmit(skb, dev); /* call hardware driver directly */
80 hdlc_device *hdlc = dev_to_hdlc(dev);
81 if (hdlc->proto->start)
82 hdlc->proto->start(dev);
89 hdlc_device *hdlc = dev_to_hdlc(dev);
90 if (hdlc->proto->stop)
91 hdlc->proto->stop(dev);
100 hdlc_device *hdlc;
120 hdlc = dev_to_hdlc(dev);
121 spin_lock_irqsave(&hdlc->state_lock, flags);
123 if (hdlc->carrier == on)
126 hdlc->carrier = on;
128 if (!hdlc->open)
131 if (hdlc->carrier) {
140 spin_unlock_irqrestore(&hdlc->state_lock, flags);
149 hdlc_device *hdlc = dev_to_hdlc(dev);
152 hdlc->carrier, hdlc->open);
155 if (hdlc->proto == NULL)
158 if (hdlc->proto->open) {
159 int result = hdlc->proto->open(dev);
164 spin_lock_irq(&hdlc->state_lock);
166 if (hdlc->carrier) {
172 hdlc->open = 1;
174 spin_unlock_irq(&hdlc->state_lock);
183 hdlc_device *hdlc = dev_to_hdlc(dev);
186 hdlc->carrier, hdlc->open);
189 spin_lock_irq(&hdlc->state_lock);
191 hdlc->open = 0;
192 if (hdlc->carrier)
195 spin_unlock_irq(&hdlc->state_lock);
197 if (hdlc->proto->close)
198 hdlc->proto->close(dev);
248 hdlc_device *hdlc = dev_to_hdlc(dev);
251 hdlc->carrier = 1;
252 hdlc->open = 0;
253 spin_lock_init(&hdlc->state_lock);
259 dev = alloc_netdev(sizeof(struct hdlc_device), "hdlc%d",
303 hdlc_device *hdlc = dev_to_hdlc(dev);
306 if (hdlc->proto) {
314 if (hdlc->proto->detach)
315 hdlc->proto->detach(dev);
316 module_put(hdlc->proto->module);
317 hdlc->proto = NULL;
319 kfree(hdlc->state);
320 hdlc->state = NULL;