]> git.ipfire.org Git - thirdparty/linux.git/blobdiff - drivers/acpi/pmic/intel_pmic.c
ACPI / PMIC: Add generic intel_soc_pmic_exec_mipi_pmic_seq_element handling
[thirdparty/linux.git] / drivers / acpi / pmic / intel_pmic.c
index 471afeea87c214b8af030f6d27adb151cfd0d54e..c14cfaea92e25683e26970c24576a47ad3f8b927 100644 (file)
@@ -359,6 +359,15 @@ int intel_soc_pmic_exec_mipi_pmic_seq_element(u16 i2c_address, u32 reg_address,
                ret = d->exec_mipi_pmic_seq_element(intel_pmic_opregion->regmap,
                                                    i2c_address, reg_address,
                                                    value, mask);
+       } else if (d->pmic_i2c_address) {
+               if (i2c_address == d->pmic_i2c_address) {
+                       ret = regmap_update_bits(intel_pmic_opregion->regmap,
+                                                reg_address, mask, value);
+               } else {
+                       pr_err("%s: Unexpected i2c-addr: 0x%02x (reg-addr 0x%x value 0x%x mask 0x%x)\n",
+                              __func__, i2c_address, reg_address, value, mask);
+                       ret = -ENXIO;
+               }
        } else {
                pr_warn("%s: Not implemented\n", __func__);
                pr_warn("%s: i2c-addr: 0x%x reg-addr 0x%x value 0x%x mask 0x%x\n",