u16 rtw_recv_select_queue(struct sk_buff *skb);
-int rtw_ndev_notifier_register(void);
-void rtw_ndev_notifier_unregister(void);
-
void rtw_ips_dev_unload(struct adapter *padapter);
int rtw_ips_pwr_up(struct adapter *padapter);
return rtw_1d_to_queue[priority];
}
-static int rtw_ndev_notifier_call(struct notifier_block *nb, unsigned long state, void *ptr)
-{
- struct net_device *dev = netdev_notifier_info_to_dev(ptr);
-
- if (dev->netdev_ops->ndo_do_ioctl != rtw_ioctl)
- return NOTIFY_DONE;
-
- netdev_dbg(dev, FUNC_NDEV_FMT " state:%lu\n", FUNC_NDEV_ARG(dev),
- state);
-
- return NOTIFY_DONE;
-}
-
-static struct notifier_block rtw_ndev_notifier = {
- .notifier_call = rtw_ndev_notifier_call,
-};
-
-int rtw_ndev_notifier_register(void)
-{
- return register_netdevice_notifier(&rtw_ndev_notifier);
-}
-
-void rtw_ndev_notifier_unregister(void)
-{
- unregister_netdevice_notifier(&rtw_ndev_notifier);
-}
-
-
static int rtw_ndev_init(struct net_device *dev)
{
struct adapter *adapter = rtw_netdev_priv(dev);
if (sdio_alloc_irq(dvobj) != _SUCCESS)
goto free_if1;
- rtw_ndev_notifier_register();
status = _SUCCESS;
free_if1:
static int __init rtw_drv_entry(void)
{
- int ret;
-
- ret = sdio_register_driver(&rtl8723bs_sdio_driver);
- if (ret != 0)
- rtw_ndev_notifier_unregister();
-
- return ret;
+ return sdio_register_driver(&rtl8723bs_sdio_driver);
}
+module_init(rtw_drv_entry);
static void __exit rtw_drv_halt(void)
{
sdio_unregister_driver(&rtl8723bs_sdio_driver);
-
- rtw_ndev_notifier_unregister();
}
-
-
-module_init(rtw_drv_entry);
module_exit(rtw_drv_halt);