Lines Matching refs:rptr

92 static int eusb2_repeater_init_vregs(struct eusb2_repeater *rptr)  in eusb2_repeater_init_vregs()  argument
94 int num = rptr->cfg->num_vregs; in eusb2_repeater_init_vregs()
95 struct device *dev = rptr->dev; in eusb2_repeater_init_vregs()
98 rptr->vregs = devm_kcalloc(dev, num, sizeof(*rptr->vregs), GFP_KERNEL); in eusb2_repeater_init_vregs()
99 if (!rptr->vregs) in eusb2_repeater_init_vregs()
103 rptr->vregs[i].supply = rptr->cfg->vreg_list[i]; in eusb2_repeater_init_vregs()
105 return devm_regulator_bulk_get(dev, num, rptr->vregs); in eusb2_repeater_init_vregs()
110 struct eusb2_repeater *rptr = phy_get_drvdata(phy); in eusb2_repeater_init() local
111 struct device_node *np = rptr->dev->of_node; in eusb2_repeater_init()
112 struct regmap *regmap = rptr->regmap; in eusb2_repeater_init()
113 u32 base = rptr->base; in eusb2_repeater_init()
118 ret = regulator_bulk_enable(rptr->cfg->num_vregs, rptr->vregs); in eusb2_repeater_init()
125 for (int i = 0; i < rptr->cfg->init_tbl_num; i++) in eusb2_repeater_init()
126 regmap_write(regmap, base + rptr->cfg->init_tbl[i].reg, in eusb2_repeater_init()
127 rptr->cfg->init_tbl[i].value); in eusb2_repeater_init()
143 dev_err(rptr->dev, "initialization timed-out\n"); in eusb2_repeater_init()
151 struct eusb2_repeater *rptr = phy_get_drvdata(phy); in eusb2_repeater_set_mode() local
152 struct regmap *regmap = rptr->regmap; in eusb2_repeater_set_mode()
153 u32 base = rptr->base; in eusb2_repeater_set_mode()
184 struct eusb2_repeater *rptr = phy_get_drvdata(phy); in eusb2_repeater_exit() local
186 return regulator_bulk_disable(rptr->cfg->num_vregs, rptr->vregs); in eusb2_repeater_exit()
198 struct eusb2_repeater *rptr; in eusb2_repeater_probe() local
205 rptr = devm_kzalloc(dev, sizeof(*rptr), GFP_KERNEL); in eusb2_repeater_probe()
206 if (!rptr) in eusb2_repeater_probe()
209 rptr->dev = dev; in eusb2_repeater_probe()
210 dev_set_drvdata(dev, rptr); in eusb2_repeater_probe()
212 rptr->cfg = of_device_get_match_data(dev); in eusb2_repeater_probe()
213 if (!rptr->cfg) in eusb2_repeater_probe()
216 rptr->regmap = dev_get_regmap(dev->parent, NULL); in eusb2_repeater_probe()
217 if (!rptr->regmap) in eusb2_repeater_probe()
224 rptr->base = res; in eusb2_repeater_probe()
226 ret = eusb2_repeater_init_vregs(rptr); in eusb2_repeater_probe()
232 rptr->phy = devm_phy_create(dev, np, &eusb2_repeater_ops); in eusb2_repeater_probe()
233 if (IS_ERR(rptr->phy)) { in eusb2_repeater_probe()
235 return PTR_ERR(rptr->phy); in eusb2_repeater_probe()
238 phy_set_drvdata(rptr->phy, rptr); in eusb2_repeater_probe()
249 struct eusb2_repeater *rptr = platform_get_drvdata(pdev); in eusb2_repeater_remove() local
251 if (!rptr) in eusb2_repeater_remove()
254 eusb2_repeater_exit(rptr->phy); in eusb2_repeater_remove()