All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] mfd: core: add macro for adding mfd cells
@ 2016-01-30  6:37 Laxman Dewangan
  0 siblings, 0 replies; only message in thread
From: Laxman Dewangan @ 2016-01-30  6:37 UTC (permalink / raw)
  To: lee.jones; +Cc: linux-kernel, Laxman Dewangan

Most of MFD drivers add the mfd sub devices cells as follows:
static const struct mfd_cell as3722_devs[] = {
        {
                .name = "as3722-pinctrl",
        },
        {
                .name = "as3722-regulator",
        },
        {
                .name = "as3722-rtc",
                .num_resources = ARRAY_SIZE(as3722_rtc_resource),
                .resources = as3722_rtc_resource,
        },
        {
                .name = "as3722-adc",
                .num_resources = ARRAY_SIZE(as3722_adc_resource),
                .resources = as3722_adc_resource,
        },
 };

Add defines for adding mfd cells so that it can be done in single line
as follows:
static const struct mfd_cell as3722_devs[] = {
	DEFINE_MFD_CELL_NAME("as3722-pinctrl"),
	DEFINE_MFD_CELL_NAME("as3722-regulator"),
	DEFINE_MFD_CELL_NAME_RESOURCE("as3722-rtc", as3722_rtc_resource),
	DEFINE_MFD_CELL_NAME_RESOURCE("as3722-adc", as3722_adc_resource),
};

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
I am sending this patch based on review comment recived on max77620 mfd patch
to use/add macro whereever possible.
Once this is reviewed and agreed, I will post series of mfd patches to use this
macro.

 include/linux/mfd/core.h | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/include/linux/mfd/core.h b/include/linux/mfd/core.h
index bc6f7e0..508e586 100644
--- a/include/linux/mfd/core.h
+++ b/include/linux/mfd/core.h
@@ -14,6 +14,7 @@
 #ifndef MFD_CORE_H
 #define MFD_CORE_H
 
+#include <linux/kernel.h>
 #include <linux/platform_device.h>
 
 struct irq_domain;
@@ -81,6 +82,20 @@ struct mfd_cell {
 	int			num_parent_supplies;
 };
 
+/* Defne mfd cells with name and resource */
+#define DEFINE_MFD_CELL_NAME_RESOURCE(_name, _res)		\
+	{							\
+		.name = (_name),				\
+		.num_resources = ARRAY_SIZE((res)),		\
+		.resources = (_res),				\
+	}
+
+/* Defne mfd cells with name */
+#define DEFINE_MFD_CELL_NAME(_name)				\
+	{							\
+		.name = (_name),				\
+	}
+
 /*
  * Convenience functions for clients using shared cells.  Refcounting
  * happens automatically, with the cell's enable/disable callbacks
-- 
2.1.4

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2016-01-30  6:48 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-30  6:37 [PATCH] mfd: core: add macro for adding mfd cells Laxman Dewangan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.