* [PATCH RESEND v4 0/2] Use devm helpers for regulator get and enable @ 2022-11-16 13:02 Matti Vaittinen 2022-11-16 13:03 ` [PATCH RESEND v4 1/2] gpu: drm: sii902x: Use devm_regulator_bulk_get_enable() Matti Vaittinen 2022-11-16 13:03 ` [PATCH RESEND v4 2/2] gpu: drm: meson: Use devm_regulator_*get_enable*() Matti Vaittinen 0 siblings, 2 replies; 6+ messages in thread From: Matti Vaittinen @ 2022-11-16 13:02 UTC (permalink / raw) To: Matti Vaittinen, Matti Vaittinen Cc: linux-arm-kernel, Jerome Brunet, Robert Foss, Jernej Skrabec, Andrzej Hajda, Laurent Pinchart, Neil Armstrong, Jonas Karlman, linux-kernel, dri-devel, Kevin Hilman, Mark Brown, linux-amlogic, Martin Blumenstingl, Daniel Vetter, Liam Girdwood, David Airlie [-- Attachment #1: Type: text/plain, Size: 2071 bytes --] Simplify couple of drivers by using the new devm_regulator_*get_enable*() Found these patches when doing some clean-up for my local git. Seems like these two fell through the cracks while other were merged. So, this is a respin of subset of original series v4. These patches were previously part of the series: https://lore.kernel.org/lkml/cover.1660934107.git.mazziesaccount@gmail.com/ "Devm helpers for regulator get and enable". I did keep the patch series versioning even though I changed the series name (subject of this mail) to "Use devm helpers for regulator get and enable". Name was changed because the devm helpers are already in 6.1-rc1. Also, most of the patches in the series are already merged to subsystem trees so this series now contains only the patches that have not yet been merged. I hope they can be now directly taken sirectly into respective subsystem trees as the dependencies should be in v6.1-rc1. Please note that these changes are only compile-tested as I don't have the HW to do proper testing. Thus, reviewing / testing is highly appreciated. Revision history: v3 => v4: - Drop applied patches - rewrite cover-letter - rebase on v6.1-rc1 - split meson and sii902x into own patches as requested. - slightly modify dev_err_probe() return in sii902x. Matti Vaittinen (2): gpu: drm: sii902x: Use devm_regulator_bulk_get_enable() gpu: drm: meson: Use devm_regulator_*get_enable*() drivers/gpu/drm/bridge/sii902x.c | 26 ++++---------------------- drivers/gpu/drm/meson/meson_dw_hdmi.c | 23 +++-------------------- 2 files changed, 7 insertions(+), 42 deletions(-) base-commit: 094226ad94f471a9f19e8f8e7140a09c2625abaa -- 2.38.1 -- Matti Vaittinen, Linux device drivers ROHM Semiconductors, Finland SWDC Kiviharjunlenkki 1E 90220 OULU FINLAND ~~~ "I don't think so," said Rene Descartes. Just then he vanished ~~~ Simon says - in Latin please. ~~~ "non cogito me" dixit Rene Descarte, deinde evanescavit ~~~ Thanks to Simon Glass for the translation =] [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH RESEND v4 1/2] gpu: drm: sii902x: Use devm_regulator_bulk_get_enable() 2022-11-16 13:02 [PATCH RESEND v4 0/2] Use devm helpers for regulator get and enable Matti Vaittinen @ 2022-11-16 13:03 ` Matti Vaittinen 2022-11-29 16:54 ` Robert Foss 2022-11-16 13:03 ` [PATCH RESEND v4 2/2] gpu: drm: meson: Use devm_regulator_*get_enable*() Matti Vaittinen 1 sibling, 1 reply; 6+ messages in thread From: Matti Vaittinen @ 2022-11-16 13:03 UTC (permalink / raw) To: Matti Vaittinen, Matti Vaittinen Cc: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart, Jonas Karlman, Jernej Skrabec, David Airlie, Daniel Vetter, dri-devel, linux-kernel [-- Attachment #1: Type: text/plain, Size: 2792 bytes --] Simplify using devm_regulator_bulk_get_enable() Signed-off-by: Matti Vaittinen <mazziesaccount@gmail.com> Acked-by: Robert Foss <robert.foss@linaro.org> --- I am doing a clean-up for my local git and encountered this one. Respinning as it seems this one fell through the cracks. --- drivers/gpu/drm/bridge/sii902x.c | 26 ++++---------------------- 1 file changed, 4 insertions(+), 22 deletions(-) diff --git a/drivers/gpu/drm/bridge/sii902x.c b/drivers/gpu/drm/bridge/sii902x.c index 878fb7d3732b..f6e8b401069b 100644 --- a/drivers/gpu/drm/bridge/sii902x.c +++ b/drivers/gpu/drm/bridge/sii902x.c @@ -171,7 +171,6 @@ struct sii902x { struct drm_connector connector; struct gpio_desc *reset_gpio; struct i2c_mux_core *i2cmux; - struct regulator_bulk_data supplies[2]; bool sink_is_hdmi; /* * Mutex protects audio and video functions from interfering @@ -1072,6 +1071,7 @@ static int sii902x_probe(struct i2c_client *client, struct device *dev = &client->dev; struct device_node *endpoint; struct sii902x *sii902x; + static const char * const supplies[] = {"iovcc", "cvcc12"}; int ret; ret = i2c_check_functionality(client->adapter, @@ -1122,27 +1122,11 @@ static int sii902x_probe(struct i2c_client *client, mutex_init(&sii902x->mutex); - sii902x->supplies[0].supply = "iovcc"; - sii902x->supplies[1].supply = "cvcc12"; - ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(sii902x->supplies), - sii902x->supplies); + ret = devm_regulator_bulk_get_enable(dev, ARRAY_SIZE(supplies), supplies); if (ret < 0) - return ret; - - ret = regulator_bulk_enable(ARRAY_SIZE(sii902x->supplies), - sii902x->supplies); - if (ret < 0) { - dev_err_probe(dev, ret, "Failed to enable supplies"); - return ret; - } + return dev_err_probe(dev, ret, "Failed to enable supplies"); - ret = sii902x_init(sii902x); - if (ret < 0) { - regulator_bulk_disable(ARRAY_SIZE(sii902x->supplies), - sii902x->supplies); - } - - return ret; + return sii902x_init(sii902x); } static void sii902x_remove(struct i2c_client *client) @@ -1152,8 +1136,6 @@ static void sii902x_remove(struct i2c_client *client) i2c_mux_del_adapters(sii902x->i2cmux); drm_bridge_remove(&sii902x->bridge); - regulator_bulk_disable(ARRAY_SIZE(sii902x->supplies), - sii902x->supplies); } static const struct of_device_id sii902x_dt_ids[] = { -- 2.38.1 -- Matti Vaittinen, Linux device drivers ROHM Semiconductors, Finland SWDC Kiviharjunlenkki 1E 90220 OULU FINLAND ~~~ "I don't think so," said Rene Descartes. Just then he vanished ~~~ Simon says - in Latin please. ~~~ "non cogito me" dixit Rene Descarte, deinde evanescavit ~~~ Thanks to Simon Glass for the translation =] [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH RESEND v4 1/2] gpu: drm: sii902x: Use devm_regulator_bulk_get_enable() 2022-11-16 13:03 ` [PATCH RESEND v4 1/2] gpu: drm: sii902x: Use devm_regulator_bulk_get_enable() Matti Vaittinen @ 2022-11-29 16:54 ` Robert Foss 0 siblings, 0 replies; 6+ messages in thread From: Robert Foss @ 2022-11-29 16:54 UTC (permalink / raw) To: Matti Vaittinen Cc: Matti Vaittinen, Andrzej Hajda, Neil Armstrong, Laurent Pinchart, Jonas Karlman, Jernej Skrabec, David Airlie, Daniel Vetter, dri-devel, linux-kernel Hey Matti, Can you use an already used prefix for this commit title: - drm/bridge: sii902x: On Wed, 16 Nov 2022 at 14:03, Matti Vaittinen <mazziesaccount@gmail.com> wrote: > > Simplify using devm_regulator_bulk_get_enable() > > Signed-off-by: Matti Vaittinen <mazziesaccount@gmail.com> > Acked-by: Robert Foss <robert.foss@linaro.org> > > --- > I am doing a clean-up for my local git and encountered this one. > Respinning as it seems this one fell through the cracks. > --- > drivers/gpu/drm/bridge/sii902x.c | 26 ++++---------------------- > 1 file changed, 4 insertions(+), 22 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/sii902x.c b/drivers/gpu/drm/bridge/sii902x.c > index 878fb7d3732b..f6e8b401069b 100644 > --- a/drivers/gpu/drm/bridge/sii902x.c > +++ b/drivers/gpu/drm/bridge/sii902x.c > @@ -171,7 +171,6 @@ struct sii902x { > struct drm_connector connector; > struct gpio_desc *reset_gpio; > struct i2c_mux_core *i2cmux; > - struct regulator_bulk_data supplies[2]; > bool sink_is_hdmi; > /* > * Mutex protects audio and video functions from interfering > @@ -1072,6 +1071,7 @@ static int sii902x_probe(struct i2c_client *client, > struct device *dev = &client->dev; > struct device_node *endpoint; > struct sii902x *sii902x; > + static const char * const supplies[] = {"iovcc", "cvcc12"}; > int ret; > > ret = i2c_check_functionality(client->adapter, > @@ -1122,27 +1122,11 @@ static int sii902x_probe(struct i2c_client *client, > > mutex_init(&sii902x->mutex); > > - sii902x->supplies[0].supply = "iovcc"; > - sii902x->supplies[1].supply = "cvcc12"; > - ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(sii902x->supplies), > - sii902x->supplies); > + ret = devm_regulator_bulk_get_enable(dev, ARRAY_SIZE(supplies), supplies); > if (ret < 0) > - return ret; > - > - ret = regulator_bulk_enable(ARRAY_SIZE(sii902x->supplies), > - sii902x->supplies); > - if (ret < 0) { > - dev_err_probe(dev, ret, "Failed to enable supplies"); > - return ret; > - } > + return dev_err_probe(dev, ret, "Failed to enable supplies"); > > - ret = sii902x_init(sii902x); > - if (ret < 0) { > - regulator_bulk_disable(ARRAY_SIZE(sii902x->supplies), > - sii902x->supplies); > - } > - > - return ret; > + return sii902x_init(sii902x); > } > > static void sii902x_remove(struct i2c_client *client) > @@ -1152,8 +1136,6 @@ static void sii902x_remove(struct i2c_client *client) > > i2c_mux_del_adapters(sii902x->i2cmux); > drm_bridge_remove(&sii902x->bridge); > - regulator_bulk_disable(ARRAY_SIZE(sii902x->supplies), > - sii902x->supplies); > } > > static const struct of_device_id sii902x_dt_ids[] = { > -- > 2.38.1 > > > -- > Matti Vaittinen, Linux device drivers > ROHM Semiconductors, Finland SWDC > Kiviharjunlenkki 1E > 90220 OULU > FINLAND > > ~~~ "I don't think so," said Rene Descartes. Just then he vanished ~~~ > Simon says - in Latin please. > ~~~ "non cogito me" dixit Rene Descarte, deinde evanescavit ~~~ > Thanks to Simon Glass for the translation =] ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH RESEND v4 2/2] gpu: drm: meson: Use devm_regulator_*get_enable*() 2022-11-16 13:02 [PATCH RESEND v4 0/2] Use devm helpers for regulator get and enable Matti Vaittinen 2022-11-16 13:03 ` [PATCH RESEND v4 1/2] gpu: drm: sii902x: Use devm_regulator_bulk_get_enable() Matti Vaittinen @ 2022-11-16 13:03 ` Matti Vaittinen 2022-11-25 22:58 ` Martin Blumenstingl 2022-11-29 16:53 ` Robert Foss 1 sibling, 2 replies; 6+ messages in thread From: Matti Vaittinen @ 2022-11-16 13:03 UTC (permalink / raw) To: Matti Vaittinen, Matti Vaittinen Cc: Neil Armstrong, David Airlie, Daniel Vetter, Kevin Hilman, Jerome Brunet, Martin Blumenstingl, Liam Girdwood, Mark Brown, dri-devel, linux-amlogic, linux-arm-kernel, linux-kernel [-- Attachment #1: Type: text/plain, Size: 2405 bytes --] Simplify using the devm_regulator_get_enable_optional(). Also drop the seemingly unused struct member 'hdmi_supply'. Signed-off-by: Matti Vaittinen <mazziesaccount@gmail.com> --- I am doing a clean-up for my local git and encountered this one. Respinning as it seems this one fell through the cracks. --- drivers/gpu/drm/meson/meson_dw_hdmi.c | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/drivers/gpu/drm/meson/meson_dw_hdmi.c b/drivers/gpu/drm/meson/meson_dw_hdmi.c index 5cd2b2ebbbd3..7642f740272b 100644 --- a/drivers/gpu/drm/meson/meson_dw_hdmi.c +++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c @@ -140,7 +140,6 @@ struct meson_dw_hdmi { struct reset_control *hdmitx_apb; struct reset_control *hdmitx_ctrl; struct reset_control *hdmitx_phy; - struct regulator *hdmi_supply; u32 irq_stat; struct dw_hdmi *hdmi; struct drm_bridge *bridge; @@ -665,11 +664,6 @@ static void meson_dw_hdmi_init(struct meson_dw_hdmi *meson_dw_hdmi) } -static void meson_disable_regulator(void *data) -{ - regulator_disable(data); -} - static void meson_disable_clk(void *data) { clk_disable_unprepare(data); @@ -723,20 +717,9 @@ static int meson_dw_hdmi_bind(struct device *dev, struct device *master, meson_dw_hdmi->data = match; dw_plat_data = &meson_dw_hdmi->dw_plat_data; - meson_dw_hdmi->hdmi_supply = devm_regulator_get_optional(dev, "hdmi"); - if (IS_ERR(meson_dw_hdmi->hdmi_supply)) { - if (PTR_ERR(meson_dw_hdmi->hdmi_supply) == -EPROBE_DEFER) - return -EPROBE_DEFER; - meson_dw_hdmi->hdmi_supply = NULL; - } else { - ret = regulator_enable(meson_dw_hdmi->hdmi_supply); - if (ret) - return ret; - ret = devm_add_action_or_reset(dev, meson_disable_regulator, - meson_dw_hdmi->hdmi_supply); - if (ret) - return ret; - } + ret = devm_regulator_get_enable_optional(dev, "hdmi"); + if (ret != -ENODEV) + return ret; meson_dw_hdmi->hdmitx_apb = devm_reset_control_get_exclusive(dev, "hdmitx_apb"); -- 2.38.1 -- Matti Vaittinen, Linux device drivers ROHM Semiconductors, Finland SWDC Kiviharjunlenkki 1E 90220 OULU FINLAND ~~~ "I don't think so," said Rene Descartes. Just then he vanished ~~~ Simon says - in Latin please. ~~~ "non cogito me" dixit Rene Descarte, deinde evanescavit ~~~ Thanks to Simon Glass for the translation =] [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH RESEND v4 2/2] gpu: drm: meson: Use devm_regulator_*get_enable*() 2022-11-16 13:03 ` [PATCH RESEND v4 2/2] gpu: drm: meson: Use devm_regulator_*get_enable*() Matti Vaittinen @ 2022-11-25 22:58 ` Martin Blumenstingl 2022-11-29 16:53 ` Robert Foss 1 sibling, 0 replies; 6+ messages in thread From: Martin Blumenstingl @ 2022-11-25 22:58 UTC (permalink / raw) To: Matti Vaittinen Cc: Matti Vaittinen, Neil Armstrong, David Airlie, Daniel Vetter, Kevin Hilman, Jerome Brunet, Liam Girdwood, Mark Brown, dri-devel, linux-amlogic, linux-arm-kernel, linux-kernel On Wed, Nov 16, 2022 at 2:03 PM Matti Vaittinen <mazziesaccount@gmail.com> wrote: > > Simplify using the devm_regulator_get_enable_optional(). Also drop the > seemingly unused struct member 'hdmi_supply'. Personally I'd replace "seemingly" with "now" because hdmi_supply was used before (although only in this one function, which makes it a bit pointless). This is minor enough. So with or without that change this gets my: Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH RESEND v4 2/2] gpu: drm: meson: Use devm_regulator_*get_enable*() 2022-11-16 13:03 ` [PATCH RESEND v4 2/2] gpu: drm: meson: Use devm_regulator_*get_enable*() Matti Vaittinen 2022-11-25 22:58 ` Martin Blumenstingl @ 2022-11-29 16:53 ` Robert Foss 1 sibling, 0 replies; 6+ messages in thread From: Robert Foss @ 2022-11-29 16:53 UTC (permalink / raw) To: Matti Vaittinen Cc: Matti Vaittinen, Neil Armstrong, Martin Blumenstingl, Kevin Hilman, Liam Girdwood, dri-devel, linux-kernel, Mark Brown, linux-amlogic, linux-arm-kernel, Jerome Brunet The prefix to the commit title is a new one, let's use an existing one: - drm/meson: dw-hdmi: - drm: meson: dw-hdmi: On Wed, 16 Nov 2022 at 14:04, Matti Vaittinen <mazziesaccount@gmail.com> wrote: > > Simplify using the devm_regulator_get_enable_optional(). Also drop the > seemingly unused struct member 'hdmi_supply'. > > Signed-off-by: Matti Vaittinen <mazziesaccount@gmail.com> > > --- > I am doing a clean-up for my local git and encountered this one. > Respinning as it seems this one fell through the cracks. > --- > drivers/gpu/drm/meson/meson_dw_hdmi.c | 23 +++-------------------- > 1 file changed, 3 insertions(+), 20 deletions(-) > > diff --git a/drivers/gpu/drm/meson/meson_dw_hdmi.c b/drivers/gpu/drm/meson/meson_dw_hdmi.c > index 5cd2b2ebbbd3..7642f740272b 100644 > --- a/drivers/gpu/drm/meson/meson_dw_hdmi.c > +++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c > @@ -140,7 +140,6 @@ struct meson_dw_hdmi { > struct reset_control *hdmitx_apb; > struct reset_control *hdmitx_ctrl; > struct reset_control *hdmitx_phy; > - struct regulator *hdmi_supply; > u32 irq_stat; > struct dw_hdmi *hdmi; > struct drm_bridge *bridge; > @@ -665,11 +664,6 @@ static void meson_dw_hdmi_init(struct meson_dw_hdmi *meson_dw_hdmi) > > } > > -static void meson_disable_regulator(void *data) > -{ > - regulator_disable(data); > -} > - > static void meson_disable_clk(void *data) > { > clk_disable_unprepare(data); > @@ -723,20 +717,9 @@ static int meson_dw_hdmi_bind(struct device *dev, struct device *master, > meson_dw_hdmi->data = match; > dw_plat_data = &meson_dw_hdmi->dw_plat_data; > > - meson_dw_hdmi->hdmi_supply = devm_regulator_get_optional(dev, "hdmi"); > - if (IS_ERR(meson_dw_hdmi->hdmi_supply)) { > - if (PTR_ERR(meson_dw_hdmi->hdmi_supply) == -EPROBE_DEFER) > - return -EPROBE_DEFER; > - meson_dw_hdmi->hdmi_supply = NULL; > - } else { > - ret = regulator_enable(meson_dw_hdmi->hdmi_supply); > - if (ret) > - return ret; > - ret = devm_add_action_or_reset(dev, meson_disable_regulator, > - meson_dw_hdmi->hdmi_supply); > - if (ret) > - return ret; > - } > + ret = devm_regulator_get_enable_optional(dev, "hdmi"); > + if (ret != -ENODEV) > + return ret; > > meson_dw_hdmi->hdmitx_apb = devm_reset_control_get_exclusive(dev, > "hdmitx_apb"); > -- > 2.38.1 > > > -- > Matti Vaittinen, Linux device drivers > ROHM Semiconductors, Finland SWDC > Kiviharjunlenkki 1E > 90220 OULU > FINLAND > > ~~~ "I don't think so," said Rene Descartes. Just then he vanished ~~~ > Simon says - in Latin please. > ~~~ "non cogito me" dixit Rene Descarte, deinde evanescavit ~~~ > Thanks to Simon Glass for the translation =] ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-11-29 16:59 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-11-16 13:02 [PATCH RESEND v4 0/2] Use devm helpers for regulator get and enable Matti Vaittinen 2022-11-16 13:03 ` [PATCH RESEND v4 1/2] gpu: drm: sii902x: Use devm_regulator_bulk_get_enable() Matti Vaittinen 2022-11-29 16:54 ` Robert Foss 2022-11-16 13:03 ` [PATCH RESEND v4 2/2] gpu: drm: meson: Use devm_regulator_*get_enable*() Matti Vaittinen 2022-11-25 22:58 ` Martin Blumenstingl 2022-11-29 16:53 ` Robert Foss
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox