Lines Matching refs:proto
17 * - proto->open(), close(), start(), stop() calls are serialized.
19 * - proto->start() and stop() are called with spin_lock_irq held.
64 BUG_ON(!hdlc->proto->netif_rx);
65 return hdlc->proto->netif_rx(skb);
72 if (hdlc->proto->xmit)
73 return hdlc->proto->xmit(skb, dev);
81 if (hdlc->proto->start)
82 hdlc->proto->start(dev);
90 if (hdlc->proto->stop)
91 hdlc->proto->stop(dev);
155 if (hdlc->proto == NULL)
158 if (hdlc->proto->open) {
159 int result = hdlc->proto->open(dev);
197 if (hdlc->proto->close)
198 hdlc->proto->close(dev);
205 struct hdlc_proto *proto = first_proto;
211 if (dev_to_hdlc(dev)->proto) {
212 result = dev_to_hdlc(dev)->proto->ioctl(dev, ifr);
219 while (proto) {
220 if ((result = proto->ioctl(dev, ifr)) != -EINVAL)
222 proto = proto->next;
276 int attach_hdlc_protocol(struct net_device *dev, struct hdlc_proto *proto,
285 if (!try_module_get(proto->module))
291 module_put(proto->module);
295 dev_to_hdlc(dev)->proto = proto;
306 if (hdlc->proto) {
314 if (hdlc->proto->detach)
315 hdlc->proto->detach(dev);
316 module_put(hdlc->proto->module);
317 hdlc->proto = NULL;
327 void register_hdlc_protocol(struct hdlc_proto *proto)
330 proto->next = first_proto;
331 first_proto = proto;
336 void unregister_hdlc_protocol(struct hdlc_proto *proto)
342 while (*p != proto) {
346 *p = proto->next;