mfd: intel_soc_pmic_mrfld: Convert to use new SCU IPC API
authorMika Westerberg <mika.westerberg@linux.intel.com>
Thu, 16 Apr 2020 08:15:44 +0000 (11:15 +0300)
committerLee Jones <lee.jones@linaro.org>
Fri, 24 Apr 2020 10:18:03 +0000 (11:18 +0100)
This converts the Intel Merrifield PMIC driver over the new SCU IPC API
where the SCU IPC instance is passed to the functions.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/intel_soc_pmic_mrfld.c

index 26a1551..bd94c98 100644 (file)
@@ -74,10 +74,11 @@ static const struct mfd_cell bcove_dev[] = {
 static int bcove_ipc_byte_reg_read(void *context, unsigned int reg,
                                    unsigned int *val)
 {
+       struct intel_soc_pmic *pmic = context;
        u8 ipc_out;
        int ret;
 
-       ret = intel_scu_ipc_ioread8(reg, &ipc_out);
+       ret = intel_scu_ipc_dev_ioread8(pmic->scu, reg, &ipc_out);
        if (ret)
                return ret;
 
@@ -88,10 +89,11 @@ static int bcove_ipc_byte_reg_read(void *context, unsigned int reg,
 static int bcove_ipc_byte_reg_write(void *context, unsigned int reg,
                                     unsigned int val)
 {
+       struct intel_soc_pmic *pmic = context;
        u8 ipc_in = val;
        int ret;
 
-       ret = intel_scu_ipc_iowrite8(reg, ipc_in);
+       ret = intel_scu_ipc_dev_iowrite8(pmic->scu, reg, ipc_in);
        if (ret)
                return ret;
 
@@ -117,6 +119,10 @@ static int bcove_probe(struct platform_device *pdev)
        if (!pmic)
                return -ENOMEM;
 
+       pmic->scu = devm_intel_scu_ipc_dev_get(dev);
+       if (!pmic->scu)
+               return -ENOMEM;
+
        platform_set_drvdata(pdev, pmic);
        pmic->dev = &pdev->dev;