Lines Matching refs:netdev

44  * @work:	Work structure used to wake the modem netdev TX queue
54 static int ipa_open(struct net_device *netdev)
56 struct ipa_priv *priv = netdev_priv(netdev);
74 netif_start_queue(netdev);
90 static int ipa_stop(struct net_device *netdev)
92 struct ipa_priv *priv = netdev_priv(netdev);
102 netif_stop_queue(netdev);
115 * @netdev: Network device
125 ipa_start_xmit(struct sk_buff *skb, struct net_device *netdev)
127 struct net_device_stats *stats = &netdev->stats;
128 struct ipa_priv *priv = netdev_priv(netdev);
159 netif_stop_queue(netdev);
166 netif_wake_queue(netdev);
176 netif_wake_queue(netdev);
201 void ipa_modem_skb_rx(struct net_device *netdev, struct sk_buff *skb)
203 struct net_device_stats *stats = &netdev->stats;
206 skb->dev = netdev;
223 /** ipa_modem_netdev_setup() - netdev setup function for the modem */
224 static void ipa_modem_netdev_setup(struct net_device *netdev)
226 netdev->netdev_ops = &ipa_modem_ops;
228 netdev->header_ops = NULL;
229 netdev->type = ARPHRD_RAWIP;
230 netdev->hard_header_len = 0;
231 netdev->min_header_len = ETH_HLEN;
232 netdev->min_mtu = ETH_MIN_MTU;
233 netdev->max_mtu = IPA_MTU;
234 netdev->mtu = netdev->max_mtu;
235 netdev->addr_len = 0;
236 netdev->tx_queue_len = DEFAULT_TX_QUEUE_LEN;
237 netdev->flags &= ~(IFF_BROADCAST | IFF_MULTICAST);
238 netdev->priv_flags |= IFF_TX_SKB_SHARING;
239 eth_broadcast_addr(netdev->broadcast);
242 netdev->needed_headroom = sizeof(struct rmnet_map_header);
243 netdev->needed_tailroom = IPA_NETDEV_TAILROOM;
244 netdev->watchdog_timeo = IPA_NETDEV_TIMEOUT * HZ;
245 netdev->hw_features = NETIF_F_SG;
249 * @netdev: Network device
253 void ipa_modem_suspend(struct net_device *netdev)
257 if (!(netdev->flags & IFF_UP))
260 priv = netdev_priv(netdev);
266 * ipa_modem_wake_queue_work() - enable modem netdev queue
280 netif_wake_queue(priv->tx->netdev);
288 void ipa_modem_resume(struct net_device *netdev)
292 if (!(netdev->flags & IFF_UP))
295 priv = netdev_priv(netdev);
306 struct net_device *netdev;
318 netdev = alloc_netdev(sizeof(struct ipa_priv), IPA_NETDEV_NAME,
320 if (!netdev) {
325 SET_NETDEV_DEV(netdev, ipa->dev);
326 priv = netdev_priv(netdev);
332 priv->tx->netdev = netdev;
333 priv->rx->netdev = netdev;
335 ipa->modem_netdev = netdev;
337 ret = register_netdev(netdev);
340 priv->rx->netdev = NULL;
341 priv->tx->netdev = NULL;
343 free_netdev(netdev);
358 struct net_device *netdev = ipa->modem_netdev;
373 /* Clean up the netdev and endpoints if it was started */
374 if (netdev) {
375 struct ipa_priv *priv = netdev_priv(netdev);
379 if (netdev->flags & IFF_UP)
380 (void)ipa_stop(netdev);
381 unregister_netdev(netdev);
384 priv->rx->netdev = NULL;
385 priv->tx->netdev = NULL;
387 free_netdev(netdev);