drm/msm/dsi_phy_28nm_8960: Use stack memory for temporary clock names
authorMarijn Suijten <marijn.suijten@somainline.org>
Wed, 29 Jun 2022 22:53:25 +0000 (00:53 +0200)
committerRob Clark <robdclark@chromium.org>
Sun, 18 Sep 2022 16:38:05 +0000 (09:38 -0700)
The clock names formatted into the hw_clk's init structure are only used
for the duration of the registration function where they are kstrdup'ed,
making it unnecessary to keep the allocations alive for the duration of
the device (through devm).

Just like the other DSI PHY PLL clock trees, use a stack-local char
array and save on memory outside of the pll_28nm_register function.

Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/491917/
Link: https://lore.kernel.org/r/20220629225331.357308-6-marijn.suijten@somainline.org
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Rob Clark <robdclark@chromium.org>
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c

index af630b8..24bac40 100644 (file)
@@ -383,7 +383,7 @@ static int dsi_28nm_pll_restore_state(struct msm_dsi_phy *phy)
 
 static int pll_28nm_register(struct dsi_pll_28nm *pll_28nm, struct clk_hw **provided_clocks)
 {
-       char *clk_name, *parent_name, *vco_name;
+       char clk_name[32], parent_name[32], vco_name[32];
        struct clk_init_data vco_init = {
                .parent_data = &(const struct clk_parent_data) {
                        .fw_name = "ref",
@@ -404,18 +404,6 @@ static int pll_28nm_register(struct dsi_pll_28nm *pll_28nm, struct clk_hw **prov
        if (!bytediv)
                return -ENOMEM;
 
-       vco_name = devm_kzalloc(dev, 32, GFP_KERNEL);
-       if (!vco_name)
-               return -ENOMEM;
-
-       parent_name = devm_kzalloc(dev, 32, GFP_KERNEL);
-       if (!parent_name)
-               return -ENOMEM;
-
-       clk_name = devm_kzalloc(dev, 32, GFP_KERNEL);
-       if (!clk_name)
-               return -ENOMEM;
-
        snprintf(vco_name, 32, "dsi%dvco_clk", pll_28nm->phy->id);
        vco_init.name = vco_name;