Lines Matching refs:priv

28 static int cxd2820r_wr_regs_i2c(struct cxd2820r_priv *priv, u8 i2c, u8 reg,  in cxd2820r_wr_regs_i2c()  argument
43 dev_warn(&priv->i2c->dev, in cxd2820r_wr_regs_i2c()
52 ret = i2c_transfer(priv->i2c, msg, 1); in cxd2820r_wr_regs_i2c()
56 dev_warn(&priv->i2c->dev, "%s: i2c wr failed=%d reg=%02x " \ in cxd2820r_wr_regs_i2c()
64 static int cxd2820r_rd_regs_i2c(struct cxd2820r_priv *priv, u8 i2c, u8 reg, in cxd2820r_rd_regs_i2c() argument
84 dev_warn(&priv->i2c->dev, in cxd2820r_rd_regs_i2c()
90 ret = i2c_transfer(priv->i2c, msg, 2); in cxd2820r_rd_regs_i2c()
95 dev_warn(&priv->i2c->dev, "%s: i2c rd failed=%d reg=%02x " \ in cxd2820r_rd_regs_i2c()
104 int cxd2820r_wr_regs(struct cxd2820r_priv *priv, u32 reginfo, u8 *val, in cxd2820r_wr_regs() argument
115 i2c_addr = priv->cfg.i2c_address | (1 << 1); /* DVB-C */ in cxd2820r_wr_regs()
117 i2c_addr = priv->cfg.i2c_address; /* DVB-T/T2 */ in cxd2820r_wr_regs()
120 if (bank != priv->bank[i2c]) { in cxd2820r_wr_regs()
121 ret = cxd2820r_wr_regs_i2c(priv, i2c_addr, 0x00, &bank, 1); in cxd2820r_wr_regs()
124 priv->bank[i2c] = bank; in cxd2820r_wr_regs()
126 return cxd2820r_wr_regs_i2c(priv, i2c_addr, reg, val, len); in cxd2820r_wr_regs()
130 int cxd2820r_rd_regs(struct cxd2820r_priv *priv, u32 reginfo, u8 *val, in cxd2820r_rd_regs() argument
141 i2c_addr = priv->cfg.i2c_address | (1 << 1); /* DVB-C */ in cxd2820r_rd_regs()
143 i2c_addr = priv->cfg.i2c_address; /* DVB-T/T2 */ in cxd2820r_rd_regs()
146 if (bank != priv->bank[i2c]) { in cxd2820r_rd_regs()
147 ret = cxd2820r_wr_regs_i2c(priv, i2c_addr, 0x00, &bank, 1); in cxd2820r_rd_regs()
150 priv->bank[i2c] = bank; in cxd2820r_rd_regs()
152 return cxd2820r_rd_regs_i2c(priv, i2c_addr, reg, val, len); in cxd2820r_rd_regs()
156 int cxd2820r_wr_reg(struct cxd2820r_priv *priv, u32 reg, u8 val) in cxd2820r_wr_reg() argument
158 return cxd2820r_wr_regs(priv, reg, &val, 1); in cxd2820r_wr_reg()
162 int cxd2820r_rd_reg(struct cxd2820r_priv *priv, u32 reg, u8 *val) in cxd2820r_rd_reg() argument
164 return cxd2820r_rd_regs(priv, reg, val, 1); in cxd2820r_rd_reg()
168 int cxd2820r_wr_reg_mask(struct cxd2820r_priv *priv, u32 reg, u8 val, in cxd2820r_wr_reg_mask() argument
176 ret = cxd2820r_rd_reg(priv, reg, &tmp); in cxd2820r_wr_reg_mask()
185 return cxd2820r_wr_reg(priv, reg, val); in cxd2820r_wr_reg_mask()
190 struct cxd2820r_priv *priv = fe->demodulator_priv; in cxd2820r_gpio() local
194 dev_dbg(&priv->i2c->dev, "%s: delsys=%d\n", __func__, in cxd2820r_gpio()
198 if (!memcmp(gpio, priv->gpio, sizeof(priv->gpio))) in cxd2820r_gpio()
203 for (i = 0; i < sizeof(priv->gpio); i++) { in cxd2820r_gpio()
222 dev_dbg(&priv->i2c->dev, "%s: gpio i=%d %02x %02x\n", __func__, in cxd2820r_gpio()
226 dev_dbg(&priv->i2c->dev, "%s: wr gpio=%02x %02x\n", __func__, tmp0, in cxd2820r_gpio()
230 ret = cxd2820r_wr_reg_mask(priv, 0x00089, tmp0, 0xfc); in cxd2820r_gpio()
235 ret = cxd2820r_wr_reg_mask(priv, 0x0008e, tmp1, 0x3f); in cxd2820r_gpio()
239 memcpy(priv->gpio, gpio, sizeof(priv->gpio)); in cxd2820r_gpio()
243 dev_dbg(&priv->i2c->dev, "%s: failed=%d\n", __func__, ret); in cxd2820r_gpio()
249 struct cxd2820r_priv *priv = fe->demodulator_priv; in cxd2820r_set_frontend() local
253 dev_dbg(&priv->i2c->dev, "%s: delsys=%d\n", __func__, in cxd2820r_set_frontend()
282 dev_dbg(&priv->i2c->dev, "%s: error state=%d\n", __func__, in cxd2820r_set_frontend()
293 struct cxd2820r_priv *priv = fe->demodulator_priv; in cxd2820r_read_status() local
296 dev_dbg(&priv->i2c->dev, "%s: delsys=%d\n", __func__, in cxd2820r_read_status()
318 struct cxd2820r_priv *priv = fe->demodulator_priv; in cxd2820r_get_frontend() local
321 dev_dbg(&priv->i2c->dev, "%s: delsys=%d\n", __func__, in cxd2820r_get_frontend()
324 if (priv->delivery_system == SYS_UNDEFINED) in cxd2820r_get_frontend()
346 struct cxd2820r_priv *priv = fe->demodulator_priv; in cxd2820r_read_ber() local
349 dev_dbg(&priv->i2c->dev, "%s: delsys=%d\n", __func__, in cxd2820r_read_ber()
371 struct cxd2820r_priv *priv = fe->demodulator_priv; in cxd2820r_read_signal_strength() local
374 dev_dbg(&priv->i2c->dev, "%s: delsys=%d\n", __func__, in cxd2820r_read_signal_strength()
396 struct cxd2820r_priv *priv = fe->demodulator_priv; in cxd2820r_read_snr() local
399 dev_dbg(&priv->i2c->dev, "%s: delsys=%d\n", __func__, in cxd2820r_read_snr()
421 struct cxd2820r_priv *priv = fe->demodulator_priv; in cxd2820r_read_ucblocks() local
424 dev_dbg(&priv->i2c->dev, "%s: delsys=%d\n", __func__, in cxd2820r_read_ucblocks()
451 struct cxd2820r_priv *priv = fe->demodulator_priv; in cxd2820r_sleep() local
454 dev_dbg(&priv->i2c->dev, "%s: delsys=%d\n", __func__, in cxd2820r_sleep()
477 struct cxd2820r_priv *priv = fe->demodulator_priv; in cxd2820r_get_tune_settings() local
480 dev_dbg(&priv->i2c->dev, "%s: delsys=%d\n", __func__, in cxd2820r_get_tune_settings()
502 struct cxd2820r_priv *priv = fe->demodulator_priv; in cxd2820r_search() local
507 dev_dbg(&priv->i2c->dev, "%s: delsys=%d\n", __func__, in cxd2820r_search()
511 if (priv->last_tune_failed) { in cxd2820r_search()
512 if (priv->delivery_system == SYS_DVBT) { in cxd2820r_search()
518 } else if (priv->delivery_system == SYS_DVBT2) { in cxd2820r_search()
534 switch (priv->delivery_system) { in cxd2820r_search()
550 dev_dbg(&priv->i2c->dev, "%s: loop=%d\n", __func__, i); in cxd2820r_search()
562 priv->last_tune_failed = false; in cxd2820r_search()
565 priv->last_tune_failed = true; in cxd2820r_search()
570 dev_dbg(&priv->i2c->dev, "%s: failed=%d\n", __func__, ret); in cxd2820r_search()
581 struct cxd2820r_priv *priv = fe->demodulator_priv; in cxd2820r_release() local
583 dev_dbg(&priv->i2c->dev, "%s\n", __func__); in cxd2820r_release()
587 if (priv->gpio_chip.label) in cxd2820r_release()
588 gpiochip_remove(&priv->gpio_chip); in cxd2820r_release()
591 kfree(priv); in cxd2820r_release()
597 struct cxd2820r_priv *priv = fe->demodulator_priv; in cxd2820r_i2c_gate_ctrl() local
599 dev_dbg(&priv->i2c->dev, "%s: %d\n", __func__, enable); in cxd2820r_i2c_gate_ctrl()
602 return cxd2820r_wr_reg_mask(priv, 0xdb, enable ? 1 : 0, 0x1); in cxd2820r_i2c_gate_ctrl()
609 struct cxd2820r_priv *priv = in cxd2820r_gpio_direction_output() local
613 dev_dbg(&priv->i2c->dev, "%s: nr=%d val=%d\n", __func__, nr, val); in cxd2820r_gpio_direction_output()
615 memcpy(gpio, priv->gpio, sizeof(gpio)); in cxd2820r_gpio_direction_output()
618 return cxd2820r_gpio(&priv->fe, gpio); in cxd2820r_gpio_direction_output()
623 struct cxd2820r_priv *priv = in cxd2820r_gpio_set() local
627 dev_dbg(&priv->i2c->dev, "%s: nr=%d val=%d\n", __func__, nr, val); in cxd2820r_gpio_set()
629 memcpy(gpio, priv->gpio, sizeof(gpio)); in cxd2820r_gpio_set()
632 (void) cxd2820r_gpio(&priv->fe, gpio); in cxd2820r_gpio_set()
639 struct cxd2820r_priv *priv = in cxd2820r_gpio_get() local
642 dev_dbg(&priv->i2c->dev, "%s: nr=%d\n", __func__, nr); in cxd2820r_gpio_get()
644 return (priv->gpio[nr] >> 2) & 0x01; in cxd2820r_gpio_get()
698 struct cxd2820r_priv *priv; in cxd2820r_attach() local
702 priv = kzalloc(sizeof(struct cxd2820r_priv), GFP_KERNEL); in cxd2820r_attach()
703 if (!priv) { in cxd2820r_attach()
710 priv->i2c = i2c; in cxd2820r_attach()
711 memcpy(&priv->cfg, cfg, sizeof(struct cxd2820r_config)); in cxd2820r_attach()
712 memcpy(&priv->fe.ops, &cxd2820r_ops, sizeof(struct dvb_frontend_ops)); in cxd2820r_attach()
713 priv->fe.demodulator_priv = priv; in cxd2820r_attach()
715 priv->bank[0] = priv->bank[1] = 0xff; in cxd2820r_attach()
716 ret = cxd2820r_rd_reg(priv, 0x000fd, &tmp); in cxd2820r_attach()
717 dev_dbg(&priv->i2c->dev, "%s: chip id=%02x\n", __func__, tmp); in cxd2820r_attach()
724 priv->gpio_chip.label = KBUILD_MODNAME; in cxd2820r_attach()
725 priv->gpio_chip.dev = &priv->i2c->dev; in cxd2820r_attach()
726 priv->gpio_chip.owner = THIS_MODULE; in cxd2820r_attach()
727 priv->gpio_chip.direction_output = in cxd2820r_attach()
729 priv->gpio_chip.set = cxd2820r_gpio_set; in cxd2820r_attach()
730 priv->gpio_chip.get = cxd2820r_gpio_get; in cxd2820r_attach()
731 priv->gpio_chip.base = -1; /* dynamic allocation */ in cxd2820r_attach()
732 priv->gpio_chip.ngpio = GPIO_COUNT; in cxd2820r_attach()
733 priv->gpio_chip.can_sleep = 1; in cxd2820r_attach()
734 ret = gpiochip_add(&priv->gpio_chip); in cxd2820r_attach()
738 dev_dbg(&priv->i2c->dev, "%s: gpio_chip.base=%d\n", __func__, in cxd2820r_attach()
739 priv->gpio_chip.base); in cxd2820r_attach()
741 *gpio_chip_base = priv->gpio_chip.base; in cxd2820r_attach()
751 ret = cxd2820r_gpio(&priv->fe, gpio); in cxd2820r_attach()
757 return &priv->fe; in cxd2820r_attach()
760 kfree(priv); in cxd2820r_attach()