static int chd_dec_open(struct inode *in, struct file *fd) { struct crystalhd_adp *adp = chd_get_adp(); int rc = 0; enum BC_STATUS sts = BC_STS_SUCCESS; struct crystalhd_user *uc = NULL; BCMLOG_ENTER; if (!adp) { BCMLOG_ERR("Invalid adp\n"); return -EINVAL; } if (adp->cfg_users >= BC_LINK_MAX_OPENS) { BCMLOG(BCMLOG_INFO, "Already in use.%d\n", adp->cfg_users); return -EBUSY; } sts = crystalhd_user_open(&adp->cmds, &uc); if (sts != BC_STS_SUCCESS) { BCMLOG_ERR("cmd_user_open - %d\n", sts); rc = -EBUSY; } adp->cfg_users++; fd->private_data = uc; return rc; }
static int chd_dec_open(struct inode *in, struct file *fd) { struct crystalhd_adp *adp = chd_get_adp(); struct device *dev = &adp->pdev->dev; int rc = 0; BC_STATUS sts = BC_STS_SUCCESS; struct crystalhd_user *uc = NULL; dev_dbg(dev, "Entering %s\n", __func__); if (!adp) { dev_err(dev, "Invalid adp\n"); return -EINVAL; } if (adp->cfg_users >= BC_LINK_MAX_OPENS) { dev_info(dev, "Already in use.%d\n", adp->cfg_users); return -EBUSY; } sts = crystalhd_user_open(&adp->cmds, &uc); if (sts != BC_STS_SUCCESS) { dev_err(dev, "cmd_user_open - %d\n", sts); rc = -EBUSY; } else { adp->cfg_users++; fd->private_data = uc; } return rc; }