static uint _init_intf_hdl(struct _adapter *padapter, struct intf_hdl *pintf_hdl) { struct intf_priv *pintf_priv; void (*set_intf_option)(u32 *poption) = NULL; void (*set_intf_funs)(struct intf_hdl *pintf_hdl); void (*set_intf_ops)(struct _io_ops *pops); uint (*init_intf_priv)(struct intf_priv *pintfpriv); set_intf_option = &(r8712_usb_set_intf_option); set_intf_funs = &(r8712_usb_set_intf_funs); set_intf_ops = &r8712_usb_set_intf_ops; init_intf_priv = &r8712_usb_init_intf_priv; pintf_priv = pintf_hdl->pintfpriv = (struct intf_priv *) _malloc(sizeof(struct intf_priv)); if (pintf_priv == NULL) goto _init_intf_hdl_fail; pintf_hdl->adapter = (u8 *)padapter; set_intf_option(&pintf_hdl->intf_option); set_intf_funs(pintf_hdl); set_intf_ops(&pintf_hdl->io_ops); pintf_priv->intf_dev = (u8 *)&(padapter->dvobjpriv); if (init_intf_priv(pintf_priv) == _FAIL) goto _init_intf_hdl_fail; return _SUCCESS; _init_intf_hdl_fail: kfree(pintf_priv); return _FAIL; }
int rtw_init_io_priv(_adapter *padapter) { void (*set_intf_ops)(struct _io_ops *pops); struct io_priv *piopriv = &padapter->iopriv; struct intf_hdl *pintf = &piopriv->intf; piopriv->padapter = padapter; pintf->padapter = padapter; pintf->pintf_dev = &padapter->dvobjpriv; #ifdef CONFIG_SDIO_HCI set_intf_ops = &sdio_set_intf_ops; #endif //END OF CONFIG_SDIO_HCI #ifdef CONFIG_USB_HCI set_intf_ops = &usb_set_intf_ops; #endif //END OF CONFIG_USB_HCI #ifdef CONFIG_PCI_HCI set_intf_ops = &pci_set_intf_ops; #endif //END OF CONFIG_PCI_HCI if(set_intf_ops==NULL) return _FAIL; set_intf_ops(&pintf->io_ops); return _SUCCESS; }
uint _init_intf_hdl(_adapter *padapter, struct intf_hdl *pintf_hdl) { struct intf_priv *pintf_priv; void (*set_intf_option)(u32 *poption) = NULL; void (*set_intf_funs)(struct intf_hdl *pintf_hdl); void (*set_intf_ops)(struct _io_ops *pops); uint (*init_intf_priv)(struct intf_priv *pintfpriv); _func_enter_; #ifdef CONFIG_SDIO_HCI set_intf_option = &(sdio_set_intf_option); set_intf_funs = &(sdio_set_intf_funs); set_intf_ops = &sdio_set_intf_ops; init_intf_priv = &sdio_init_intf_priv; #endif #ifdef CONFIG_USB_HCI set_intf_option = &(usb_set_intf_option); set_intf_funs = &(usb_set_intf_funs); set_intf_ops = &usb_set_intf_ops; init_intf_priv = &usb_init_intf_priv; #endif pintf_priv = pintf_hdl->pintfpriv =(struct intf_priv *) _malloc(sizeof(struct intf_priv)); if (pintf_priv == NULL) goto _init_intf_hdl_fail; pintf_hdl->adapter = (u8*)padapter; set_intf_option(&pintf_hdl->intf_option); set_intf_funs(pintf_hdl); set_intf_ops(&pintf_hdl->io_ops); pintf_priv->intf_dev = (u8 *)&(padapter->dvobjpriv); if (init_intf_priv(pintf_priv) == _FAIL) goto _init_intf_hdl_fail; _func_exit_; return _SUCCESS; _init_intf_hdl_fail: if (pintf_priv) { _mfree((u8 *)pintf_priv, sizeof(struct intf_priv)); } _func_exit_; return _FAIL; }
int rtw_init_io_priv(_adapter *padapter, void (*set_intf_ops)(_adapter *padapter,struct _io_ops *pops)) { struct io_priv *piopriv = &padapter->iopriv; struct intf_hdl *pintf = &piopriv->intf; if (set_intf_ops == NULL) return _FAIL; piopriv->padapter = padapter; pintf->padapter = padapter; pintf->pintf_dev = adapter_to_dvobj(padapter); set_intf_ops(padapter,&pintf->io_ops); return _SUCCESS; }
int init_io_priv(_adapter *padapter) { void (*set_intf_ops)(struct _io_ops *pops); struct io_priv *piopriv = &padapter->iopriv; struct intf_hdl *pintf = &piopriv->intf; piopriv->padapter = padapter; pintf->padapter = padapter; pintf->pintf_dev = &padapter->dvobjpriv; _rtw_mutex_init(&pintf->io_mutex ); #ifdef CONFIG_SDIO_HCI set_intf_ops = &sdio_set_intf_ops; #endif //END OF CONFIG_SDIO_HCI #ifdef CONFIG_USB_HCI if(padapter->chip_type == RTL8188C_8192C) { #ifdef CONFIG_RTL8192C set_intf_ops = &rtl8192cu_set_intf_ops; #endif } else if(padapter->chip_type == RTL8192D) { #ifdef CONFIG_RTL8192D set_intf_ops = &rtl8192cu_set_intf_ops; #endif } else { set_intf_ops = NULL; } #endif //END OF CONFIG_USB_HCI if(set_intf_ops==NULL) return _FAIL; set_intf_ops(&pintf->io_ops); return _SUCCESS; }