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; }
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; }