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