[Freedreno] [PATCH v3 5/6] drm/msm/dsi: Take advantage of devm_regulator_bulk_get_const()
Dmitry Baryshkov
dmitry.baryshkov at linaro.org
Wed Aug 3 07:18:57 UTC 2022
On 03/08/2022 01:37, Douglas Anderson wrote:
> As of the commit 1de452a0edda ("regulator: core: Allow drivers to
> define their init data as const") we no longer need to do copying of
> regulator bulk data from initdata to something dynamic. Let's take
> advantage of that.
>
> In addition to saving some code, this also moves us to using
> ARRAY_SIZE() to specify how many regulators we have which is less
> error prone.
>
> This gets rid of some layers of wrappers which makes it obvious that
> we can get rid of an extra error print.
> devm_regulator_bulk_get_const() prints errors for you so you don't
> need an extra layer of printing.
>
> In all cases here I have preserved the old settings without any
> investigation about whether the loads being set are sensible. In the
> cases of some of the PHYs if several PHYs in the same file used
> exactly the same settings I had them point to the same data structure.
>
> NOTE: Though I haven't done the math, this is likely an overall
> savings in terms of "static const" data. We previously always
> allocated space for 8 supplies. Each of these supplies took up 36
> bytes of data (32 for name, 4 for an int).
>
> Signed-off-by: Douglas Anderson <dianders at chromium.org>
Ah, so to array conversion is already done. That's great.
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
> ---
>
> Changes in v3:
> - Do all the PHYs too.
It would have been easier if DSI and DSI PHY were split to separate patches.
> - Get rid of error print after devm_regulator_bulk_get_const().
> - Just directly call the bulk commands; get rid of the wrapper.
> - Update commit message to point at the git hash of the regulator change.
>
> Changes in v2:
> - ("Take advantage of devm_regulator_bulk_get_const") new for v2.
>
> drivers/gpu/drm/msm/dsi/dsi.h | 12 --
> drivers/gpu/drm/msm/dsi/dsi_cfg.c | 172 +++++++++---------
> drivers/gpu/drm/msm/dsi/dsi_cfg.h | 3 +-
> drivers/gpu/drm/msm/dsi/dsi_host.c | 42 ++---
> drivers/gpu/drm/msm/dsi/phy/dsi_phy.c | 37 +---
> drivers/gpu/drm/msm/dsi/phy/dsi_phy.h | 5 +-
> drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c | 20 +-
> drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c | 32 ++--
> drivers/gpu/drm/msm/dsi/phy/dsi_phy_20nm.c | 14 +-
> drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c | 28 +--
> .../gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c | 12 +-
> drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c | 32 ++--
> 12 files changed, 167 insertions(+), 242 deletions(-)
--
With best wishes
Dmitry
More information about the Freedreno
mailing list