Lines Matching full:power
3 * AXP20X and AXP22X PMICs' ACIN power supply driver
36 #define DRVNAME "axp20x-ac-power-supply"
47 struct axp20x_ac_power *power = devid; in axp20x_ac_power_irq() local
49 power_supply_changed(power->supply); in axp20x_ac_power_irq()
58 struct axp20x_ac_power *power = power_supply_get_drvdata(psy); in axp20x_ac_power_get_property() local
63 ret = regmap_read(power->regmap, AXP20X_PWR_INPUT_STATUS, ®); in axp20x_ac_power_get_property()
76 ret = regmap_read(power->regmap, AXP20X_PWR_INPUT_STATUS, ®); in axp20x_ac_power_get_property()
84 ret = regmap_read(power->regmap, AXP20X_PWR_INPUT_STATUS, ®); in axp20x_ac_power_get_property()
92 ret = iio_read_channel_processed(power->acin_v, &val->intval); in axp20x_ac_power_get_property()
96 /* IIO framework gives mV but Power Supply framework gives uV */ in axp20x_ac_power_get_property()
102 ret = iio_read_channel_processed(power->acin_i, &val->intval); in axp20x_ac_power_get_property()
106 /* IIO framework gives mA but Power Supply framework gives uA */ in axp20x_ac_power_get_property()
112 ret = regmap_read(power->regmap, AXP813_ACIN_PATH_CTRL, ®); in axp20x_ac_power_get_property()
121 ret = regmap_read(power->regmap, AXP813_ACIN_PATH_CTRL, ®); in axp20x_ac_power_get_property()
143 struct axp20x_ac_power *power = power_supply_get_drvdata(psy); in axp813_ac_power_set_property() local
150 return regmap_update_bits(power->regmap, AXP813_ACIN_PATH_CTRL, in axp813_ac_power_set_property()
158 return regmap_update_bits(power->regmap, AXP813_ACIN_PATH_CTRL, in axp813_ac_power_set_property()
248 struct axp20x_ac_power *power; in axp20x_ac_power_probe() local
262 power = devm_kzalloc(&pdev->dev, sizeof(*power), GFP_KERNEL); in axp20x_ac_power_probe()
263 if (!power) in axp20x_ac_power_probe()
269 power->acin_v = devm_iio_channel_get(&pdev->dev, "acin_v"); in axp20x_ac_power_probe()
270 if (IS_ERR(power->acin_v)) { in axp20x_ac_power_probe()
271 if (PTR_ERR(power->acin_v) == -ENODEV) in axp20x_ac_power_probe()
273 return PTR_ERR(power->acin_v); in axp20x_ac_power_probe()
276 power->acin_i = devm_iio_channel_get(&pdev->dev, "acin_i"); in axp20x_ac_power_probe()
277 if (IS_ERR(power->acin_i)) { in axp20x_ac_power_probe()
278 if (PTR_ERR(power->acin_i) == -ENODEV) in axp20x_ac_power_probe()
280 return PTR_ERR(power->acin_i); in axp20x_ac_power_probe()
284 power->regmap = dev_get_regmap(pdev->dev.parent, NULL); in axp20x_ac_power_probe()
286 platform_set_drvdata(pdev, power); in axp20x_ac_power_probe()
289 psy_cfg.drv_data = power; in axp20x_ac_power_probe()
291 power->supply = devm_power_supply_register(&pdev->dev, in axp20x_ac_power_probe()
294 if (IS_ERR(power->supply)) in axp20x_ac_power_probe()
295 return PTR_ERR(power->supply); in axp20x_ac_power_probe()
308 DRVNAME, power); in axp20x_ac_power_probe()
319 .compatible = "x-powers,axp202-ac-power-supply",
322 .compatible = "x-powers,axp221-ac-power-supply",
325 .compatible = "x-powers,axp813-ac-power-supply",
342 MODULE_DESCRIPTION("AXP20X and AXP22X PMICs' AC power supply driver");