pf9453
static int pf9453_pmic_write(struct pf9453 *pf9453, unsigned int reg, u8 mask, unsigned int val)
ret = regmap_read(pf9453->regmap, reg, &rxBuf);
dev_err(pf9453->dev, "Read reg=%0x error!\n", reg);
ret = regmap_raw_write(pf9453->regmap, PF9453_REG_LOCK, &key, 1U);
dev_err(pf9453->dev, "Write reg=%0x error!\n", reg);
ret = regmap_raw_write(pf9453->regmap, reg, &data, 1U);
dev_err(pf9453->dev, "Write reg=%0x error!\n", reg);
ret = regmap_raw_write(pf9453->regmap, PF9453_REG_LOCK, &key, 1U);
dev_err(pf9453->dev, "Write reg=%0x error!\n", reg);
ret = regmap_raw_write(pf9453->regmap, reg, &data, 1U);
dev_err(pf9453->dev, "Write reg=%0x error!\n", reg);
struct pf9453 *pf9453 = dev_get_drvdata(rdev->dev.parent);
return pf9453_pmic_write(pf9453, rdev->desc->enable_reg, rdev->desc->enable_mask, val);
struct pf9453 *pf9453 = dev_get_drvdata(rdev->dev.parent);
return pf9453_pmic_write(pf9453, rdev->desc->enable_reg, rdev->desc->enable_mask, val);
struct pf9453 *pf9453 = dev_get_drvdata(rdev->dev.parent);
ret = pf9453_pmic_write(pf9453, rdev->desc->vsel_reg, rdev->desc->vsel_mask, sel);
ret = pf9453_pmic_write(pf9453, rdev->desc->apply_reg,
struct pf9453 *pf9453 = dev_get_drvdata(rdev->dev.parent);
return pf9453_pmic_write(pf9453, rdev->desc->ramp_reg,
struct device_node *np, struct pf9453 *pf9453,
ret = pf9453_pmic_write(pf9453, reg, mask, i);
struct pf9453 *pf9453 = dev_get_drvdata(cfg->dev);
ret = buck_set_dvs(desc, np, pf9453, prop, reg, mask);
struct pf9453 *pf9453 = data;
struct regmap *regmap = pf9453->regmap;
dev_err(pf9453->dev, "Failed to read INT1(%d)\n", ret);
dev_warn(pf9453->dev, "IRQ_RSTB interrupt.\n");
dev_warn(pf9453->dev, "IRQ_ONKEY interrupt.\n");
dev_warn(pf9453->dev, "VRFLT1 interrupt.\n");
dev_warn(pf9453->dev, "IRQ_RESETKEY interrupt.\n");
dev_warn(pf9453->dev, "LOWVSYS interrupt.\n");
dev_warn(pf9453->dev, "IRQ_THERM_100 interrupt.\n");
dev_warn(pf9453->dev, "IRQ_THERM_80 interrupt.\n");
struct pf9453 *pf9453;
pf9453 = devm_kzalloc(&i2c->dev, sizeof(struct pf9453), GFP_KERNEL);
if (!pf9453)
pf9453->regmap = devm_regmap_init_i2c(i2c, &pf9453_regmap_config);
if (IS_ERR(pf9453->regmap))
return dev_err_probe(&i2c->dev, PTR_ERR(pf9453->regmap),
pf9453->irq = i2c->irq;
pf9453->dev = &i2c->dev;
dev_set_drvdata(&i2c->dev, pf9453);
ret = regmap_read(pf9453->regmap, PF9453_REG_DEV_ID, &device_id);
config.regmap = pf9453->regmap;
config.dev = pf9453->dev;
rdev = devm_regulator_register(pf9453->dev, desc, &config);
return dev_err_probe(pf9453->dev, PTR_ERR(rdev),
ret = devm_request_threaded_irq(pf9453->dev, pf9453->irq, NULL, pf9453_irq_handler,
"pf9453-irq", pf9453);
return dev_err_probe(pf9453->dev, ret, "Failed to request IRQ: %d\n", pf9453->irq);
ret = pf9453_pmic_write(pf9453, PF9453_REG_INT1_MASK,
ret = pf9453_pmic_write(pf9453, PF9453_REG_RESET_CTRL, WDOG_B_CFG_MASK, reset_ctrl);
pf9453->sd_vsel_gpio = gpiod_get_optional(pf9453->dev, "sd-vsel", GPIOD_OUT_HIGH);
if (IS_ERR(pf9453->sd_vsel_gpio))
return dev_err_probe(&i2c->dev, PTR_ERR(pf9453->sd_vsel_gpio),