Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/panel: visionox-vtdr6130: switch to devm_regulator_bulk_get_const

Switch to devm_regulator_bulk_get_const() to stop setting the supplies
list in probe(), and move the regulator_bulk_data struct in static const.

Reviewed-by: Douglas Anderson <dianders@chromium.org>
Link: https://lore.kernel.org/r/20240828-topic-sm8x50-upstream-vtdr6130-multi-v1-2-0cae20d4c55d@linaro.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240828-topic-sm8x50-upstream-vtdr6130-multi-v1-2-0cae20d4c55d@linaro.org

+16 -10
+16 -10
drivers/gpu/drm/panel/panel-visionox-vtdr6130.c
··· 19 19 struct drm_panel panel; 20 20 struct mipi_dsi_device *dsi; 21 21 struct gpio_desc *reset_gpio; 22 - struct regulator_bulk_data supplies[3]; 22 + struct regulator_bulk_data *supplies; 23 + }; 24 + 25 + static const struct regulator_bulk_data visionox_vtdr6130_supplies[] = { 26 + { .supply = "vddio" }, 27 + { .supply = "vci" }, 28 + { .supply = "vdd" }, 23 29 }; 24 30 25 31 static inline struct visionox_vtdr6130 *to_visionox_vtdr6130(struct drm_panel *panel) ··· 145 139 struct visionox_vtdr6130 *ctx = to_visionox_vtdr6130(panel); 146 140 int ret; 147 141 148 - ret = regulator_bulk_enable(ARRAY_SIZE(ctx->supplies), 142 + ret = regulator_bulk_enable(ARRAY_SIZE(visionox_vtdr6130_supplies), 149 143 ctx->supplies); 150 144 if (ret < 0) 151 145 return ret; ··· 155 149 ret = visionox_vtdr6130_on(ctx); 156 150 if (ret < 0) { 157 151 gpiod_set_value_cansleep(ctx->reset_gpio, 1); 158 - regulator_bulk_disable(ARRAY_SIZE(ctx->supplies), ctx->supplies); 152 + regulator_bulk_disable(ARRAY_SIZE(visionox_vtdr6130_supplies), 153 + ctx->supplies); 159 154 return ret; 160 155 } 161 156 ··· 171 164 172 165 gpiod_set_value_cansleep(ctx->reset_gpio, 1); 173 166 174 - regulator_bulk_disable(ARRAY_SIZE(ctx->supplies), ctx->supplies); 167 + regulator_bulk_disable(ARRAY_SIZE(visionox_vtdr6130_supplies), 168 + ctx->supplies); 175 169 176 170 return 0; 177 171 } ··· 252 244 if (!ctx) 253 245 return -ENOMEM; 254 246 255 - ctx->supplies[0].supply = "vddio"; 256 - ctx->supplies[1].supply = "vci"; 257 - ctx->supplies[2].supply = "vdd"; 258 - 259 - ret = devm_regulator_bulk_get(&dsi->dev, ARRAY_SIZE(ctx->supplies), 260 - ctx->supplies); 247 + ret = devm_regulator_bulk_get_const(&dsi->dev, 248 + ARRAY_SIZE(visionox_vtdr6130_supplies), 249 + visionox_vtdr6130_supplies, 250 + &ctx->supplies); 261 251 if (ret < 0) 262 252 return ret; 263 253