From nobody Mon Apr 6 06:12:17 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C3C78ECAAD5 for ; Fri, 9 Sep 2022 17:55:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230468AbiIIRzf (ORCPT ); Fri, 9 Sep 2022 13:55:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57552 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229685AbiIIRzc (ORCPT ); Fri, 9 Sep 2022 13:55:32 -0400 Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 290AEA6AF3; Fri, 9 Sep 2022 10:55:31 -0700 (PDT) Received: from jupiter.universe (dyndsl-095-033-168-128.ewe-ip-backbone.de [95.33.168.128]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: sre) by madras.collabora.co.uk (Postfix) with ESMTPSA id 53BEE6601FD0; Fri, 9 Sep 2022 18:55:29 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1662746129; bh=UP5o/tvjF82X745/6YwLJBWyLQY3SW00yYxIUB5+Do8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=hJONBOPAMr6HM9uY4kDOYbV7C2m6PikhItKE1iO8TQnTQv1tQAQQet4B5BLEOvvud zk9rmXVz5u7nQa96jsfyRWLGJIoyLTByI8J5fqYAoD1r/Mi2yteQMcwMfmWm2ExQii f4VBSI5A9BkJTolFHI1T1XeHlRx5L4UY+m8DecFZ6QgUeSrKWU/e3B1aRSDrQUw6WW dxgC5qZXkadzajHhpikFuQnhVVZtc0UK2xFH/PSQ1FLPrjyy9F2BoDPN+1K3LJwcYw ctZXJja0FxVNm73A1cfbg4hFGd7Nazq7pG7IoxNvRqpm36/+4X1wJxFYRVz8U3qWrr tsKzNfBprG4QA== Received: by jupiter.universe (Postfix, from userid 1000) id 1AC8C48016E; Fri, 9 Sep 2022 19:55:27 +0200 (CEST) From: Sebastian Reichel To: Heiko Stuebner , Rob Herring , Krzysztof Kozlowski , Lee Jones Cc: Michael Turquette , Stephen Boyd , Linus Walleij , Mark Brown , Liam Girdwood , Alexandre Belloni , Alessandro Zummo , linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Sebastian Reichel , kernel@collabora.com Subject: [PATCHv3 04/14] regulator: rk808: reduce 'struct rk808' usage Date: Fri, 9 Sep 2022 19:55:12 +0200 Message-Id: <20220909175522.179175-5-sebastian.reichel@collabora.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220909175522.179175-1-sebastian.reichel@collabora.com> References: <20220909175522.179175-1-sebastian.reichel@collabora.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Reduce usage of 'struct rk808' (driver data of the parent MFD), so that only the chip variant field is still being accessed directly. This allows restructuring the MFD driver to support SPI based PMICs. Acked-by: Mark Brown Signed-off-by: Sebastian Reichel --- drivers/regulator/rk808-regulator.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/drivers/regulator/rk808-regulator.c b/drivers/regulator/rk808-= regulator.c index 127dc2e2e690..ce9c64cadeba 100644 --- a/drivers/regulator/rk808-regulator.c +++ b/drivers/regulator/rk808-regulator.c @@ -14,7 +14,6 @@ =20 #include #include -#include #include #include #include @@ -1286,19 +1285,23 @@ static int rk808_regulator_dt_parse_pdata(struct de= vice *dev, static int rk808_regulator_probe(struct platform_device *pdev) { struct rk808 *rk808 =3D dev_get_drvdata(pdev->dev.parent); - struct i2c_client *client =3D rk808->i2c; struct regulator_config config =3D {}; struct regulator_dev *rk808_rdev; struct rk808_regulator_data *pdata; const struct regulator_desc *regulators; + struct regmap *regmap; int ret, i, nregulators; =20 + regmap =3D dev_get_regmap(pdev->dev.parent, NULL); + if (!regmap) + return -ENODEV; + pdata =3D devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL); if (!pdata) return -ENOMEM; =20 - ret =3D rk808_regulator_dt_parse_pdata(&pdev->dev, &client->dev, - rk808->regmap, pdata); + ret =3D rk808_regulator_dt_parse_pdata(&pdev->dev, pdev->dev.parent, + regmap, pdata); if (ret < 0) return ret; =20 @@ -1326,21 +1329,22 @@ static int rk808_regulator_probe(struct platform_de= vice *pdev) nregulators =3D RK818_NUM_REGULATORS; break; default: - dev_err(&client->dev, "unsupported RK8XX ID %lu\n", + dev_err(&pdev->dev, "unsupported RK8XX ID %lu\n", rk808->variant); return -EINVAL; } =20 - config.dev =3D &client->dev; + config.dev =3D &pdev->dev; + config.dev->of_node =3D pdev->dev.parent->of_node; config.driver_data =3D pdata; - config.regmap =3D rk808->regmap; + config.regmap =3D regmap; =20 /* Instantiate the regulators */ for (i =3D 0; i < nregulators; i++) { rk808_rdev =3D devm_regulator_register(&pdev->dev, ®ulators[i], &config); if (IS_ERR(rk808_rdev)) { - dev_err(&client->dev, + dev_err(&pdev->dev, "failed to register %d regulator\n", i); return PTR_ERR(rk808_rdev); } --=20 2.35.1