dm: core: Create a new header file for 'compat' features
[oweals/u-boot.git] / drivers / power / domain / ti-sci-power-domain.c
index b9cd37b6129229197c35f48b4f0e642b74d2278b..a5866703ae37899d9a69d0d32d6cf72755ff8470 100644 (file)
 #include <common.h>
 #include <dm.h>
 #include <errno.h>
+#include <malloc.h>
 #include <power-domain-uclass.h>
+#include <dm/device_compat.h>
+#include <linux/err.h>
 #include <linux/soc/ti/ti_sci_protocol.h>
 #include <dt-bindings/soc/ti,sci_pm_domain.h>
 
@@ -68,8 +71,8 @@ static int ti_sci_power_domain_on(struct power_domain *pd)
                ret = dops->get_device(sci, pd->id);
 
        if (ret)
-               dev_err(power_domain->dev, "%s: get_device failed (%d)\n",
-                       __func__, ret);
+               dev_err(pd->dev, "%s: get_device(%lu) failed (%d)\n",
+                       __func__, pd->id, ret);
 
        return ret;
 }
@@ -85,8 +88,8 @@ static int ti_sci_power_domain_off(struct power_domain *pd)
 
        ret = dops->put_device(sci, pd->id);
        if (ret)
-               dev_err(power_domain->dev, "%s: put_device failed (%d)\n",
-                       __func__, ret);
+               dev_err(pd->dev, "%s: put_device(%lu) failed (%d)\n",
+                       __func__, pd->id, ret);
 
        return ret;
 }
@@ -120,7 +123,7 @@ static const struct udevice_id ti_sci_power_domain_of_match[] = {
 
 static struct power_domain_ops ti_sci_power_domain_ops = {
        .request = ti_sci_power_domain_request,
-       .free = ti_sci_power_domain_free,
+       .rfree = ti_sci_power_domain_free,
        .on = ti_sci_power_domain_on,
        .off = ti_sci_power_domain_off,
        .of_xlate = ti_sci_power_domain_of_xlate,