static enum rpc_accept_stat rpc_bbc_bw_register( u32 version, struct nvshm_rpc_message *req, struct nvshm_rpc_message **resp) { u32 bw; struct nvshm_rpc_datum_out req_data[] = { NVSHM_RPC_OUT_UINT(&bw), }; int rc; /* Decode request */ if (nvshm_rpc_utils_decode_args(req, false, req_data, ARRAY_SIZE(req_data)) < 0) return RPC_GARBAGE_ARGS; /* Call */ rc = tegra_bbc_proxy_bw_register(proxy_dev, bw); /* Encode response */ { struct nvshm_rpc_datum_in resp_data[] = { NVSHM_RPC_IN_SINT(rc), }; *resp = nvshm_rpc_utils_prepare_response(req, RPC_SUCCESS, resp_data, ARRAY_SIZE(resp_data)); } return *resp ? RPC_SUCCESS : RPC_SYSTEM_ERR; }
static ssize_t iso_register_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t size) { unsigned int bw; int ret; if (sscanf(buf, "%u", &bw) != 1) return -EINVAL; ret = tegra_bbc_proxy_bw_register(dev, bw); return ret ? ret : size; }