Lines Matching refs:netdev

42  * @work:	Work structure used to wake the modem netdev TX queue
50 static int ipa_open(struct net_device *netdev)
52 struct ipa_priv *priv = netdev_priv(netdev);
70 netif_start_queue(netdev);
86 static int ipa_stop(struct net_device *netdev)
88 struct ipa_priv *priv = netdev_priv(netdev);
98 netif_stop_queue(netdev);
118 ipa_start_xmit(struct sk_buff *skb, struct net_device *netdev)
120 struct net_device_stats *stats = &netdev->stats;
121 struct ipa_priv *priv = netdev_priv(netdev);
182 void ipa_modem_skb_rx(struct net_device *netdev, struct sk_buff *skb)
184 struct net_device_stats *stats = &netdev->stats;
187 skb->dev = netdev;
204 /** ipa_modem_netdev_setup() - netdev setup function for the modem */
205 static void ipa_modem_netdev_setup(struct net_device *netdev)
207 netdev->netdev_ops = &ipa_modem_ops;
209 netdev->header_ops = NULL;
210 netdev->type = ARPHRD_RAWIP;
211 netdev->hard_header_len = 0;
212 netdev->min_header_len = ETH_HLEN;
213 netdev->min_mtu = ETH_MIN_MTU;
214 netdev->max_mtu = IPA_MTU;
215 netdev->mtu = netdev->max_mtu;
216 netdev->addr_len = 0;
217 netdev->tx_queue_len = DEFAULT_TX_QUEUE_LEN;
218 netdev->flags &= ~(IFF_BROADCAST | IFF_MULTICAST);
219 netdev->priv_flags |= IFF_TX_SKB_SHARING;
220 eth_broadcast_addr(netdev->broadcast);
223 netdev->needed_headroom = sizeof(struct rmnet_map_header);
224 netdev->needed_tailroom = IPA_NETDEV_TAILROOM;
225 netdev->watchdog_timeo = IPA_NETDEV_TIMEOUT * HZ;
226 netdev->hw_features = NETIF_F_SG;
230 * @netdev: Network device
234 void ipa_modem_suspend(struct net_device *netdev)
236 struct ipa_priv *priv = netdev_priv(netdev);
239 if (!(netdev->flags & IFF_UP))
247 * ipa_modem_wake_queue_work() - enable modem netdev queue
269 void ipa_modem_resume(struct net_device *netdev)
271 struct ipa_priv *priv = netdev_priv(netdev);
274 if (!(netdev->flags & IFF_UP))
287 struct net_device *netdev;
299 netdev = alloc_netdev(sizeof(struct ipa_priv), IPA_NETDEV_NAME,
301 if (!netdev) {
306 SET_NETDEV_DEV(netdev, &ipa->pdev->dev);
307 priv = netdev_priv(netdev);
310 ipa->name_map[IPA_ENDPOINT_AP_MODEM_TX]->netdev = netdev;
311 ipa->name_map[IPA_ENDPOINT_AP_MODEM_RX]->netdev = netdev;
312 ipa->modem_netdev = netdev;
314 ret = register_netdev(netdev);
317 ipa->name_map[IPA_ENDPOINT_AP_MODEM_RX]->netdev = NULL;
318 ipa->name_map[IPA_ENDPOINT_AP_MODEM_TX]->netdev = NULL;
319 free_netdev(netdev);
334 struct net_device *netdev = ipa->modem_netdev;
349 /* Clean up the netdev and endpoints if it was started */
350 if (netdev) {
351 struct ipa_priv *priv = netdev_priv(netdev);
355 if (netdev->flags & IFF_UP)
356 (void)ipa_stop(netdev);
357 unregister_netdev(netdev);
359 ipa->name_map[IPA_ENDPOINT_AP_MODEM_RX]->netdev = NULL;
360 ipa->name_map[IPA_ENDPOINT_AP_MODEM_TX]->netdev = NULL;
361 free_netdev(netdev);