aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorUlf Hansson <ulf.hansson@linaro.org>2024-12-19 15:49:44 +0100
committerUlf Hansson <ulf.hansson@linaro.org>2024-12-19 15:49:44 +0100
commit094041b176546a82db2ecc84b7a7d31d43d4ffb9 (patch)
tree28a174245b998481b122cf4a53bb29d1efce158d
parentpmdomain: ti_sci: handle wake IRQs for IO daisy chain wakeups (diff)
parentpmdomain: core: add dummy release function to genpd device (diff)
downloadwireguard-linux-094041b176546a82db2ecc84b7a7d31d43d4ffb9.tar.xz
wireguard-linux-094041b176546a82db2ecc84b7a7d31d43d4ffb9.zip
pmdomain: Merge branch fixes into next
Merge the pmdomain fixes for v6.13-rc[n] into the next branch, to allow them to get tested together with the new changes that are targeted for v6.14. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to '')
-rw-r--r--drivers/pmdomain/core.c6
-rw-r--r--drivers/pmdomain/imx/gpcv2.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/drivers/pmdomain/core.c b/drivers/pmdomain/core.c
index 6d61bcf9b21e..6c94137865c9 100644
--- a/drivers/pmdomain/core.c
+++ b/drivers/pmdomain/core.c
@@ -2142,6 +2142,11 @@ static int genpd_set_default_power_state(struct generic_pm_domain *genpd)
return 0;
}
+static void genpd_provider_release(struct device *dev)
+{
+ /* nothing to be done here */
+}
+
static int genpd_alloc_data(struct generic_pm_domain *genpd)
{
struct genpd_governor_data *gd = NULL;
@@ -2173,6 +2178,7 @@ static int genpd_alloc_data(struct generic_pm_domain *genpd)
genpd->gd = gd;
device_initialize(&genpd->dev);
+ genpd->dev.release = genpd_provider_release;
if (!genpd_is_dev_name_fw(genpd)) {
dev_set_name(&genpd->dev, "%s", genpd->name);
diff --git a/drivers/pmdomain/imx/gpcv2.c b/drivers/pmdomain/imx/gpcv2.c
index 4db4d666f5bf..958d34d4821b 100644
--- a/drivers/pmdomain/imx/gpcv2.c
+++ b/drivers/pmdomain/imx/gpcv2.c
@@ -1459,12 +1459,12 @@ static int imx_gpcv2_probe(struct platform_device *pdev)
.max_register = SZ_4K,
};
struct device *dev = &pdev->dev;
- struct device_node *pgc_np;
+ struct device_node *pgc_np __free(device_node) =
+ of_get_child_by_name(dev->of_node, "pgc");
struct regmap *regmap;
void __iomem *base;
int ret;
- pgc_np = of_get_child_by_name(dev->of_node, "pgc");
if (!pgc_np) {
dev_err(dev, "No power domains specified in DT\n");
return -EINVAL;