Message ID | 20220531084322.1310250-5-Basavaraj.Natikar@amd.com |
---|---|
State | New |
Headers | show |
Series | Enhancements to AMD pinctrl and implementation of AMD pinmux | expand |
On Tue, May 31, 2022 at 02:13:20PM +0530, Basavaraj Natikar wrote: > AMD pingroup can be extended to support multi-function pins. > Hence define and use a macro "AMD_PINS" to represent larger > number of pins. ... > +#define AMD_PINS(...) ((const unsigned int []){__VA_ARGS__}) Do you need to have it as GCC expression?
On 5/31/2022 3:53 PM, Andy Shevchenko wrote: > On Tue, May 31, 2022 at 02:13:20PM +0530, Basavaraj Natikar wrote: >> AMD pingroup can be extended to support multi-function pins. >> Hence define and use a macro "AMD_PINS" to represent larger >> number of pins. > ... > >> +#define AMD_PINS(...) ((const unsigned int []){__VA_ARGS__}) > Do you need to have it as GCC expression? yes, or else I will hit the checkpatch error as below ---------------------------------------------------- ERROR: Macros with complex values should be enclosed in parentheses #31: FILE: drivers/pinctrl/pinctrl-amd.h:285: +#define AMD_PINS(...) (const unsigned int []){__VA_ARGS__}
On Tue, May 31, 2022 at 5:27 PM Basavaraj Natikar <bnatikar@amd.com> wrote: > On 5/31/2022 3:53 PM, Andy Shevchenko wrote: > > On Tue, May 31, 2022 at 02:13:20PM +0530, Basavaraj Natikar wrote: ... > >> +#define AMD_PINS(...) ((const unsigned int []){__VA_ARGS__}) > > Do you need to have it as GCC expression? > > yes, or else I will hit the checkpatch error as below Does it compile? Does it work? If so, fix checkpatch. > ---------------------------------------------------- > ERROR: Macros with complex values should be enclosed in parentheses > #31: FILE: drivers/pinctrl/pinctrl-amd.h:285: > +#define AMD_PINS(...) (const unsigned int []){__VA_ARGS__}
diff --git a/drivers/pinctrl/pinctrl-amd.h b/drivers/pinctrl/pinctrl-amd.h index d47217e7b39f..5443a4a38eec 100644 --- a/drivers/pinctrl/pinctrl-amd.h +++ b/drivers/pinctrl/pinctrl-amd.h @@ -282,21 +282,14 @@ static const struct pinctrl_pin_desc kerncz_pins[] = { PINCTRL_PIN(183, "GPIO_183"), }; -static const unsigned i2c0_pins[] = {145, 146}; -static const unsigned i2c1_pins[] = {147, 148}; -static const unsigned i2c2_pins[] = {113, 114}; -static const unsigned i2c3_pins[] = {19, 20}; - -static const unsigned uart0_pins[] = {135, 136, 137, 138, 139}; -static const unsigned uart1_pins[] = {140, 141, 142, 143, 144}; - +#define AMD_PINS(...) ((const unsigned int []){__VA_ARGS__}) static const struct pingroup kerncz_groups[] = { - PINCTRL_GRP("i2c0", i2c0_pins, 2), - PINCTRL_GRP("i2c1", i2c1_pins, 2), - PINCTRL_GRP("i2c2", i2c2_pins, 2), - PINCTRL_GRP("i2c3", i2c3_pins, 2), - PINCTRL_GRP("uart0", uart0_pins, 5), - PINCTRL_GRP("uart1", uart1_pins, 5), + PINCTRL_GRP("i2c0", AMD_PINS(145, 146), 2), + PINCTRL_GRP("i2c1", AMD_PINS(147, 148), 2), + PINCTRL_GRP("i2c2", AMD_PINS(113, 114), 2), + PINCTRL_GRP("i2c3", AMD_PINS(19, 20), 2), + PINCTRL_GRP("uart0", AMD_PINS(135, 136, 137, 138, 139), 5), + PINCTRL_GRP("uart1", AMD_PINS(140, 141, 142, 143, 144), 5), }; #endif
AMD pingroup can be extended to support multi-function pins. Hence define and use a macro "AMD_PINS" to represent larger number of pins. Signed-off-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com> --- drivers/pinctrl/pinctrl-amd.h | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-)