* [PATCH] mfd: Provide MACRO to declare commonly defined MFD cell attributes @ 2016-02-09 14:27 Lee Jones 2016-02-09 15:20 ` Laxman Dewangan ` (3 more replies) 0 siblings, 4 replies; 11+ messages in thread From: Lee Jones @ 2016-02-09 14:27 UTC (permalink / raw) To: linux-arm-kernel Cc: Laxman Dewangan <ldewangan@nvidia.com> Signed-off-by: Lee Jones <lee.jones@linaro.org> --- include/linux/mfd/core.h | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/include/linux/mfd/core.h b/include/linux/mfd/core.h index 27dac3f..dacdc49 100644 --- a/include/linux/mfd/core.h +++ b/include/linux/mfd/core.h @@ -16,6 +16,38 @@ #include <linux/platform_device.h> +#define MFD_CELL_ALL(_name, _res, _pdata, _id, _compat, _match) \ + { \ + .name = (_name), \ + .num_resources = ARRAY_SIZE((_res)), \ + .resources = (_res), \ + .platform_data = (_pdata), \ + .pdata_size = 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; /* Matches ACPI PNP id, either _HID or _CID, or ACPI _ADR */ -- 1.9.1 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH] mfd: Provide MACRO to declare commonly defined MFD cell attributes 2016-02-09 14:27 [PATCH] mfd: Provide MACRO to declare commonly defined MFD cell attributes Lee Jones @ 2016-02-09 15:20 ` Laxman Dewangan 2016-02-10 12:38 ` Laxman Dewangan ` (2 subsequent siblings) 3 siblings, 0 replies; 11+ messages in thread From: Laxman Dewangan @ 2016-02-09 15:20 UTC (permalink / raw) To: linux-arm-kernel On Tuesday 09 February 2016 07:57 PM, Lee Jones wrote: > + > +#define MFD_CELL_NAME(_name) \ > + { \ > + MFD_CELL_ALL(_name, NULL, NULL, 0, NULL, NULL) \ > + } > + > struct irq_domain; It is failed in compilation as we can not use ARRAY_SIZE(NULL) static struct mfd_cell max77620_children[] = { MFD_CELL_NAME("max77620-pinctrl"), }; CC drivers/mfd/max77620.o drivers/mfd/max77620.c:57:2: warning: braces around scalar initializer MFD_CELL_NAME("max77620-pinctrl"), include/linux/compiler-gcc.h:64:63: warning: taking address of expression of type 'void' #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0])) ^ include/linux/bug.h:33:55: note: in definition of macro 'BUILD_BUG_ON_ZERO' #define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); })) ^ include/linux/compiler-gcc.h:64:46: note: in expansion of macro '__same_type' #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0])) ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH] mfd: Provide MACRO to declare commonly defined MFD cell attributes 2016-02-09 14:27 [PATCH] mfd: Provide MACRO to declare commonly defined MFD cell attributes Lee Jones 2016-02-09 15:20 ` Laxman Dewangan @ 2016-02-10 12:38 ` Laxman Dewangan 2016-02-10 15:38 ` [PATCH v2] " Lee Jones 2016-02-10 15:39 ` [PATCH v2] mfd: ab8500: Provide a small example using new MFD cell MACROs Lee Jones 3 siblings, 0 replies; 11+ messages in thread From: Laxman Dewangan @ 2016-02-10 12:38 UTC (permalink / raw) To: linux-arm-kernel On Tuesday 09 February 2016 07:57 PM, Lee Jones wrote: > Cc: Laxman Dewangan <ldewangan@nvidia.com> > Signed-off-by: Lee Jones <lee.jones@linaro.org> > --- > include/linux/mfd/core.h | 32 ++++++++++++++++++++++++++++++++ > 1 file changed, 32 insertions(+) > > diff --git a/include/linux/mfd/core.h b/include/linux/mfd/core.h > index 27dac3f..dacdc49 100644 > --- a/include/linux/mfd/core.h > +++ b/include/linux/mfd/core.h > @@ -16,6 +16,38 @@ > > #include <linux/platform_device.h> > > +#define MFD_CELL_ALL(_name, _res, _pdata, _id, _compat, _match) \ > + { \ > + .name = (_name), \ > + .num_resources = ARRAY_SIZE((_res)), \ > + .resources = (_res), \ > + .platform_data = (_pdata), \ > + .pdata_size = ARRAY_SIZE((_pdata)), \ > + .of_compatible = (_compat), \ > + .acpi_match = (_match), \ > + .id = _id, \ > + } > Should we add the _res_size and _pdata_size also in argument and use them instead of ARRA_SIZE and lets client set the size with help of ARRAY_SIZE based on type of data? ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2] mfd: Provide MACRO to declare commonly defined MFD cell attributes 2016-02-09 14:27 [PATCH] mfd: Provide MACRO to declare commonly defined MFD cell attributes Lee Jones 2016-02-09 15:20 ` Laxman Dewangan 2016-02-10 12:38 ` Laxman Dewangan @ 2016-02-10 15:38 ` Lee Jones 2016-02-10 17:50 ` Laxman Dewangan 2016-02-26 10:43 ` Andy Shevchenko 2016-02-10 15:39 ` [PATCH v2] mfd: ab8500: Provide a small example using new MFD cell MACROs Lee Jones 3 siblings, 2 replies; 11+ messages in thread From: Lee Jones @ 2016-02-10 15:38 UTC (permalink / raw) To: linux-arm-kernel mfd: Provide MACRO to declare commonly defined MFD cell attributes Cc: Laxman Dewangan <ldewangan@nvidia.com> Signed-off-by: Lee Jones <lee.jones@linaro.org> --- include/linux/mfd/core.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/include/linux/mfd/core.h b/include/linux/mfd/core.h index bc6f7e0..1a5a87f 100644 --- a/include/linux/mfd/core.h +++ b/include/linux/mfd/core.h @@ -16,6 +16,32 @@ #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; ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2] mfd: Provide MACRO to declare commonly defined MFD cell attributes 2016-02-10 15:38 ` [PATCH v2] " Lee Jones @ 2016-02-10 17:50 ` Laxman Dewangan 2016-02-11 9:10 ` Lee Jones 2016-02-26 10:43 ` Andy Shevchenko 1 sibling, 1 reply; 11+ messages in thread From: Laxman Dewangan @ 2016-02-10 17:50 UTC (permalink / raw) To: linux-arm-kernel On Wednesday 10 February 2016 09:08 PM, Lee Jones wrote: > mfd: Provide MACRO to declare commonly defined MFD cell attributes > > Cc: Laxman Dewangan <ldewangan@nvidia.com> > Signed-off-by: Lee Jones <lee.jones@linaro.org> Build passed with this patch when using it. Acked-by: Laxman Dewangan <ldewangan@nvidia.com> Please let me know if you applying this. I am going to use the macro from this patch on max77620 series on next spin. ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2] mfd: Provide MACRO to declare commonly defined MFD cell attributes 2016-02-10 17:50 ` Laxman Dewangan @ 2016-02-11 9:10 ` Lee Jones 2016-02-11 9:01 ` Laxman Dewangan 0 siblings, 1 reply; 11+ messages in thread From: Lee Jones @ 2016-02-11 9:10 UTC (permalink / raw) To: linux-arm-kernel On Wed, 10 Feb 2016, Laxman Dewangan wrote: > > On Wednesday 10 February 2016 09:08 PM, Lee Jones wrote: > >mfd: Provide MACRO to declare commonly defined MFD cell attributes > >Cc: Laxman Dewangan <ldewangan@nvidia.com> > >Signed-off-by: Lee Jones <lee.jones@linaro.org> > > Build passed with this patch when using it. > > Acked-by: Laxman Dewangan <ldewangan@nvidia.com> > > Please let me know if you applying this. I am going to use the macro > from this patch on max77620 series on next spin. As you are the first user, just submit it as 0/1 of your set. -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org ? Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2] mfd: Provide MACRO to declare commonly defined MFD cell attributes 2016-02-11 9:10 ` Lee Jones @ 2016-02-11 9:01 ` Laxman Dewangan 2016-02-11 9:46 ` Lee Jones 0 siblings, 1 reply; 11+ messages in thread From: Laxman Dewangan @ 2016-02-11 9:01 UTC (permalink / raw) To: linux-arm-kernel On Thursday 11 February 2016 02:40 PM, Lee Jones wrote: > On Wed, 10 Feb 2016, Laxman Dewangan wrote: > >> On Wednesday 10 February 2016 09:08 PM, Lee Jones wrote: >>> mfd: Provide MACRO to declare commonly defined MFD cell attributes >>> Cc: Laxman Dewangan <ldewangan@nvidia.com> >>> Signed-off-by: Lee Jones <lee.jones@linaro.org> >> Build passed with this patch when using it. >> >> Acked-by: Laxman Dewangan <ldewangan@nvidia.com> >> >> Please let me know if you applying this. I am going to use the macro >> from this patch on max77620 series on next spin. > As you are the first user, just submit it as 0/1 of your set. > I saw that it is merged and available in linux-next 20160211. So it is fine to not submit this patch again and modify my patch assuming it is on tree. ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2] mfd: Provide MACRO to declare commonly defined MFD cell attributes 2016-02-11 9:01 ` Laxman Dewangan @ 2016-02-11 9:46 ` Lee Jones 0 siblings, 0 replies; 11+ messages in thread From: Lee Jones @ 2016-02-11 9:46 UTC (permalink / raw) To: linux-arm-kernel On Thu, 11 Feb 2016, Laxman Dewangan wrote: > > On Thursday 11 February 2016 02:40 PM, Lee Jones wrote: > >On Wed, 10 Feb 2016, Laxman Dewangan wrote: > > > >>On Wednesday 10 February 2016 09:08 PM, Lee Jones wrote: > >>>mfd: Provide MACRO to declare commonly defined MFD cell attributes > >>>Cc: Laxman Dewangan <ldewangan@nvidia.com> > >>>Signed-off-by: Lee Jones <lee.jones@linaro.org> > >>Build passed with this patch when using it. > >> > >>Acked-by: Laxman Dewangan <ldewangan@nvidia.com> > >> > >>Please let me know if you applying this. I am going to use the macro > >>from this patch on max77620 series on next spin. > >As you are the first user, just submit it as 0/1 of your set. > > > > I saw that it is merged and available in linux-next 20160211. > So it is fine to not submit this patch again and modify my patch > assuming it is on tree. I was going to handle that, but as you wish, either way is fine by me. -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org ? Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2] mfd: Provide MACRO to declare commonly defined MFD cell attributes 2016-02-10 15:38 ` [PATCH v2] " Lee Jones 2016-02-10 17:50 ` Laxman Dewangan @ 2016-02-26 10:43 ` Andy Shevchenko 1 sibling, 0 replies; 11+ messages in thread From: Andy Shevchenko @ 2016-02-26 10:43 UTC (permalink / raw) To: linux-arm-kernel On Wed, Feb 10, 2016 at 5:38 PM, Lee Jones <lee.jones@linaro.org> wrote: > mfd: Provide MACRO to declare commonly defined MFD cell attributes > Commit message? > +#define MFD_ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) What's wrong with ARRAY_SIZE() ? > + > +#define MFD_CELL_ALL(_name, _res, _pdata, _id, _compat, _match) \ It misses pset. Which makes below set of macros is not sufficient. > + { \ > + .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) \ -- With Best Regards, Andy Shevchenko ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2] mfd: ab8500: Provide a small example using new MFD cell MACROs 2016-02-09 14:27 [PATCH] mfd: Provide MACRO to declare commonly defined MFD cell attributes Lee Jones ` (2 preceding siblings ...) 2016-02-10 15:38 ` [PATCH v2] " Lee Jones @ 2016-02-10 15:39 ` Lee Jones 2016-02-15 9:58 ` Linus Walleij 3 siblings, 1 reply; 11+ messages in thread From: Lee Jones @ 2016-02-10 15:39 UTC (permalink / raw) To: linux-arm-kernel mfd: ab8500: Provide a small example using new MFD cell MACROs Signed-off-by: Lee Jones <lee.jones@linaro.org> --- drivers/mfd/ab8500-core.c | 106 +++++++++++++++------------------------------- 1 file changed, 34 insertions(+), 72 deletions(-) diff --git a/drivers/mfd/ab8500-core.c b/drivers/mfd/ab8500-core.c index f3d6891..c03a86e 100644 --- a/drivers/mfd/ab8500-core.c +++ b/drivers/mfd/ab8500-core.c @@ -634,79 +634,41 @@ static const struct mfd_cell ab8500_bm_devs[] = { static const struct mfd_cell ab8500_devs[] = { #ifdef CONFIG_DEBUG_FS - { - .name = "ab8500-debug", - .of_compatible = "stericsson,ab8500-debug", - }, + OF_MFD_CELL("ab8500-debug", + NULL, NULL, 0, "stericsson,ab8500-debug"), #endif - { - .name = "ab8500-sysctrl", - .of_compatible = "stericsson,ab8500-sysctrl", - }, - { - .name = "ab8500-ext-regulator", - .of_compatible = "stericsson,ab8500-ext-regulator", - }, - { - .name = "ab8500-regulator", - .of_compatible = "stericsson,ab8500-regulator", - }, - { - .name = "abx500-clk", - .of_compatible = "stericsson,abx500-clk", - }, - { - .name = "ab8500-gpadc", - .of_compatible = "stericsson,ab8500-gpadc", - }, - { - .name = "ab8500-rtc", - .of_compatible = "stericsson,ab8500-rtc", - }, - { - .name = "ab8500-acc-det", - .of_compatible = "stericsson,ab8500-acc-det", - }, - { - - .name = "ab8500-poweron-key", - .of_compatible = "stericsson,ab8500-poweron-key", - }, - { - .name = "ab8500-pwm", - .of_compatible = "stericsson,ab8500-pwm", - .id = 1, - }, - { - .name = "ab8500-pwm", - .of_compatible = "stericsson,ab8500-pwm", - .id = 2, - }, - { - .name = "ab8500-pwm", - .of_compatible = "stericsson,ab8500-pwm", - .id = 3, - }, - { - .name = "ab8500-denc", - .of_compatible = "stericsson,ab8500-denc", - }, - { - .name = "pinctrl-ab8500", - .of_compatible = "stericsson,ab8500-gpio", - }, - { - .name = "abx500-temp", - .of_compatible = "stericsson,abx500-temp", - }, - { - .name = "ab8500-usb", - .of_compatible = "stericsson,ab8500-usb", - }, - { - .name = "ab8500-codec", - .of_compatible = "stericsson,ab8500-codec", - }, + OF_MFD_CELL("ab8500-sysctrl", + NULL, NULL, 0, "stericsson,ab8500-sysctrl"), + OF_MFD_CELL("ab8500-ext-regulator", + NULL, NULL, 0, "stericsson,ab8500-ext-regulator"), + OF_MFD_CELL("ab8500-regulator", + NULL, NULL, 0, "stericsson,ab8500-regulator"), + OF_MFD_CELL("abx500-clk", + NULL, NULL, 0, "stericsson,abx500-clk"), + OF_MFD_CELL("ab8500-gpadc", + NULL, NULL, 0, "stericsson,ab8500-gpadc"), + OF_MFD_CELL("ab8500-rtc", + NULL, NULL, 0, "stericsson,ab8500-rtc"), + OF_MFD_CELL("ab8500-acc-det", + NULL, NULL, 0, "stericsson,ab8500-acc-det"), + OF_MFD_CELL("ab8500-poweron-key", + NULL, NULL, 0, "stericsson,ab8500-poweron-key"), + OF_MFD_CELL("ab8500-pwm", + NULL, NULL, 1, "stericsson,ab8500-pwm"), + OF_MFD_CELL("ab8500-pwm", + NULL, NULL, 2, "stericsson,ab8500-pwm"), + OF_MFD_CELL("ab8500-pwm", + NULL, NULL, 3, "stericsson,ab8500-pwm"), + OF_MFD_CELL("ab8500-denc", + NULL, NULL, 0, "stericsson,ab8500-denc"), + OF_MFD_CELL("pinctrl-ab8500", + NULL, NULL, 0, "stericsson,ab8500-gpio"), + OF_MFD_CELL("abx500-temp", + NULL, NULL, 0, "stericsson,abx500-temp"), + OF_MFD_CELL("ab8500-usb", + NULL, NULL, 0, "stericsson,ab8500-usb"), + OF_MFD_CELL("ab8500-codec", + NULL, NULL, 0, "stericsson,ab8500-codec"), }; static const struct mfd_cell ab9540_devs[] = { ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2] mfd: ab8500: Provide a small example using new MFD cell MACROs 2016-02-10 15:39 ` [PATCH v2] mfd: ab8500: Provide a small example using new MFD cell MACROs Lee Jones @ 2016-02-15 9:58 ` Linus Walleij 0 siblings, 0 replies; 11+ messages in thread From: Linus Walleij @ 2016-02-15 9:58 UTC (permalink / raw) To: linux-arm-kernel On Wed, Feb 10, 2016 at 4:39 PM, Lee Jones <lee.jones@linaro.org> wrote: > mfd: ab8500: Provide a small example using new MFD cell MACROs > > Signed-off-by: Lee Jones <lee.jones@linaro.org> Oh, that's pretty. Acked-by: Linus Walleij <linus.walleij@linaro.org> Yours, Linus Walleij ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2016-02-26 10:43 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-02-09 14:27 [PATCH] mfd: Provide MACRO to declare commonly defined MFD cell attributes Lee Jones 2016-02-09 15:20 ` Laxman Dewangan 2016-02-10 12:38 ` Laxman Dewangan 2016-02-10 15:38 ` [PATCH v2] " Lee Jones 2016-02-10 17:50 ` Laxman Dewangan 2016-02-11 9:10 ` Lee Jones 2016-02-11 9:01 ` Laxman Dewangan 2016-02-11 9:46 ` Lee Jones 2016-02-26 10:43 ` Andy Shevchenko 2016-02-10 15:39 ` [PATCH v2] mfd: ab8500: Provide a small example using new MFD cell MACROs Lee Jones 2016-02-15 9:58 ` Linus Walleij
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).