[U-Boot] [PATCH 01/15] pinctrl: uniphier: add UniPhier pinctrl core support

Masahiro Yamada yamada.masahiro at socionext.com
Wed Sep 2 05:30:27 CEST 2015


2015-09-02 11:48 GMT+09:00 Simon Glass <sjg at chromium.org>:

>> diff --git a/drivers/pinctrl/uniphier/pinctrl-uniphier.h b/drivers/pinctrl/uniphier/pinctrl-uniphier.h
>> new file mode 100644
>> index 0000000..db74838
>> --- /dev/null
>> +++ b/drivers/pinctrl/uniphier/pinctrl-uniphier.h
>> @@ -0,0 +1,57 @@
>> +/*
>> + * Copyright (C) 2015 Masahiro Yamada <yamada.masahiro at socionext.com>
>> + *
>> + * SPDX-License-Identifier:    GPL-2.0+
>> + */
>> +
>> +#ifndef __PINCTRL_UNIPHIER_H__
>> +#define __PINCTRL_UNIPHIER_H__
>> +
>> +#include <linux/kernel.h>
>> +#include <linux/types.h>
>> +
>> +#define UNIPHIER_PINCTRL_PINMUX_BASE   0x0
>> +#define UNIPHIER_PINCTRL_LOAD_PINMUX   0x700
>> +#define UNIPHIER_PINCTRL_IECTRL                0xd00
>
> Since this is local data you don't really need the UNIPHIER prefix,
> but it's up to you.

I want to make sure that these macros are not global ones, but our
SoC-specific ones.

I prefer to add some prefixes.


>> +
>> +struct uniphier_pmx_data {
>
> comments please on these structures.

I will think of that, but I believe this is also up to me.

These are driver-local structures,
so comments for each structure are not the requirement.
Moreover, most of them have clear names.

At least, when I sent some driver patches to Linux, I was never told
to add comment blocks to driver-specific structures.



>> +       unsigned pin;
>> +       unsigned muxval;
>> +};
>> +
>> +struct uniphier_pinctrl_group {
>> +       const char *name;
>> +       const struct uniphier_pmx_data *pmx_data;
>> +       unsigned num_pmx_data;
>> +};
>> +
>> +struct uniphier_pinctrl_socdata {
>> +       const struct uniphier_pinctrl_group *groups;
>> +       int groups_count;
>> +       const char * const *functions;
>> +       int functions_count;
>> +       unsigned mux_bits;
>> +       unsigned reg_stride;
>> +       bool load_pinctrl;
>> +};
>> +
>> +#define UNIPHIER_PINCTRL_GROUP(grp)                    \
>> +       {                                               \
>> +               .name = #grp,                           \
>> +               .pmx_data = grp##_pmx,                  \
>> +               .num_pmx_data = ARRAY_SIZE(grp##_pmx),  \
>> +       }
>> +
>> +struct uniphier_pinctrl_priv {
>> +       void __iomem *base;
>> +       struct uniphier_pinctrl_socdata *socdata;
>> +};
>> +
>> +extern const struct pinctrl_ops uniphier_pinctrl_ops;
>
> It's a shame this cannot be static...


Indeed.




-- 
Best Regards
Masahiro Yamada


More information about the U-Boot mailing list