From: Lee Jones <lee.jones@linaro.org>
To: Orson Zhai <orson.zhai@unisoc.com>
Cc: Arnd Bergmann <arnd@arndb.de>,
linux-kernel@vger.kernel.org, baolin.wang@unisoc.com,
chunyan.zhang@unisoc.com
Subject: Re: [PATCH v4] mfd: syscon: Add arguments support for syscon reference
Date: Mon, 20 Jan 2020 08:05:08 +0000 [thread overview]
Message-ID: <20200120080508.GR15507@dell> (raw)
In-Reply-To: <1579397619-28547-1-git-send-email-orson.zhai@unisoc.com>
On Sun, 19 Jan 2020, Orson Zhai wrote:
> There are a lot of similar global registers being used across multiple SoCs
> from Unisoc. But most of these registers are assigned with different offset
> for different SoCs. It is hard to handle all of them in an all-in-one
> kernel image.
>
> Add a helper function to get regmap with arguments where we could put some
> extra information such as the offset value.
>
> Signed-off-by: Orson Zhai <orson.zhai@unisoc.com>
> Tested-by: Baolin Wang <baolin.wang@unisoc.com>
> Reviewed-by: Arnd Bergmann <arnd@arndb.de>
> Acked-by: Lee Jones <lee.jones@linaro.org>
> ---
>
> V3 Change:
> Rebase on latest kernel v5.5-rc6 for Lee.
>
> V4 Change:
> Remove trailing spaces according to checkpatch.
>
> drivers/mfd/syscon.c | 29 +++++++++++++++++++++++++++++
> include/linux/mfd/syscon.h | 14 ++++++++++++++
> 2 files changed, 43 insertions(+)
Nope, still not working:
Applying patch #1181935 using "git am -s -3"
Description: [v4] mfd: syscon: Add arguments support for syscon reference
Applying: mfd: syscon: Add arguments support for syscon reference
Using index info to reconstruct a base tree...
M drivers/mfd/syscon.c
/home/lee/projects/linux/kernel/.git/worktrees/mfd/rebase-apply/patch:25: indent with spaces.
const char *property,
/home/lee/projects/linux/kernel/.git/worktrees/mfd/rebase-apply/patch:26: indent with spaces.
int arg_count,
/home/lee/projects/linux/kernel/.git/worktrees/mfd/rebase-apply/patch:27: indent with spaces.
unsigned int *out_args)
/home/lee/projects/linux/kernel/.git/worktrees/mfd/rebase-apply/patch:36: indent with spaces.
0, &args);
/home/lee/projects/linux/kernel/.git/worktrees/mfd/rebase-apply/patch:38: indent with spaces.
return ERR_PTR(rc);
error: patch failed: drivers/mfd/syscon.c:224
error: drivers/mfd/syscon.c: patch does not apply
error: patch failed: include/linux/mfd/syscon.h:23
error: include/linux/mfd/syscon.h: patch does not apply
error: Did you hand edit your patch?
It does not apply to blobs recorded in its index.
Patch failed at 0001 mfd: syscon: Add arguments support for syscon reference
hint: Use 'git am --show-current-patch' to see the failed patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
'git am' failed with exit status 128
Please talk me through how you are sending the patch.
> diff --git a/drivers/mfd/syscon.c b/drivers/mfd/syscon.c
> index e22197c..2918b05 100644
> --- a/drivers/mfd/syscon.c
> +++ b/drivers/mfd/syscon.c
> @@ -224,6 +224,35 @@ 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_phandle_args(struct device_node *np,
> + const char *property,
> + int arg_count,
> + unsigned int *out_args)
> +{
> + struct device_node *syscon_np;
> + struct of_phandle_args args;
> + struct regmap *regmap;
> + unsigned int index;
> + int rc;
> +
> + rc = of_parse_phandle_with_fixed_args(np, property, arg_count,
> + 0, &args);
> + if (rc)
> + return ERR_PTR(rc);
> +
> + syscon_np = args.np;
> + if (!syscon_np)
> + return ERR_PTR(-ENODEV);
> +
> + regmap = syscon_node_to_regmap(syscon_np);
> + for (index = 0; index < arg_count; index++)
> + out_args[index] = args.args[index];
> + of_node_put(syscon_np);
> +
> + return regmap;
> +}
> +EXPORT_SYMBOL_GPL(syscon_regmap_lookup_by_phandle_args);
> +
> static int syscon_probe(struct platform_device *pdev)
> {
> struct device *dev = &pdev->dev;
> diff --git a/include/linux/mfd/syscon.h b/include/linux/mfd/syscon.h
> index 112dc66..714cab1 100644
> --- a/include/linux/mfd/syscon.h
> +++ b/include/linux/mfd/syscon.h
> @@ -23,6 +23,11 @@ extern struct regmap *syscon_regmap_lookup_by_compatible(const char *s);
> extern struct regmap *syscon_regmap_lookup_by_phandle(
> struct device_node *np,
> const char *property);
> +extern struct regmap *syscon_regmap_lookup_by_phandle_args(
> + struct device_node *np,
> + const char *property,
> + int arg_count,
> + unsigned int *out_args);
> #else
> static inline struct regmap *device_node_to_regmap(struct device_node *np)
> {
> @@ -45,6 +50,15 @@ static inline struct regmap *syscon_regmap_lookup_by_phandle(
> {
> return ERR_PTR(-ENOTSUPP);
> }
> +
> +static struct regmap *syscon_regmap_lookup_by_phandle_args(
> + struct device_node *np,
> + const char *property,
> + int arg_count,
> + unsigned int *out_args)
> +{
> + return ERR_PTR(-ENOTSUPP);
> +}
> #endif
>
> #endif /* __LINUX_MFD_SYSCON_H__ */
--
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
next prev parent reply other threads:[~2020-01-20 8:04 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-19 1:33 [PATCH v4] mfd: syscon: Add arguments support for syscon reference Orson Zhai
2020-01-20 8:05 ` Lee Jones [this message]
2020-01-21 7:46 ` Orson Zhai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200120080508.GR15507@dell \
--to=lee.jones@linaro.org \
--cc=arnd@arndb.de \
--cc=baolin.wang@unisoc.com \
--cc=chunyan.zhang@unisoc.com \
--cc=linux-kernel@vger.kernel.org \
--cc=orson.zhai@unisoc.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox