Quoting Uwe Kleine-König (2023-09-11 08:15:48) > The .remove() callback for a platform driver returns an int which makes > many driver authors wrongly assume it's possible to do error handling by > returning an error code. However the value returned is ignored (apart > from emitting a warning) and this typically results in resource leaks. > To improve here there is a quest to make the remove callback return > void. In the first step of this quest all drivers are converted to > .remove_new() which already returns void. Eventually after all drivers > are converted, .remove_new() is renamed to .remove(). > > qcom_msm8996_cbf_icc_remove() returned zero unconditionally. After > changing this function to return void instead, the driver can be > converted trivially to use .remove_new(). > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> > --- Do you want to take this? Otherwise, I can apply it to fixes. > drivers/clk/qcom/clk-cbf-8996.c | 12 +++++------- > 1 file changed, 5 insertions(+), 7 deletions(-) > > diff --git a/drivers/clk/qcom/clk-cbf-8996.c b/drivers/clk/qcom/clk-cbf-8996.c > index 53f205a3f183..fe24b4abeab4 100644 > --- a/drivers/clk/qcom/clk-cbf-8996.c > +++ b/drivers/clk/qcom/clk-cbf-8996.c > @@ -250,13 +250,11 @@ static int qcom_msm8996_cbf_icc_register(struct platform_device *pdev, struct cl > return 0; > } > > -static int qcom_msm8996_cbf_icc_remove(struct platform_device *pdev) > +static void qcom_msm8996_cbf_icc_remove(struct platform_device *pdev) > { > struct icc_provider *provider = platform_get_drvdata(pdev); > > icc_clk_unregister(provider); > - > - return 0; > } > #define qcom_msm8996_cbf_icc_sync_state icc_sync_state > #else > @@ -266,7 +264,7 @@ static int qcom_msm8996_cbf_icc_register(struct platform_device *pdev, struct c > > return 0; > } > -#define qcom_msm8996_cbf_icc_remove(pdev) (0) > +#define qcom_msm8996_cbf_icc_remove(pdev) { } It would be better if this was a static inline function. > #define qcom_msm8996_cbf_icc_sync_state NULL > #endif >