Message ID | 20240220072213.35779-1-krzysztof.kozlowski@linaro.org (mailing list archive) |
---|---|
State | Handled Elsewhere, archived |
Headers | show |
Series | [v2] interconnect: constify of_phandle_args in xlate | expand |
> -----Original Message----- > From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > Sent: Tuesday, February 20, 2024 12:52 PM > To: Georgi Djakov <djakov@kernel.org>; Bjorn Andersson > <andersson@kernel.org>; Konrad Dybcio <konrad.dybcio@linaro.org>; > Sylwester Nawrocki <s.nawrocki@samsung.com>; Artur Świgoń > <a.swigon@samsung.com>; Krzysztof Kozlowski > <krzysztof.kozlowski@linaro.org>; Alim Akhtar > <alim.akhtar@samsung.com>; Thierry Reding <thierry.reding@gmail.com>; > Jonathan Hunter <jonathanh@nvidia.com>; linux-pm@vger.kernel.org; > linux-kernel@vger.kernel.org; linux-arm-msm@vger.kernel.org; linux- > samsung-soc@vger.kernel.org; linux-arm-kernel@lists.infradead.org; linux- > tegra@vger.kernel.org > Cc: Thierry Reding <treding@nvidia.com> > Subject: [PATCH v2] interconnect: constify of_phandle_args in xlate > > The xlate callbacks are supposed to translate of_phandle_args to proper > provider without modifying the of_phandle_args. Make the argument > pointer to const for code safety and readability. > > Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org> > Acked-by: Thierry Reding <treding@nvidia.com> # Tegra > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > > --- > > Changes in v2: > 1. Drop unrelated gpiolib changes (Konrad, Thierry). > 2. Add tags. > --- > drivers/interconnect/core.c | 4 ++-- > drivers/interconnect/qcom/icc-common.c | 3 ++- > drivers/interconnect/qcom/icc-common.h | 3 ++- > drivers/interconnect/samsung/exynos.c | 2 +- > drivers/memory/tegra/mc.c | 2 +- > drivers/memory/tegra/tegra124-emc.c | 2 +- > drivers/memory/tegra/tegra124.c | 2 +- > drivers/memory/tegra/tegra186-emc.c | 2 +- > drivers/memory/tegra/tegra20-emc.c | 2 +- > drivers/memory/tegra/tegra20.c | 2 +- > drivers/memory/tegra/tegra30-emc.c | 2 +- > drivers/memory/tegra/tegra30.c | 2 +- > include/linux/interconnect-provider.h | 11 ++++++----- > include/soc/tegra/mc.h | 7 ++++--- > 14 files changed, 25 insertions(+), 21 deletions(-) > For Samsung/Exynos Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com> . . [snip] > -- > 2.34.1
On 20/02/2024 13:18, Alim Akhtar wrote: > > >> -----Original Message----- >> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> >> Sent: Tuesday, February 20, 2024 12:52 PM >> To: Georgi Djakov <djakov@kernel.org>; Bjorn Andersson >> <andersson@kernel.org>; Konrad Dybcio <konrad.dybcio@linaro.org>; >> Sylwester Nawrocki <s.nawrocki@samsung.com>; Artur Świgoń >> <a.swigon@samsung.com>; Krzysztof Kozlowski >> <krzysztof.kozlowski@linaro.org>; Alim Akhtar >> <alim.akhtar@samsung.com>; Thierry Reding <thierry.reding@gmail.com>; >> Jonathan Hunter <jonathanh@nvidia.com>; linux-pm@vger.kernel.org; >> linux-kernel@vger.kernel.org; linux-arm-msm@vger.kernel.org; linux- >> samsung-soc@vger.kernel.org; linux-arm-kernel@lists.infradead.org; linux- >> tegra@vger.kernel.org >> Cc: Thierry Reding <treding@nvidia.com> >> Subject: [PATCH v2] interconnect: constify of_phandle_args in xlate >> >> The xlate callbacks are supposed to translate of_phandle_args to proper >> provider without modifying the of_phandle_args. Make the argument >> pointer to const for code safety and readability. >> >> Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org> >> Acked-by: Thierry Reding <treding@nvidia.com> # Tegra >> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> >> >> --- >> >> Changes in v2: >> 1. Drop unrelated gpiolib changes (Konrad, Thierry). >> 2. Add tags. >> --- >> drivers/interconnect/core.c | 4 ++-- >> drivers/interconnect/qcom/icc-common.c | 3 ++- >> drivers/interconnect/qcom/icc-common.h | 3 ++- >> drivers/interconnect/samsung/exynos.c | 2 +- >> drivers/memory/tegra/mc.c | 2 +- >> drivers/memory/tegra/tegra124-emc.c | 2 +- >> drivers/memory/tegra/tegra124.c | 2 +- >> drivers/memory/tegra/tegra186-emc.c | 2 +- >> drivers/memory/tegra/tegra20-emc.c | 2 +- >> drivers/memory/tegra/tegra20.c | 2 +- >> drivers/memory/tegra/tegra30-emc.c | 2 +- >> drivers/memory/tegra/tegra30.c | 2 +- >> include/linux/interconnect-provider.h | 11 ++++++----- >> include/soc/tegra/mc.h | 7 ++++--- >> 14 files changed, 25 insertions(+), 21 deletions(-) >> > > For Samsung/Exynos > Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com> Review tags are per patch. You probably meant Acked-by. https://elixir.bootlin.com/linux/v6.8-rc5/source/Documentation/process/submitting-patches.rst#L544 What is there anyway to review in Samsung? Adding one const in one driver? Best regards, Krzysztof
Hi Krzysztof, > -----Original Message----- > From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > Sent: Wednesday, February 21, 2024 12:44 PM > To: Alim Akhtar <alim.akhtar@samsung.com>; 'Georgi Djakov' > <djakov@kernel.org>; 'Bjorn Andersson' <andersson@kernel.org>; 'Konrad > Dybcio' <konrad.dybcio@linaro.org>; 'Sylwester Nawrocki' > <s.nawrocki@samsung.com>; 'Artur Świgoń' <a.swigon@samsung.com>; > 'Thierry Reding' <thierry.reding@gmail.com>; 'Jonathan Hunter' > <jonathanh@nvidia.com>; linux-pm@vger.kernel.org; linux- > kernel@vger.kernel.org; linux-arm-msm@vger.kernel.org; linux-samsung- > soc@vger.kernel.org; linux-arm-kernel@lists.infradead.org; linux- > tegra@vger.kernel.org > Cc: 'Thierry Reding' <treding@nvidia.com> > Subject: Re: [PATCH v2] interconnect: constify of_phandle_args in xlate > > On 20/02/2024 13:18, Alim Akhtar wrote: > > > > > >> -----Original Message----- > >> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > >> Sent: Tuesday, February 20, 2024 12:52 PM > >> To: Georgi Djakov <djakov@kernel.org>; Bjorn Andersson > >> <andersson@kernel.org>; Konrad Dybcio <konrad.dybcio@linaro.org>; > >> Sylwester Nawrocki <s.nawrocki@samsung.com>; Artur Świgoń > >> <a.swigon@samsung.com>; Krzysztof Kozlowski > >> <krzysztof.kozlowski@linaro.org>; Alim Akhtar > >> <alim.akhtar@samsung.com>; Thierry Reding > <thierry.reding@gmail.com>; > >> Jonathan Hunter <jonathanh@nvidia.com>; linux-pm@vger.kernel.org; > >> linux-kernel@vger.kernel.org; linux-arm-msm@vger.kernel.org; linux- > >> samsung-soc@vger.kernel.org; linux-arm-kernel@lists.infradead.org; > >> linux- tegra@vger.kernel.org > >> Cc: Thierry Reding <treding@nvidia.com> > >> Subject: [PATCH v2] interconnect: constify of_phandle_args in xlate > >> > >> The xlate callbacks are supposed to translate of_phandle_args to > >> proper provider without modifying the of_phandle_args. Make the > >> argument pointer to const for code safety and readability. > >> > >> Acked-by: Konrad Dybcio <konrad.dybcio@linaro.org> > >> Acked-by: Thierry Reding <treding@nvidia.com> # Tegra > >> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > >> > >> --- > >> > >> Changes in v2: > >> 1. Drop unrelated gpiolib changes (Konrad, Thierry). > >> 2. Add tags. > >> --- > >> drivers/interconnect/core.c | 4 ++-- > >> drivers/interconnect/qcom/icc-common.c | 3 ++- > >> drivers/interconnect/qcom/icc-common.h | 3 ++- > >> drivers/interconnect/samsung/exynos.c | 2 +- > >> drivers/memory/tegra/mc.c | 2 +- > >> drivers/memory/tegra/tegra124-emc.c | 2 +- > >> drivers/memory/tegra/tegra124.c | 2 +- > >> drivers/memory/tegra/tegra186-emc.c | 2 +- > >> drivers/memory/tegra/tegra20-emc.c | 2 +- > >> drivers/memory/tegra/tegra20.c | 2 +- > >> drivers/memory/tegra/tegra30-emc.c | 2 +- > >> drivers/memory/tegra/tegra30.c | 2 +- > >> include/linux/interconnect-provider.h | 11 ++++++----- > >> include/soc/tegra/mc.h | 7 ++++--- > >> 14 files changed, 25 insertions(+), 21 deletions(-) > >> > > > > For Samsung/Exynos > > Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com> > > Review tags are per patch. You probably meant Acked-by. if that is more appropriate in this case, feel free to add Acked-by: Alim Akhtar <alim.akhtar@samsung.com> > https://protect2.fireeye.com/v1/url?k=bc64ffdb-ddefeaed-bc657494- > 74fe485cbff1-62590d464cd6269e&q=1&e=ec8047f9-eeac-446c-8ba5- > 476f581d9cfa&u=https%3A%2F%2Felixir.bootlin.com%2Flinux%2Fv6.8- > rc5%2Fsource%2FDocumentation%2Fprocess%2Fsubmitting- > patches.rst%23L544 > > What is there anyway to review in Samsung? Adding one const in one driver? > I my opinion, any changes coming in, has to be reviewed to see if there is/are any side effect because of the change, even though the changes looks trivial. > > Best regards, > Krzysztof
diff --git a/drivers/interconnect/core.c b/drivers/interconnect/core.c index 50bac2d79d9b..5d1010cafed8 100644 --- a/drivers/interconnect/core.c +++ b/drivers/interconnect/core.c @@ -343,7 +343,7 @@ EXPORT_SYMBOL_GPL(icc_std_aggregate); * an array of icc nodes specified in the icc_onecell_data struct when * registering the provider. */ -struct icc_node *of_icc_xlate_onecell(struct of_phandle_args *spec, +struct icc_node *of_icc_xlate_onecell(const struct of_phandle_args *spec, void *data) { struct icc_onecell_data *icc_data = data; @@ -368,7 +368,7 @@ EXPORT_SYMBOL_GPL(of_icc_xlate_onecell); * Returns a valid pointer to struct icc_node_data on success or ERR_PTR() * on failure. */ -struct icc_node_data *of_icc_get_from_provider(struct of_phandle_args *spec) +struct icc_node_data *of_icc_get_from_provider(const struct of_phandle_args *spec) { struct icc_node *node = ERR_PTR(-EPROBE_DEFER); struct icc_node_data *data = NULL; diff --git a/drivers/interconnect/qcom/icc-common.c b/drivers/interconnect/qcom/icc-common.c index f27f4fdc4531..9b9ee113f172 100644 --- a/drivers/interconnect/qcom/icc-common.c +++ b/drivers/interconnect/qcom/icc-common.c @@ -9,7 +9,8 @@ #include "icc-common.h" -struct icc_node_data *qcom_icc_xlate_extended(struct of_phandle_args *spec, void *data) +struct icc_node_data *qcom_icc_xlate_extended(const struct of_phandle_args *spec, + void *data) { struct icc_node_data *ndata; struct icc_node *node; diff --git a/drivers/interconnect/qcom/icc-common.h b/drivers/interconnect/qcom/icc-common.h index 33bb2c38dff3..21c39b163948 100644 --- a/drivers/interconnect/qcom/icc-common.h +++ b/drivers/interconnect/qcom/icc-common.h @@ -8,6 +8,7 @@ #include <linux/interconnect-provider.h> -struct icc_node_data *qcom_icc_xlate_extended(struct of_phandle_args *spec, void *data); +struct icc_node_data *qcom_icc_xlate_extended(const struct of_phandle_args *spec, + void *data); #endif diff --git a/drivers/interconnect/samsung/exynos.c b/drivers/interconnect/samsung/exynos.c index 1ba14cb45d5a..c9e5361e17c5 100644 --- a/drivers/interconnect/samsung/exynos.c +++ b/drivers/interconnect/samsung/exynos.c @@ -82,7 +82,7 @@ static int exynos_generic_icc_set(struct icc_node *src, struct icc_node *dst) return 0; } -static struct icc_node *exynos_generic_icc_xlate(struct of_phandle_args *spec, +static struct icc_node *exynos_generic_icc_xlate(const struct of_phandle_args *spec, void *data) { struct exynos_icc_priv *priv = data; diff --git a/drivers/memory/tegra/mc.c b/drivers/memory/tegra/mc.c index a083921a8968..224b488794e5 100644 --- a/drivers/memory/tegra/mc.c +++ b/drivers/memory/tegra/mc.c @@ -755,7 +755,7 @@ const char *const tegra_mc_error_names[8] = { [6] = "SMMU translation error", }; -struct icc_node *tegra_mc_icc_xlate(struct of_phandle_args *spec, void *data) +struct icc_node *tegra_mc_icc_xlate(const struct of_phandle_args *spec, void *data) { struct tegra_mc *mc = icc_provider_to_tegra_mc(data); struct icc_node *node; diff --git a/drivers/memory/tegra/tegra124-emc.c b/drivers/memory/tegra/tegra124-emc.c index 00ed2b6a0d1b..47c0c19e13fd 100644 --- a/drivers/memory/tegra/tegra124-emc.c +++ b/drivers/memory/tegra/tegra124-emc.c @@ -1285,7 +1285,7 @@ to_tegra_emc_provider(struct icc_provider *provider) } static struct icc_node_data * -emc_of_icc_xlate_extended(struct of_phandle_args *spec, void *data) +emc_of_icc_xlate_extended(const struct of_phandle_args *spec, void *data) { struct icc_provider *provider = data; struct icc_node_data *ndata; diff --git a/drivers/memory/tegra/tegra124.c b/drivers/memory/tegra/tegra124.c index 470b7dbab2c2..9d7393e19f12 100644 --- a/drivers/memory/tegra/tegra124.c +++ b/drivers/memory/tegra/tegra124.c @@ -1170,7 +1170,7 @@ static int tegra124_mc_icc_aggreate(struct icc_node *node, u32 tag, u32 avg_bw, } static struct icc_node_data * -tegra124_mc_of_icc_xlate_extended(struct of_phandle_args *spec, void *data) +tegra124_mc_of_icc_xlate_extended(const struct of_phandle_args *spec, void *data) { struct tegra_mc *mc = icc_provider_to_tegra_mc(data); const struct tegra_mc_client *client; diff --git a/drivers/memory/tegra/tegra186-emc.c b/drivers/memory/tegra/tegra186-emc.c index fcd4aea48bda..57d9ae12fcfe 100644 --- a/drivers/memory/tegra/tegra186-emc.c +++ b/drivers/memory/tegra/tegra186-emc.c @@ -236,7 +236,7 @@ static int tegra_emc_icc_set_bw(struct icc_node *src, struct icc_node *dst) } static struct icc_node * -tegra_emc_of_icc_xlate(struct of_phandle_args *spec, void *data) +tegra_emc_of_icc_xlate(const struct of_phandle_args *spec, void *data) { struct icc_provider *provider = data; struct icc_node *node; diff --git a/drivers/memory/tegra/tegra20-emc.c b/drivers/memory/tegra/tegra20-emc.c index fd595c851a27..97cf59523b0b 100644 --- a/drivers/memory/tegra/tegra20-emc.c +++ b/drivers/memory/tegra/tegra20-emc.c @@ -950,7 +950,7 @@ to_tegra_emc_provider(struct icc_provider *provider) } static struct icc_node_data * -emc_of_icc_xlate_extended(struct of_phandle_args *spec, void *data) +emc_of_icc_xlate_extended(const struct of_phandle_args *spec, void *data) { struct icc_provider *provider = data; struct icc_node_data *ndata; diff --git a/drivers/memory/tegra/tegra20.c b/drivers/memory/tegra/tegra20.c index aa4b97d5e732..a3022e715dee 100644 --- a/drivers/memory/tegra/tegra20.c +++ b/drivers/memory/tegra/tegra20.c @@ -390,7 +390,7 @@ static int tegra20_mc_icc_aggreate(struct icc_node *node, u32 tag, u32 avg_bw, } static struct icc_node_data * -tegra20_mc_of_icc_xlate_extended(struct of_phandle_args *spec, void *data) +tegra20_mc_of_icc_xlate_extended(const struct of_phandle_args *spec, void *data) { struct tegra_mc *mc = icc_provider_to_tegra_mc(data); unsigned int i, idx = spec->args[0]; diff --git a/drivers/memory/tegra/tegra30-emc.c b/drivers/memory/tegra/tegra30-emc.c index 9eae25c57ec6..d7b0a23c2d7d 100644 --- a/drivers/memory/tegra/tegra30-emc.c +++ b/drivers/memory/tegra/tegra30-emc.c @@ -1468,7 +1468,7 @@ to_tegra_emc_provider(struct icc_provider *provider) } static struct icc_node_data * -emc_of_icc_xlate_extended(struct of_phandle_args *spec, void *data) +emc_of_icc_xlate_extended(const struct of_phandle_args *spec, void *data) { struct icc_provider *provider = data; struct icc_node_data *ndata; diff --git a/drivers/memory/tegra/tegra30.c b/drivers/memory/tegra/tegra30.c index 06f8b35e0a14..d3e685c8431f 100644 --- a/drivers/memory/tegra/tegra30.c +++ b/drivers/memory/tegra/tegra30.c @@ -1332,7 +1332,7 @@ static int tegra30_mc_icc_aggreate(struct icc_node *node, u32 tag, u32 avg_bw, } static struct icc_node_data * -tegra30_mc_of_icc_xlate_extended(struct of_phandle_args *spec, void *data) +tegra30_mc_of_icc_xlate_extended(const struct of_phandle_args *spec, void *data) { struct tegra_mc *mc = icc_provider_to_tegra_mc(data); const struct tegra_mc_client *client; diff --git a/include/linux/interconnect-provider.h b/include/linux/interconnect-provider.h index 7ba183f221f1..f5aef8784692 100644 --- a/include/linux/interconnect-provider.h +++ b/include/linux/interconnect-provider.h @@ -36,7 +36,7 @@ struct icc_onecell_data { struct icc_node *nodes[] __counted_by(num_nodes); }; -struct icc_node *of_icc_xlate_onecell(struct of_phandle_args *spec, +struct icc_node *of_icc_xlate_onecell(const struct of_phandle_args *spec, void *data); /** @@ -65,8 +65,9 @@ struct icc_provider { u32 peak_bw, u32 *agg_avg, u32 *agg_peak); void (*pre_aggregate)(struct icc_node *node); int (*get_bw)(struct icc_node *node, u32 *avg, u32 *peak); - struct icc_node* (*xlate)(struct of_phandle_args *spec, void *data); - struct icc_node_data* (*xlate_extended)(struct of_phandle_args *spec, void *data); + struct icc_node* (*xlate)(const struct of_phandle_args *spec, void *data); + struct icc_node_data* (*xlate_extended)(const struct of_phandle_args *spec, + void *data); struct device *dev; int users; bool inter_set; @@ -124,7 +125,7 @@ int icc_nodes_remove(struct icc_provider *provider); void icc_provider_init(struct icc_provider *provider); int icc_provider_register(struct icc_provider *provider); void icc_provider_deregister(struct icc_provider *provider); -struct icc_node_data *of_icc_get_from_provider(struct of_phandle_args *spec); +struct icc_node_data *of_icc_get_from_provider(const struct of_phandle_args *spec); void icc_sync_state(struct device *dev); #else @@ -171,7 +172,7 @@ static inline int icc_provider_register(struct icc_provider *provider) static inline void icc_provider_deregister(struct icc_provider *provider) { } -static inline struct icc_node_data *of_icc_get_from_provider(struct of_phandle_args *spec) +static inline struct icc_node_data *of_icc_get_from_provider(const struct of_phandle_args *spec) { return ERR_PTR(-ENOTSUPP); } diff --git a/include/soc/tegra/mc.h b/include/soc/tegra/mc.h index af1d73a7f0cd..6ee4c59db620 100644 --- a/include/soc/tegra/mc.h +++ b/include/soc/tegra/mc.h @@ -146,13 +146,14 @@ struct tegra_mc_icc_ops { int (*set)(struct icc_node *src, struct icc_node *dst); int (*aggregate)(struct icc_node *node, u32 tag, u32 avg_bw, u32 peak_bw, u32 *agg_avg, u32 *agg_peak); - struct icc_node* (*xlate)(struct of_phandle_args *spec, void *data); - struct icc_node_data *(*xlate_extended)(struct of_phandle_args *spec, + struct icc_node* (*xlate)(const struct of_phandle_args *spec, void *data); + struct icc_node_data *(*xlate_extended)(const struct of_phandle_args *spec, void *data); int (*get_bw)(struct icc_node *node, u32 *avg, u32 *peak); }; -struct icc_node *tegra_mc_icc_xlate(struct of_phandle_args *spec, void *data); +struct icc_node *tegra_mc_icc_xlate(const struct of_phandle_args *spec, + void *data); extern const struct tegra_mc_icc_ops tegra_mc_icc_ops; struct tegra_mc_ops {