regulator: sy7636a: fix lifecycle of power good gpio

Attach the power good gpio to the regulator device devres instead of the
parent device to fix problems if probe is run multiple times
(rmmod/insmod or some deferral).

Fixes: 8c485bedfb785 ("regulator: sy7636a: Initial commit")
Signed-off-by: Andreas Kemnade <akemnade@kernel.org>
Reviewed-by: Alistair Francis <alistair@alistair23.me>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Message-ID: <20250906-sy7636-rsrc-v1-2-e2886a9763a7@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by Andreas Kemnade and committed by Mark Brown c05d0b32 b320789d

+4 -3
+4 -3
drivers/regulator/sy7636a-regulator.c
··· 83 83 if (!regmap) 84 84 return -EPROBE_DEFER; 85 85 86 - gdp = devm_gpiod_get(pdev->dev.parent, "epd-pwr-good", GPIOD_IN); 86 + device_set_of_node_from_dev(&pdev->dev, pdev->dev.parent); 87 + 88 + gdp = devm_gpiod_get(&pdev->dev, "epd-pwr-good", GPIOD_IN); 87 89 if (IS_ERR(gdp)) { 88 - dev_err(pdev->dev.parent, "Power good GPIO fault %ld\n", PTR_ERR(gdp)); 90 + dev_err(&pdev->dev, "Power good GPIO fault %ld\n", PTR_ERR(gdp)); 89 91 return PTR_ERR(gdp); 90 92 } 91 93 ··· 107 105 } 108 106 109 107 config.dev = &pdev->dev; 110 - config.dev->of_node = pdev->dev.parent->of_node; 111 108 config.regmap = regmap; 112 109 113 110 rdev = devm_regulator_register(&pdev->dev, &desc, &config);