int msm_pm_app_rpc_init(void) { #if 1 /* allow qsd8650 */ #else if (!machine_is_qsd8x50_ffa() && !machine_is_msm7x27_ffa()) return -ENOTSUPP; #endif boost_vreg = vreg_get(NULL, "boost"); if (IS_ERR(boost_vreg)) { pr_err("%s: boost vreg get failed\n", __func__); return PTR_ERR(boost_vreg); } usb_vreg = vreg_get(NULL, "usb"); if (IS_ERR(usb_vreg)) { pr_err("%s: usb vreg get failed\n", __func__); vreg_put(usb_vreg); return PTR_ERR(usb_vreg); } client = msm_rpc_register_client("pmapp_usb", PM_APP_USB_PROG, PM_APP_USB_VERS_2_1, 1, pm_app_usb_cb_func); if (!IS_ERR(client)) { rpc_pmapp_init_rpc_ids(PM_APP_USB_VERS_2_1); goto done; } client = msm_rpc_register_client("pmapp_usb", PM_APP_USB_PROG, PM_APP_USB_VERS_1_2, 1, pm_app_usb_cb_func); if (!IS_ERR(client)) { rpc_pmapp_init_rpc_ids(PM_APP_USB_VERS_1_2); goto done; } client = msm_rpc_register_client("pmapp_usb", PM_APP_USB_PROG, PM_APP_USB_VERS_1_1, 1, pm_app_usb_cb_func); if (!IS_ERR(client)) rpc_pmapp_init_rpc_ids(PM_APP_USB_VERS_1_1); else return PTR_ERR(client); done: return 0; }
int msm_pm_app_rpc_init(void (*callback)(int online)) { uint32_t cb_id, rc; if (!machine_is_qsd8x50_ffa() && !machine_is_qsd8x50a_ffa() && !machine_is_msm7x27_ffa()) return -ENOTSUPP; client = msm_rpc_register_client("pmapp_usb", PMAPP_RPC_PROG, PMAPP_RPC_VER_2_1, 1, pm_app_usb_cb_func); if (!IS_ERR(client)) { rpc_pmapp_init_rpc_ids(PMAPP_RPC_VER_2_1); goto done; } client = msm_rpc_register_client("pmapp_usb", PMAPP_RPC_PROG, PMAPP_RPC_VER_1_2, 1, pm_app_usb_cb_func); if (!IS_ERR(client)) { rpc_pmapp_init_rpc_ids(PMAPP_RPC_VER_1_2); goto done; } client = msm_rpc_register_client("pmapp_usb", PMAPP_RPC_PROG, PMAPP_RPC_VER_1_1, 1, pm_app_usb_cb_func); if (!IS_ERR(client)) rpc_pmapp_init_rpc_ids(PMAPP_RPC_VER_1_1); else return PTR_ERR(client); done: cb_id = msm_rpc_add_cb_func(client, (void *)callback); /* In case of NULL callback funtion, cb_id would be -1 */ if ((int) cb_id < -1) return cb_id; rc = msm_rpc_client_req(client, rpc_ids.reg_for_vbus_valid, vbus_sess_valid_arg_cb, &cb_id, NULL, NULL, -1); return rc; }