-static struct net_device
-*alloc_mcp251x_netdev(int sizeof_priv,
- struct mcp251x_platform_data *pdata)
-{
- struct net_device *net;
- struct mcp251x_priv *priv;
-
- net = alloc_candev(sizeof_priv, TX_ECHO_SKB_MAX);
- if (!net)
- return NULL;
-
- priv = netdev_priv(net);
-
-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,28)
- net->netdev_ops = &mcp251x_netdev_ops;
-#else
- net->open = mcp251x_open;
- net->stop = mcp251x_stop;
- net->hard_start_xmit = mcp251x_hard_start_xmit;
-#endif
- net->flags |= IFF_ECHO;
-
- priv->can.bittiming_const = &mcp251x_bittiming_const;
- priv->can.do_set_mode = mcp251x_do_set_mode;
- priv->can.clock.freq = pdata->oscillator_frequency / 2;
- priv->can.do_set_bittiming = mcp251x_do_set_bittiming;
-
- priv->net = net;
-
- return net;
-}
-