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.
63 BUG_ON(!hdlc->proto->netif_rx);
64 return hdlc->proto->netif_rx(skb);
71 if (hdlc->proto->xmit)
72 return hdlc->proto->xmit(skb, dev);
82 if (hdlc->proto->start)
83 hdlc->proto->start(dev);
90 if (hdlc->proto->stop)
91 hdlc->proto->stop(dev);
151 if (!hdlc->proto)
154 if (hdlc->proto->open) {
155 int result = hdlc->proto->open(dev);
194 if (hdlc->proto->close)
195 hdlc->proto->close(dev);
201 struct hdlc_proto *proto = first_proto;
204 if (dev_to_hdlc(dev)->proto) {
205 result = dev_to_hdlc(dev)->proto->ioctl(dev, ifs);
212 while (proto) {
213 result = proto->ioctl(dev, ifs);
216 proto = proto->next;
272 int attach_hdlc_protocol(struct net_device *dev, struct hdlc_proto *proto,
281 if (!try_module_get(proto->module))
287 module_put(proto->module);
291 dev_to_hdlc(dev)->proto = proto;
302 if (hdlc->proto) {
310 if (hdlc->proto->detach)
311 hdlc->proto->detach(dev);
312 module_put(hdlc->proto->module);
313 hdlc->proto = NULL;
323 void register_hdlc_protocol(struct hdlc_proto *proto)
326 proto->next = first_proto;
327 first_proto = proto;
332 void unregister_hdlc_protocol(struct hdlc_proto *proto)
338 while (*p != proto) {
342 *p = proto->next;