]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
mfd: Provide MACRO to declare commonly defined MFD cell attributes
authorLee Jones <lee.jones@linaro.org>
Tue, 9 Feb 2016 14:08:27 +0000 (14:08 +0000)
committerLee Jones <lee.jones@linaro.org>
Fri, 12 Feb 2016 09:20:07 +0000 (09:20 +0000)
Cc: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
include/linux/mfd/core.h

index bc6f7e00fb3de33438759c6c88184b7385dc86b7..1a5a87f3cd38e5733f8c9a518d7389b889fc56bd 100644 (file)
 
 #include <linux/platform_device.h>
 
+#define MFD_ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
+
+#define MFD_CELL_ALL(_name, _res, _pdata, _id, _compat, _match)                \
+       {                                                               \
+               .name = (_name),                                        \
+               .resources = (_res),                                    \
+               .num_resources = MFD_ARRAY_SIZE((_res)),                \
+               .platform_data = (_pdata),                              \
+               .pdata_size = MFD_ARRAY_SIZE((_pdata)),                 \
+               .of_compatible = (_compat),                             \
+               .acpi_match = (_match),                                 \
+               .id = _id,                                              \
+       }
+
+#define OF_MFD_CELL(_name, _res, _pdata, _id, _compat)                 \
+               MFD_CELL_ALL(_name, _res, _pdata, _id, _compat, NULL)   \
+
+#define ACPI_MFD_CELL(_name, _res, _pdata, _id, _match)                        \
+               MFD_CELL_ALL(_name, _res, _pdata, _id, NULL, _match)    \
+
+#define MFD_CELL_BASIC(_name, _res, _pdata, _id)                       \
+               MFD_CELL_ALL(_name, _res, _pdata, _id, NULL, NULL)      \
+
+#define MFD_CELL_NAME(_name)                                           \
+               MFD_CELL_ALL(_name, NULL, NULL, 0, NULL, NULL)          \
+
 struct irq_domain;
 struct property_set;