Lines Matching refs:lp
75 struct uml_net_private *lp = netdev_priv(dev); in uml_net_rx() local
80 skb = dev_alloc_skb(lp->max_packet); in uml_net_rx()
84 (*lp->read)(lp->fd, drop_skb, lp); in uml_net_rx()
90 skb_put(skb, lp->max_packet); in uml_net_rx()
92 pkt_len = (*lp->read)(lp->fd, skb, lp); in uml_net_rx()
96 skb->protocol = (*lp->protocol)(skb); in uml_net_rx()
110 struct uml_net_private *lp = in uml_dev_close() local
112 dev_close(lp->dev); in uml_dev_close()
118 struct uml_net_private *lp = netdev_priv(dev); in uml_net_interrupt() local
124 spin_lock(&lp->lock); in uml_net_interrupt()
137 schedule_work(&lp->work); in uml_net_interrupt()
140 reactivate_fd(lp->fd, UM_ETH_IRQ); in uml_net_interrupt()
143 spin_unlock(&lp->lock); in uml_net_interrupt()
149 struct uml_net_private *lp = netdev_priv(dev); in uml_net_open() local
152 if (lp->fd >= 0) { in uml_net_open()
157 lp->fd = (*lp->open)(&lp->user); in uml_net_open()
158 if (lp->fd < 0) { in uml_net_open()
159 err = lp->fd; in uml_net_open()
163 err = um_request_irq(dev->irq, lp->fd, IRQ_READ, uml_net_interrupt, in uml_net_open()
171 lp->tl.data = (unsigned long) &lp->user; in uml_net_open()
181 list_add(&lp->list, &opened); in uml_net_open()
186 if (lp->close != NULL) (*lp->close)(lp->fd, &lp->user); in uml_net_open()
187 lp->fd = -1; in uml_net_open()
194 struct uml_net_private *lp = netdev_priv(dev); in uml_net_close() local
199 if (lp->close != NULL) in uml_net_close()
200 (*lp->close)(lp->fd, &lp->user); in uml_net_close()
201 lp->fd = -1; in uml_net_close()
204 list_del(&lp->list); in uml_net_close()
212 struct uml_net_private *lp = netdev_priv(dev); in uml_net_start_xmit() local
218 spin_lock_irqsave(&lp->lock, flags); in uml_net_start_xmit()
220 len = (*lp->write)(lp->fd, skb, lp); in uml_net_start_xmit()
241 spin_unlock_irqrestore(&lp->lock, flags); in uml_net_start_xmit()
361 struct uml_net_private *lp = netdev_priv(netdev); in net_device_release() local
363 if (lp->remove != NULL) in net_device_release()
364 (*lp->remove)(&lp->user); in net_device_release()
395 struct uml_net_private *lp; in eth_configure() local
427 lp = netdev_priv(dev); in eth_configure()
430 memset(lp, 0, size); in eth_configure()
431 INIT_WORK(&lp->work, uml_dev_close); in eth_configure()
454 *lp = ((struct uml_net_private) in eth_configure()
455 { .list = LIST_HEAD_INIT(lp->list), in eth_configure()
469 init_timer(&lp->tl); in eth_configure()
470 spin_lock_init(&lp->lock); in eth_configure()
471 lp->tl.function = uml_net_user_timer_expire; in eth_configure()
472 memcpy(lp->mac, dev->dev_addr, sizeof(lp->mac)); in eth_configure()
475 ((*transport->user->init)(&lp->user, dev) != 0)) in eth_configure()
484 err = update_drop_skb(lp->max_packet); in eth_configure()
502 (*transport->user->remove)(&lp->user); in eth_configure()
718 struct uml_net_private *lp; in net_remove() local
725 lp = netdev_priv(dev); in net_remove()
726 if (lp->fd > 0) in net_remove()
749 struct uml_net_private *lp; in uml_inetaddr_event() local
756 lp = netdev_priv(dev); in uml_inetaddr_event()
761 proc = lp->add_address; in uml_inetaddr_event()
764 proc = lp->delete_address; in uml_inetaddr_event()
770 (*proc)(addr_buf, netmask_buf, &lp->user); in uml_inetaddr_event()
783 struct uml_net_private *lp; in inet_register() local
795 lp = list_entry(ele, struct uml_net_private, list); in inet_register()
796 ip = lp->dev->ip_ptr; in inet_register()
825 struct uml_net_private *lp; in close_devices() local
829 lp = list_entry(ele, struct uml_net_private, list); in close_devices()
830 um_free_irq(lp->dev->irq, lp->dev); in close_devices()
831 if ((lp->close != NULL) && (lp->fd >= 0)) in close_devices()
832 (*lp->close)(lp->fd, &lp->user); in close_devices()
833 if (lp->remove != NULL) in close_devices()
834 (*lp->remove)(&lp->user); in close_devices()