Thread (4 messages) 4 messages, 2 authors, 2020-02-20

Re: [RESEND RFC PATCH v3] clk: Use new helper in managed functions

From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: 2020-02-20 11:27:05
Also in: linux-clk, lkml

On Thu, Feb 20, 2020 at 11:04:58AM +0100, Marc Gonzalez wrote:
quoted hunk ↗ jump to hunk
Introduce devm_add() to wrap devres_alloc() / devres_add() calls.

Using that helper produces simpler code, and smaller object size.
E.g. with gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu:

    text	   data	    bss	    dec	    hex	filename
-   1708	     80	      0	   1788	    6fc	drivers/clk/clk-devres.o
+   1524	     80	      0	   1604	    644	drivers/clk/clk-devres.o

Signed-off-by: Marc Gonzalez <redacted>
---
Differences from v2 to v3
x Make devm_add() return an error-code rather than the raw data pointer
  (in case devres_alloc ever returns an ERR_PTR) as suggested by Geert
x Provide a variadic version devm_vadd() to work with structs as suggested
  by Geert
x Don't use nested ifs in clk_devm* implementations (hopefully simpler
  code logic to follow) as suggested by Geert

Questions:
x This patch might need to be split in two? (Introduce the new API, then use it)
x Convert other subsystems to show the value of this proposal?
x Maybe comment the API usage somewhere
---
 drivers/base/devres.c    | 15 ++++++
 drivers/clk/clk-devres.c | 99 ++++++++++++++--------------------------
 include/linux/device.h   |  3 ++
 3 files changed, 53 insertions(+), 64 deletions(-)
diff --git a/drivers/base/devres.c b/drivers/base/devres.c
index 0bbb328bd17f..b2603789755b 100644
--- a/drivers/base/devres.c
+++ b/drivers/base/devres.c
@@ -685,6 +685,21 @@ int devres_release_group(struct device *dev, void *id)
 }
 EXPORT_SYMBOL_GPL(devres_release_group);
 
+int devm_add(struct device *dev, dr_release_t func, void *arg, size_t size)
Please add a bunch of kerneldoc here, as I have no idea what this
function does just by looking at the name of it :(

thanks,

greg k-h

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help