Re: [PATCH V2 2/2] mfd: syscon: Find syscon by names with arguments support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Nov 20, 2019 at 4:44 PM Orson Zhai <orson.zhai@xxxxxxxxxx> wrote:
>
> There are a lot of global registers used across multiple similar SoCs
> from Unisoc. It is not easy to manage all of them very well by current
> syscon helper functions.
>
> Add helper functions to get regmap and arguments by syscon-names all
> together.
>
> This patch does not affect original syscon code and usage. It may help
> other SoC vendors if they have the same trouble as well.
>
> Signed-off-by: Orson Zhai <orson.zhai@xxxxxxxxxx>
> ---
>  drivers/mfd/syscon.c       | 75 ++++++++++++++++++++++++++++++++++++++
>  include/linux/mfd/syscon.h | 26 +++++++++++++
>  2 files changed, 101 insertions(+)
>
> diff --git a/drivers/mfd/syscon.c b/drivers/mfd/syscon.c
> index 660723276481..e818decc7bf2 100644
> --- a/drivers/mfd/syscon.c
> +++ b/drivers/mfd/syscon.c
> @@ -225,6 +225,81 @@ struct regmap *syscon_regmap_lookup_by_phandle(struct device_node *np,
>  }
>  EXPORT_SYMBOL_GPL(syscon_regmap_lookup_by_phandle);
>
> +struct regmap *syscon_regmap_lookup_by_name(struct device_node *np,
> +                                       const char *list_name,
> +                                       const char *cell_name)
> +{

According to the binding change I suggested, this would not take a 'cell_name'
argument, but instead a an arg_count.

> +
> +int syscon_get_args_by_name(struct device_node *np,
> +                       const char *list_name,
> +                       const char *cell_name,
> +                       int arg_count,
> +                       unsigned int *out_args)
> +{

and I think this could be combined with it, like

struct regmap *syscon_regmap_lookup_by_name(struct device_node *np,
                                       const char *name, int
arg_count, __u32 *out_args)

    Arnd



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux