From nobody Thu Sep 19 23:05:59 2024 Received: from smtp.smtpout.orange.fr (smtp-15.smtpout.orange.fr [80.12.242.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DA045AD24 for ; Sun, 7 Jul 2024 06:23:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=80.12.242.15 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720333432; cv=none; b=kvsi6mu2SVXE7K0lPvDZuctBdUQzqw5QL1I4X/yH4c5Sjz0A6b9kUQdsY5R0HL3CfoEjnjLUWUqIsskLBc3CAFa3HB08kASfyZkIYYihjbF2OPDdrcOLUTP+cMudvsQsM6nGIo7440Ht4qiDxC1CkgUZe4NFj/vJaNicXfieQ4A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720333432; c=relaxed/simple; bh=Kr8q7jgtvxXVl4D8u942YnL8udJewM780MCOxyFlPCI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FQsUWAOZxhL5bU0deLNsktXMHbx0WxRoV1d4llinQ3zPu24DaO/L8GSlgD19hLzVAOn5Ov+qwgQp/CFE+Ca+40gt8iYvpmfDwM7OTKfQNnfB93Yariasr5JLb+OrqE+9iylt7ifEpU9hVVjYord8mT8r86K4kt5WTIByhwN2rqc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=wanadoo.fr; spf=pass smtp.mailfrom=wanadoo.fr; dkim=pass (2048-bit key) header.d=wanadoo.fr header.i=@wanadoo.fr header.b=UG1BaYS5; arc=none smtp.client-ip=80.12.242.15 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=wanadoo.fr Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=wanadoo.fr Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=wanadoo.fr header.i=@wanadoo.fr header.b="UG1BaYS5" Received: from fedora.home ([86.243.222.230]) by smtp.orange.fr with ESMTPA id QKkEsyOxChEtDQKkWs8JLE; Sun, 07 Jul 2024 07:47:49 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wanadoo.fr; s=t20230301; t=1720331269; bh=Ghi6/9KK5dnA4d7xrwkCyOhDZvJBSxCQgYi3tZ7zCuA=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=UG1BaYS5p50YBPSwi/Swqw/Ei+LajcK5WrI3tsOSriwLjEBS4TtTB64qkeuRQBvZq pqg4k0guhhYIzkmJIY7VzCHzOIEePsz5qPbDzkI0b16m97fmLj1bl7aJNlAXQGmvil BMwQ63yIMqJ9ogHWOuan2tiWMhtDNBLu/hycRjVlz7vrhDsF3cYA34ROnc4ycw6YcK TfgO3c9uVxNoXtvCOZnv8DuTsTjbdTivBTLQMNItDjjeBNB5Csa4IIMt2CclcgX6nt aIgrdKvDO690XhgaYAN0pZgFZzVcaR+8kYKzyHVHuVfVZGEN/UF/muwhDHkh+tyzK2 IERxLON+14o9A== X-ME-Helo: fedora.home X-ME-Auth: Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI= X-ME-Date: Sun, 07 Jul 2024 07:47:49 +0200 X-ME-IP: 86.243.222.230 From: Christophe JAILLET To: matthias.bgg@gmail.com, angelogioacchino.delregno@collabora.com, fchiby@baylibre.com, fparent@baylibre.com, s.hauer@pengutronix.de Cc: linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Christophe JAILLET Subject: [PATCH v2 1/3] soc: mediatek: pwrap: Constify struct pmic_wrapper_type Date: Sun, 7 Jul 2024 07:47:20 +0200 Message-ID: <5b4b60c5dfd6d8fe893b05cfc96c0e2d67705463.1720331018.git.christophe.jaillet@wanadoo.fr> X-Mailer: git-send-email 2.45.2 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 'struct pmic_wrapper_type' is not modified in this driver. Constifying this structure moves some data to a read-only section, so increase overall security. On a x86_64, with allmodconfig: Before: =3D=3D=3D=3D=3D=3D text data bss dec hex filename 45336 8724 16 54076 d33c drivers/soc/mediatek/mtk-pmic-wrap.o After: =3D=3D=3D=3D=3D text data bss dec hex filename 45528 8532 16 54076 d33c drivers/soc/mediatek/mtk-pmic-wrap.o Signed-off-by: Christophe JAILLET Reviewed-by: AngeloGioacchino Del Regno --- Compile tested-only Changes in v2: - Add R-b v1: https://lore.kernel.org/all/ee3160978ac6564663d044815f24cf79e2e0744e.17= 19652155.git.christophe.jaillet@wanadoo.fr/ --- drivers/soc/mediatek/mtk-pmic-wrap.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/soc/mediatek/mtk-pmic-wrap.c b/drivers/soc/mediatek/mt= k-pmic-wrap.c index efd9cae212dc..0da0cdec5050 100644 --- a/drivers/soc/mediatek/mtk-pmic-wrap.c +++ b/drivers/soc/mediatek/mtk-pmic-wrap.c @@ -2397,7 +2397,7 @@ static const struct pmic_wrapper_type pwrap_mt8183 = =3D { .init_soc_specific =3D pwrap_mt8183_init_soc_specific, }; =20 -static struct pmic_wrapper_type pwrap_mt8195 =3D { +static const struct pmic_wrapper_type pwrap_mt8195 =3D { .regs =3D mt8195_regs, .type =3D PWRAP_MT8195, .arb_en_all =3D 0x777f, /* NEED CONFIRM */ @@ -2423,7 +2423,7 @@ static const struct pmic_wrapper_type pwrap_mt8365 = =3D { .init_soc_specific =3D NULL, }; =20 -static struct pmic_wrapper_type pwrap_mt8516 =3D { +static const struct pmic_wrapper_type pwrap_mt8516 =3D { .regs =3D mt8516_regs, .type =3D PWRAP_MT8516, .arb_en_all =3D 0xff, @@ -2435,7 +2435,7 @@ static struct pmic_wrapper_type pwrap_mt8516 =3D { .init_soc_specific =3D NULL, }; =20 -static struct pmic_wrapper_type pwrap_mt8186 =3D { +static const struct pmic_wrapper_type pwrap_mt8186 =3D { .regs =3D mt8186_regs, .type =3D PWRAP_MT8186, .arb_en_all =3D 0xfb27f, --=20 2.45.2 From nobody Thu Sep 19 23:05:59 2024 Received: from smtp.smtpout.orange.fr (smtp-15.smtpout.orange.fr [80.12.242.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C72CF7482 for ; Sun, 7 Jul 2024 05:56:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=80.12.242.15 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720331809; cv=none; b=L8dzfC4bTaLTbCyFfcNC+ywjZzcAbBJw2liJwPFJh/hn++LP0dUUYR0BH3U2ry8FnBcul1ePPOsvDRIiEdWfWcGXNOhc/jUQBA8Lz013n2kNz6NRPxSc0WZ6E8WDKRET515Bjn1vZmXTXUCzur4p4TUStXM6K1RDLugNfUdluwU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720331809; c=relaxed/simple; bh=u2h4zXjm5+8RWz+q131yJ9n5hRdE/G52xfNU6ku39vU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZML8MWFLdL7tzDWxG0qCtFco1t2UI/bUTSczMazxSCzOpXTp1z8Zukjb52Neu7BXqjG8WsaDCwMDSgyWyA9HZEdUk6A/QvAow5QXIWSn53WbyBAfM/lIsIPYtipwVLmC1Ci5MTsxpmPoubm5wBoySWrodeOn60F9UviIAyX5un4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=wanadoo.fr; spf=pass smtp.mailfrom=wanadoo.fr; dkim=pass (2048-bit key) header.d=wanadoo.fr header.i=@wanadoo.fr header.b=f4UZ+dfp; arc=none smtp.client-ip=80.12.242.15 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=wanadoo.fr Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=wanadoo.fr Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=wanadoo.fr header.i=@wanadoo.fr header.b="f4UZ+dfp" Received: from fedora.home ([86.243.222.230]) by smtp.orange.fr with ESMTPA id QKkEsyOxChEtDQKkZs8JLj; Sun, 07 Jul 2024 07:47:52 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wanadoo.fr; s=t20230301; t=1720331272; bh=m5hfeJJaQd2sDlwjtKUNvEvzR4Fj1xT7GH3XV3uqVeI=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=f4UZ+dfpSgIf++oPpNP1xmqTHIJ9Nns4VYsrkS0XHVn54a56e99lj7h89jST+8l1g X/mHEiSgI/vq3+AnkdDeaydhwpCfzsCW/vO/5jwIjmGZjV+6a91J+paMzPTjA+b4rY swubC7XIy2uB3jZ5S0HtPXo59GCyL6nczVfXq3Y8Q/KcOZ6ntgfgddqZLvfG3xX8xm bUYYAhfCIRVV1RodZMpbsNxl3mVbH24/3fZNhWLpx8VXJCeJlhEjO4oFSCCSB7QNuV Rbb3Hn3ZdbILHcBKki4B1K3Y7IxVtx9El5b3dwVYIdTFZ5/z9LAoTu9rr3cukQL+uw aeEnuA3zVSEVA== X-ME-Helo: fedora.home X-ME-Auth: Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI= X-ME-Date: Sun, 07 Jul 2024 07:47:52 +0200 X-ME-IP: 86.243.222.230 From: Christophe JAILLET To: matthias.bgg@gmail.com, angelogioacchino.delregno@collabora.com, fchiby@baylibre.com, fparent@baylibre.com, s.hauer@pengutronix.de Cc: linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Christophe JAILLET Subject: [PATCH v2 2/3] soc: mediatek: pwrap: Constify some struct int[] Date: Sun, 7 Jul 2024 07:47:21 +0200 Message-ID: X-Mailer: git-send-email 2.45.2 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" These arrays are not modified in this driver. Constifying this structure moves some data to a read-only section, so increase overall security. On a x86_64, with allmodconfig: Before: =3D=3D=3D=3D=3D=3D text data bss dec hex filename 45528 8532 16 54076 d33c drivers/soc/mediatek/mtk-pmic-wrap.o After: =3D=3D=3D=3D=3D text data bss dec hex filename 52664 1384 16 54064 d330 drivers/soc/mediatek/mtk-pmic-wrap.o Signed-off-by: Christophe JAILLET Reviewed-by: AngeloGioacchino Del Regno --- Compile tested-only Changes in v2: - Add R-b tag v1: https://lore.kernel.org/all/626783bb264a8b3b0c8cd7e1d9f9b241f0a494b6.17= 19652155.git.christophe.jaillet@wanadoo.fr/ --- drivers/soc/mediatek/mtk-pmic-wrap.c | 30 ++++++++++++++-------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/drivers/soc/mediatek/mtk-pmic-wrap.c b/drivers/soc/mediatek/mt= k-pmic-wrap.c index 0da0cdec5050..d57553486383 100644 --- a/drivers/soc/mediatek/mtk-pmic-wrap.c +++ b/drivers/soc/mediatek/mtk-pmic-wrap.c @@ -483,7 +483,7 @@ enum pwrap_regs { PWRAP_MSB_FIRST, }; =20 -static int mt2701_regs[] =3D { +static const int mt2701_regs[] =3D { [PWRAP_MUX_SEL] =3D 0x0, [PWRAP_WRAP_EN] =3D 0x4, [PWRAP_DIO_EN] =3D 0x8, @@ -569,7 +569,7 @@ static int mt2701_regs[] =3D { [PWRAP_ADC_RDATA_ADDR2] =3D 0x154, }; =20 -static int mt6765_regs[] =3D { +static const int mt6765_regs[] =3D { [PWRAP_MUX_SEL] =3D 0x0, [PWRAP_WRAP_EN] =3D 0x4, [PWRAP_DIO_EN] =3D 0x8, @@ -601,7 +601,7 @@ static int mt6765_regs[] =3D { [PWRAP_DCM_DBC_PRD] =3D 0x1E0, }; =20 -static int mt6779_regs[] =3D { +static const int mt6779_regs[] =3D { [PWRAP_MUX_SEL] =3D 0x0, [PWRAP_WRAP_EN] =3D 0x4, [PWRAP_DIO_EN] =3D 0x8, @@ -640,7 +640,7 @@ static int mt6779_regs[] =3D { [PWRAP_WACS2_VLDCLR] =3D 0xC28, }; =20 -static int mt6795_regs[] =3D { +static const int mt6795_regs[] =3D { [PWRAP_MUX_SEL] =3D 0x0, [PWRAP_WRAP_EN] =3D 0x4, [PWRAP_DIO_EN] =3D 0x8, @@ -725,7 +725,7 @@ static int mt6795_regs[] =3D { [PWRAP_EXT_CK] =3D 0x14c, }; =20 -static int mt6797_regs[] =3D { +static const int mt6797_regs[] =3D { [PWRAP_MUX_SEL] =3D 0x0, [PWRAP_WRAP_EN] =3D 0x4, [PWRAP_DIO_EN] =3D 0x8, @@ -758,7 +758,7 @@ static int mt6797_regs[] =3D { [PWRAP_DCM_DBC_PRD] =3D 0x1D4, }; =20 -static int mt6873_regs[] =3D { +static const int mt6873_regs[] =3D { [PWRAP_INIT_DONE2] =3D 0x0, [PWRAP_TIMER_EN] =3D 0x3E0, [PWRAP_INT_EN] =3D 0x448, @@ -769,7 +769,7 @@ static int mt6873_regs[] =3D { [PWRAP_WACS2_RDATA] =3D 0xCA8, }; =20 -static int mt7622_regs[] =3D { +static const int mt7622_regs[] =3D { [PWRAP_MUX_SEL] =3D 0x0, [PWRAP_WRAP_EN] =3D 0x4, [PWRAP_DIO_EN] =3D 0x8, @@ -881,7 +881,7 @@ static int mt7622_regs[] =3D { [PWRAP_SPI2_CTRL] =3D 0x244, }; =20 -static int mt8135_regs[] =3D { +static const int mt8135_regs[] =3D { [PWRAP_MUX_SEL] =3D 0x0, [PWRAP_WRAP_EN] =3D 0x4, [PWRAP_DIO_EN] =3D 0x8, @@ -954,7 +954,7 @@ static int mt8135_regs[] =3D { [PWRAP_DCM_DBC_PRD] =3D 0x160, }; =20 -static int mt8173_regs[] =3D { +static const int mt8173_regs[] =3D { [PWRAP_MUX_SEL] =3D 0x0, [PWRAP_WRAP_EN] =3D 0x4, [PWRAP_DIO_EN] =3D 0x8, @@ -1036,7 +1036,7 @@ static int mt8173_regs[] =3D { [PWRAP_DCM_DBC_PRD] =3D 0x148, }; =20 -static int mt8183_regs[] =3D { +static const int mt8183_regs[] =3D { [PWRAP_MUX_SEL] =3D 0x0, [PWRAP_WRAP_EN] =3D 0x4, [PWRAP_DIO_EN] =3D 0x8, @@ -1087,7 +1087,7 @@ static int mt8183_regs[] =3D { [PWRAP_WACS2_VLDCLR] =3D 0xC28, }; =20 -static int mt8195_regs[] =3D { +static const int mt8195_regs[] =3D { [PWRAP_INIT_DONE2] =3D 0x0, [PWRAP_STAUPD_CTRL] =3D 0x4C, [PWRAP_TIMER_EN] =3D 0x3E4, @@ -1104,7 +1104,7 @@ static int mt8195_regs[] =3D { [PWRAP_WACS2_RDATA] =3D 0x8A8, }; =20 -static int mt8365_regs[] =3D { +static const int mt8365_regs[] =3D { [PWRAP_MUX_SEL] =3D 0x0, [PWRAP_WRAP_EN] =3D 0x4, [PWRAP_DIO_EN] =3D 0x8, @@ -1166,7 +1166,7 @@ static int mt8365_regs[] =3D { [PWRAP_WDT_SRC_EN_1] =3D 0xf8, }; =20 -static int mt8516_regs[] =3D { +static const int mt8516_regs[] =3D { [PWRAP_MUX_SEL] =3D 0x0, [PWRAP_WRAP_EN] =3D 0x4, [PWRAP_DIO_EN] =3D 0x8, @@ -1251,7 +1251,7 @@ static int mt8516_regs[] =3D { [PWRAP_MSB_FIRST] =3D 0x170, }; =20 -static int mt8186_regs[] =3D { +static const int mt8186_regs[] =3D { [PWRAP_MUX_SEL] =3D 0x0, [PWRAP_WRAP_EN] =3D 0x4, [PWRAP_DIO_EN] =3D 0x8, @@ -1377,7 +1377,7 @@ struct pmic_wrapper { }; =20 struct pmic_wrapper_type { - int *regs; + const int *regs; enum pwrap_type type; u32 arb_en_all; u32 int_en_all; --=20 2.45.2 From nobody Thu Sep 19 23:05:59 2024 Received: from smtp.smtpout.orange.fr (smtp-15.smtpout.orange.fr [80.12.242.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 241D18F6D for ; Sun, 7 Jul 2024 05:49:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=80.12.242.15 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720331348; cv=none; b=FH2mGctF5tLKJbCeuqacLIJanC6nzPn/0dBY4OBzO+a3ggRleCUOxhAtxS0yJWAZz2PLJ4v4f5yuxop1sn1xVaTw9JJuKjI/M9njtK26lOZFD3Frb7WyZKL5Kl9trcuuOyhtH4LJ7i6kgZnpUqFdaeOP8f8yDhb/r3CD5pdCdes= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720331348; c=relaxed/simple; bh=EBi4AdZfITffKU6gK2vYVoV8El+rbLyr43u3RskEU3o=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cBO+N1eHAN0Q+85sKyhr3lE0a8NVblyPBPAYCHBw4m89PsHeCRBv5L5WOCbThPCTvrb2GC8eJU7RTFwa/bBCEHR9hLdyWWhrbZ1xV9xZ29eE9s9BcAoKBwjna3wTXWdkaJw5qiOKPqsmz37tfJCf3Brh2DR+kGUbGuXWkXNodrU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=wanadoo.fr; spf=pass smtp.mailfrom=wanadoo.fr; dkim=pass (2048-bit key) header.d=wanadoo.fr header.i=@wanadoo.fr header.b=Arkbqk/r; arc=none smtp.client-ip=80.12.242.15 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=wanadoo.fr Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=wanadoo.fr Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=wanadoo.fr header.i=@wanadoo.fr header.b="Arkbqk/r" Received: from fedora.home ([86.243.222.230]) by smtp.orange.fr with ESMTPA id QKkEsyOxChEtDQKkbs8JM4; Sun, 07 Jul 2024 07:47:53 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wanadoo.fr; s=t20230301; t=1720331273; bh=FvLLOujG+sispkldk5d/JDkLg6rmUGJQxZZpGjk6N1k=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=Arkbqk/rF+Qeh3EggStejlIIk3UciOU5fL6zikw24a2IdLk4qT25osFZD504bpcep 2lkJqWweuMb4mBZuvA2HmcywNHtfO+B3q/CN+cYw4nLX/aYiPBLS4Y06xzxPjca5lN VyGVifdfCrycNyHKvTHmeVZkXGpwogetdPFAUKTyBw3r/OWoTZE9YSwURqlgrGv0IQ S+bNubKoxCX67GSF2UFLfazn7lj9Y0NNvPwI/2upmI0BNJrdeH8xlLGfmyWqRMQP7b faYxIn5wIPaZHJxv3JRX6Sl2+Saa92UVTbfKRMbgSTPwgxvetuR31bxZNmrmnvcQo/ 6OB0tKyPRfkCg== X-ME-Helo: fedora.home X-ME-Auth: Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI= X-ME-Date: Sun, 07 Jul 2024 07:47:53 +0200 X-ME-IP: 86.243.222.230 From: Christophe JAILLET To: matthias.bgg@gmail.com, angelogioacchino.delregno@collabora.com, fchiby@baylibre.com, fparent@baylibre.com, s.hauer@pengutronix.de Cc: linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Christophe JAILLET Subject: [PATCH v2 3/3] soc: mediatek: pwrap: Use devm_clk_bulk_get_all_enable() Date: Sun, 7 Jul 2024 07:47:22 +0200 Message-ID: <5b1114c538dd5230728592855f89942aec8ef83b.1720331018.git.christophe.jaillet@wanadoo.fr> X-Mailer: git-send-email 2.45.2 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Use devm_clk_bulk_get_all_enable() to simplify the code and to make sure that clk_disable_unprepare() is called if the driver is unloaded. Fixes: 55924157da8c ("soc: mediatek: pwrap: add support for sys & tmr clock= s") Fixes: 1f022d84bd19 ("soc: mediatek: Add PMIC wrapper for MT8135 and MT8173= SoCs") Suggested-by: AngeloGioacchino Del Regno Signed-off-by: Christophe JAILLET --- Compile tested-only. I don't know this function, so I fully trust Angelo's analysis. :) Changes in v2: - Add a Suggested-by tag - Use devm_clk_bulk_get_all_enable() v1: https://lore.kernel.org/all/07b3745819c8ba818d4508ed12e93f14f29b80a2.17= 19652155.git.christophe.jaillet@wanadoo.fr/ --- drivers/soc/mediatek/mtk-pmic-wrap.c | 82 ++++------------------------ 1 file changed, 12 insertions(+), 70 deletions(-) diff --git a/drivers/soc/mediatek/mtk-pmic-wrap.c b/drivers/soc/mediatek/mt= k-pmic-wrap.c index d57553486383..9fdc0ef79202 100644 --- a/drivers/soc/mediatek/mtk-pmic-wrap.c +++ b/drivers/soc/mediatek/mtk-pmic-wrap.c @@ -1366,10 +1366,6 @@ struct pmic_wrapper { struct regmap *regmap; const struct pmic_wrapper_type *master; const struct pwrap_slv_type *slave; - struct clk *clk_spi; - struct clk *clk_wrap; - struct clk *clk_sys; - struct clk *clk_tmr; struct reset_control *rstc; =20 struct reset_control *rstc_bridge; @@ -2472,6 +2468,7 @@ static int pwrap_probe(struct platform_device *pdev) int ret, irq; u32 mask_done; struct pmic_wrapper *wrp; + struct clk_bulk_data *clk; struct device_node *np =3D pdev->dev.of_node; const struct of_device_id *of_slave_id =3D NULL; =20 @@ -2521,49 +2518,10 @@ static int pwrap_probe(struct platform_device *pdev) } } =20 - wrp->clk_spi =3D devm_clk_get(wrp->dev, "spi"); - if (IS_ERR(wrp->clk_spi)) { - dev_dbg(wrp->dev, "failed to get clock: %ld\n", - PTR_ERR(wrp->clk_spi)); - return PTR_ERR(wrp->clk_spi); - } - - wrp->clk_wrap =3D devm_clk_get(wrp->dev, "wrap"); - if (IS_ERR(wrp->clk_wrap)) { - dev_dbg(wrp->dev, "failed to get clock: %ld\n", - PTR_ERR(wrp->clk_wrap)); - return PTR_ERR(wrp->clk_wrap); - } - - wrp->clk_sys =3D devm_clk_get_optional(wrp->dev, "sys"); - if (IS_ERR(wrp->clk_sys)) { - return dev_err_probe(wrp->dev, PTR_ERR(wrp->clk_sys), - "failed to get clock: %pe\n", - wrp->clk_sys); - } - - wrp->clk_tmr =3D devm_clk_get_optional(wrp->dev, "tmr"); - if (IS_ERR(wrp->clk_tmr)) { - return dev_err_probe(wrp->dev, PTR_ERR(wrp->clk_tmr), - "failed to get clock: %pe\n", - wrp->clk_tmr); - } - - ret =3D clk_prepare_enable(wrp->clk_spi); - if (ret) - return ret; - - ret =3D clk_prepare_enable(wrp->clk_wrap); + ret =3D devm_clk_bulk_get_all_enable(wrp->dev, &clk); if (ret) - goto err_out1; - - ret =3D clk_prepare_enable(wrp->clk_sys); - if (ret) - goto err_out2; - - ret =3D clk_prepare_enable(wrp->clk_tmr); - if (ret) - goto err_out3; + return dev_err_probe(wrp->dev, ret, + "failed to get clocks\n"); =20 /* Enable internal dynamic clock */ if (HAS_CAP(wrp->master->caps, PWRAP_CAP_DCM)) { @@ -2579,7 +2537,7 @@ static int pwrap_probe(struct platform_device *pdev) ret =3D pwrap_init(wrp); if (ret) { dev_dbg(wrp->dev, "init failed with %d\n", ret); - goto err_out4; + return ret; } } =20 @@ -2592,8 +2550,7 @@ static int pwrap_probe(struct platform_device *pdev) =20 if (!(pwrap_readl(wrp, PWRAP_WACS2_RDATA) & mask_done)) { dev_dbg(wrp->dev, "initialization isn't finished\n"); - ret =3D -ENODEV; - goto err_out4; + return -ENODEV; } =20 /* Initialize watchdog, may not be done by the bootloader */ @@ -2622,42 +2579,27 @@ static int pwrap_probe(struct platform_device *pdev) pwrap_writel(wrp, wrp->master->int1_en_all, PWRAP_INT1_EN); =20 irq =3D platform_get_irq(pdev, 0); - if (irq < 0) { - ret =3D irq; - goto err_out2; - } + if (irq < 0) + return irq; =20 ret =3D devm_request_irq(wrp->dev, irq, pwrap_interrupt, IRQF_TRIGGER_HIGH, "mt-pmic-pwrap", wrp); if (ret) - goto err_out4; + return ret; =20 wrp->regmap =3D devm_regmap_init(wrp->dev, NULL, wrp, wrp->slave->regops-= >regmap); - if (IS_ERR(wrp->regmap)) { - ret =3D PTR_ERR(wrp->regmap); - goto err_out2; - } + if (IS_ERR(wrp->regmap)) + return PTR_ERR(wrp->regmap); =20 ret =3D of_platform_populate(np, NULL, NULL, wrp->dev); if (ret) { dev_dbg(wrp->dev, "failed to create child devices at %pOF\n", np); - goto err_out4; + return ret; } =20 return 0; - -err_out4: - clk_disable_unprepare(wrp->clk_tmr); -err_out3: - clk_disable_unprepare(wrp->clk_sys); -err_out2: - clk_disable_unprepare(wrp->clk_wrap); -err_out1: - clk_disable_unprepare(wrp->clk_spi); - - return ret; } =20 static struct platform_driver pwrap_drv =3D { --=20 2.45.2