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()
292 struct cxd2820r_priv *priv = fe->demodulator_priv; in cxd2820r_read_status() local
295 dev_dbg(&priv->i2c->dev, "%s: delsys=%d\n", __func__, in cxd2820r_read_status()
317 struct cxd2820r_priv *priv = fe->demodulator_priv; in cxd2820r_get_frontend() local
320 dev_dbg(&priv->i2c->dev, "%s: delsys=%d\n", __func__, in cxd2820r_get_frontend()
323 if (priv->delivery_system == SYS_UNDEFINED) in cxd2820r_get_frontend()
345 struct cxd2820r_priv *priv = fe->demodulator_priv; in cxd2820r_read_ber() local
348 dev_dbg(&priv->i2c->dev, "%s: delsys=%d\n", __func__, in cxd2820r_read_ber()
370 struct cxd2820r_priv *priv = fe->demodulator_priv; in cxd2820r_read_signal_strength() local
373 dev_dbg(&priv->i2c->dev, "%s: delsys=%d\n", __func__, in cxd2820r_read_signal_strength()
395 struct cxd2820r_priv *priv = fe->demodulator_priv; in cxd2820r_read_snr() local
398 dev_dbg(&priv->i2c->dev, "%s: delsys=%d\n", __func__, in cxd2820r_read_snr()
420 struct cxd2820r_priv *priv = fe->demodulator_priv; in cxd2820r_read_ucblocks() local
423 dev_dbg(&priv->i2c->dev, "%s: delsys=%d\n", __func__, in cxd2820r_read_ucblocks()
450 struct cxd2820r_priv *priv = fe->demodulator_priv; in cxd2820r_sleep() local
453 dev_dbg(&priv->i2c->dev, "%s: delsys=%d\n", __func__, in cxd2820r_sleep()
476 struct cxd2820r_priv *priv = fe->demodulator_priv; in cxd2820r_get_tune_settings() local
479 dev_dbg(&priv->i2c->dev, "%s: delsys=%d\n", __func__, in cxd2820r_get_tune_settings()
501 struct cxd2820r_priv *priv = fe->demodulator_priv; in cxd2820r_search() local
506 dev_dbg(&priv->i2c->dev, "%s: delsys=%d\n", __func__, in cxd2820r_search()
510 if (priv->last_tune_failed) { in cxd2820r_search()
511 if (priv->delivery_system == SYS_DVBT) { in cxd2820r_search()
517 } else if (priv->delivery_system == SYS_DVBT2) { in cxd2820r_search()
533 switch (priv->delivery_system) { in cxd2820r_search()
549 dev_dbg(&priv->i2c->dev, "%s: loop=%d\n", __func__, i); in cxd2820r_search()
561 priv->last_tune_failed = false; in cxd2820r_search()
564 priv->last_tune_failed = true; in cxd2820r_search()
569 dev_dbg(&priv->i2c->dev, "%s: failed=%d\n", __func__, ret); in cxd2820r_search()
580 struct cxd2820r_priv *priv = fe->demodulator_priv; in cxd2820r_release() local
582 dev_dbg(&priv->i2c->dev, "%s\n", __func__); in cxd2820r_release()
586 if (priv->gpio_chip.label) in cxd2820r_release()
587 gpiochip_remove(&priv->gpio_chip); in cxd2820r_release()
590 kfree(priv); in cxd2820r_release()
596 struct cxd2820r_priv *priv = fe->demodulator_priv; in cxd2820r_i2c_gate_ctrl() local
598 dev_dbg(&priv->i2c->dev, "%s: %d\n", __func__, enable); in cxd2820r_i2c_gate_ctrl()
601 return cxd2820r_wr_reg_mask(priv, 0xdb, enable ? 1 : 0, 0x1); in cxd2820r_i2c_gate_ctrl()
608 struct cxd2820r_priv *priv = in cxd2820r_gpio_direction_output() local
612 dev_dbg(&priv->i2c->dev, "%s: nr=%d val=%d\n", __func__, nr, val); in cxd2820r_gpio_direction_output()
614 memcpy(gpio, priv->gpio, sizeof(gpio)); in cxd2820r_gpio_direction_output()
617 return cxd2820r_gpio(&priv->fe, gpio); in cxd2820r_gpio_direction_output()
622 struct cxd2820r_priv *priv = in cxd2820r_gpio_set() local
626 dev_dbg(&priv->i2c->dev, "%s: nr=%d val=%d\n", __func__, nr, val); in cxd2820r_gpio_set()
628 memcpy(gpio, priv->gpio, sizeof(gpio)); in cxd2820r_gpio_set()
631 (void) cxd2820r_gpio(&priv->fe, gpio); in cxd2820r_gpio_set()
638 struct cxd2820r_priv *priv = in cxd2820r_gpio_get() local
641 dev_dbg(&priv->i2c->dev, "%s: nr=%d\n", __func__, nr); in cxd2820r_gpio_get()
643 return (priv->gpio[nr] >> 2) & 0x01; in cxd2820r_gpio_get()
697 struct cxd2820r_priv *priv; in cxd2820r_attach() local
701 priv = kzalloc(sizeof(struct cxd2820r_priv), GFP_KERNEL); in cxd2820r_attach()
702 if (!priv) { in cxd2820r_attach()
709 priv->i2c = i2c; in cxd2820r_attach()
710 memcpy(&priv->cfg, cfg, sizeof(struct cxd2820r_config)); in cxd2820r_attach()
711 memcpy(&priv->fe.ops, &cxd2820r_ops, sizeof(struct dvb_frontend_ops)); in cxd2820r_attach()
712 priv->fe.demodulator_priv = priv; in cxd2820r_attach()
714 priv->bank[0] = priv->bank[1] = 0xff; in cxd2820r_attach()
715 ret = cxd2820r_rd_reg(priv, 0x000fd, &tmp); in cxd2820r_attach()
716 dev_dbg(&priv->i2c->dev, "%s: chip id=%02x\n", __func__, tmp); in cxd2820r_attach()
723 priv->gpio_chip.label = KBUILD_MODNAME; in cxd2820r_attach()
724 priv->gpio_chip.dev = &priv->i2c->dev; in cxd2820r_attach()
725 priv->gpio_chip.owner = THIS_MODULE; in cxd2820r_attach()
726 priv->gpio_chip.direction_output = in cxd2820r_attach()
728 priv->gpio_chip.set = cxd2820r_gpio_set; in cxd2820r_attach()
729 priv->gpio_chip.get = cxd2820r_gpio_get; in cxd2820r_attach()
730 priv->gpio_chip.base = -1; /* dynamic allocation */ in cxd2820r_attach()
731 priv->gpio_chip.ngpio = GPIO_COUNT; in cxd2820r_attach()
732 priv->gpio_chip.can_sleep = 1; in cxd2820r_attach()
733 ret = gpiochip_add(&priv->gpio_chip); in cxd2820r_attach()
737 dev_dbg(&priv->i2c->dev, "%s: gpio_chip.base=%d\n", __func__, in cxd2820r_attach()
738 priv->gpio_chip.base); in cxd2820r_attach()
740 *gpio_chip_base = priv->gpio_chip.base; in cxd2820r_attach()
750 ret = cxd2820r_gpio(&priv->fe, gpio); in cxd2820r_attach()
756 return &priv->fe; in cxd2820r_attach()
759 kfree(priv); in cxd2820r_attach()