From: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
To: Antoine Tenart <antoine.tenart@free-electrons.com>,
linus.walleij@linaro.org
Cc: jszhang@marvell.com, zmxu@marvell.com,
linux-gpio@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 05/10] pinctrl: berlin: use the regmap provided by syscon
Date: Tue, 28 Apr 2015 13:30:16 +0200 [thread overview]
Message-ID: <553F6F48.5060507@gmail.com> (raw)
In-Reply-To: <1425654328-26298-6-git-send-email-antoine.tenart@free-electrons.com>
On 06.03.2015 16:05, Antoine Tenart wrote:
> The Berlin pin controller nodes are now sub-nodes of the soc-controller
> and the system-controller nodes. The register bank is managed by syscon,
> which provides a regmap.
>
> Remove the regmap setup from the Berlin pinctrl driver and use the one
> provided by syscon.
>
> Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Linus,
would you mind to give your Acked-by for this and the next patch and
let me take this through Berlin and ARM-SoC tree? The patches only
touch berlin-specific subdirectories in pinctrl/ so there should be
no merge issues expected.
Sebastian
> ---
> drivers/pinctrl/berlin/berlin-bg2.c | 22 ----------------------
> drivers/pinctrl/berlin/berlin-bg2cd.c | 22 ----------------------
> drivers/pinctrl/berlin/berlin-bg2q.c | 22 ----------------------
> drivers/pinctrl/berlin/berlin.c | 9 ++++++---
> 4 files changed, 6 insertions(+), 69 deletions(-)
>
> diff --git a/drivers/pinctrl/berlin/berlin-bg2.c b/drivers/pinctrl/berlin/berlin-bg2.c
> index b71a6fffef1b..368ec0b9b8ba 100644
> --- a/drivers/pinctrl/berlin/berlin-bg2.c
> +++ b/drivers/pinctrl/berlin/berlin-bg2.c
> @@ -233,28 +233,6 @@ static int berlin2_pinctrl_probe(struct platform_device *pdev)
> {
> const struct of_device_id *match =
> of_match_device(berlin2_pinctrl_match, &pdev->dev);
> - struct regmap_config *rmconfig;
> - struct regmap *regmap;
> - struct resource *res;
> - void __iomem *base;
> -
> - rmconfig = devm_kzalloc(&pdev->dev, sizeof(*rmconfig), GFP_KERNEL);
> - if (!rmconfig)
> - return -ENOMEM;
> -
> - res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> - base = devm_ioremap_resource(&pdev->dev, res);
> - if (IS_ERR(base))
> - return PTR_ERR(base);
> -
> - rmconfig->reg_bits = 32,
> - rmconfig->val_bits = 32,
> - rmconfig->reg_stride = 4,
> - rmconfig->max_register = resource_size(res);
> -
> - regmap = devm_regmap_init_mmio(&pdev->dev, base, rmconfig);
> - if (IS_ERR(regmap))
> - return PTR_ERR(regmap);
>
> return berlin_pinctrl_probe(pdev, match->data);
> }
> diff --git a/drivers/pinctrl/berlin/berlin-bg2cd.c b/drivers/pinctrl/berlin/berlin-bg2cd.c
> index 19ac5a22c947..6b9cae029ef7 100644
> --- a/drivers/pinctrl/berlin/berlin-bg2cd.c
> +++ b/drivers/pinctrl/berlin/berlin-bg2cd.c
> @@ -176,28 +176,6 @@ static int berlin2cd_pinctrl_probe(struct platform_device *pdev)
> {
> const struct of_device_id *match =
> of_match_device(berlin2cd_pinctrl_match, &pdev->dev);
> - struct regmap_config *rmconfig;
> - struct regmap *regmap;
> - struct resource *res;
> - void __iomem *base;
> -
> - rmconfig = devm_kzalloc(&pdev->dev, sizeof(*rmconfig), GFP_KERNEL);
> - if (!rmconfig)
> - return -ENOMEM;
> -
> - res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> - base = devm_ioremap_resource(&pdev->dev, res);
> - if (IS_ERR(base))
> - return PTR_ERR(base);
> -
> - rmconfig->reg_bits = 32,
> - rmconfig->val_bits = 32,
> - rmconfig->reg_stride = 4,
> - rmconfig->max_register = resource_size(res);
> -
> - regmap = devm_regmap_init_mmio(&pdev->dev, base, rmconfig);
> - if (IS_ERR(regmap))
> - return PTR_ERR(regmap);
>
> return berlin_pinctrl_probe(pdev, match->data);
> }
> diff --git a/drivers/pinctrl/berlin/berlin-bg2q.c b/drivers/pinctrl/berlin/berlin-bg2q.c
> index bd9662e57ad3..11aa10cc0e3e 100644
> --- a/drivers/pinctrl/berlin/berlin-bg2q.c
> +++ b/drivers/pinctrl/berlin/berlin-bg2q.c
> @@ -395,28 +395,6 @@ static int berlin2q_pinctrl_probe(struct platform_device *pdev)
> {
> const struct of_device_id *match =
> of_match_device(berlin2q_pinctrl_match, &pdev->dev);
> - struct regmap_config *rmconfig;
> - struct regmap *regmap;
> - struct resource *res;
> - void __iomem *base;
> -
> - rmconfig = devm_kzalloc(&pdev->dev, sizeof(*rmconfig), GFP_KERNEL);
> - if (!rmconfig)
> - return -ENOMEM;
> -
> - res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> - base = devm_ioremap_resource(&pdev->dev, res);
> - if (IS_ERR(base))
> - return PTR_ERR(base);
> -
> - rmconfig->reg_bits = 32,
> - rmconfig->val_bits = 32,
> - rmconfig->reg_stride = 4,
> - rmconfig->max_register = resource_size(res);
> -
> - regmap = devm_regmap_init_mmio(&pdev->dev, base, rmconfig);
> - if (IS_ERR(regmap))
> - return PTR_ERR(regmap);
>
> return berlin_pinctrl_probe(pdev, match->data);
> }
> diff --git a/drivers/pinctrl/berlin/berlin.c b/drivers/pinctrl/berlin/berlin.c
> index 7f0b0f93242b..2e3a8b8858ec 100644
> --- a/drivers/pinctrl/berlin/berlin.c
> +++ b/drivers/pinctrl/berlin/berlin.c
> @@ -12,6 +12,7 @@
>
> #include <linux/io.h>
> #include <linux/module.h>
> +#include <linux/mfd/syscon.h>
> #include <linux/of.h>
> #include <linux/of_address.h>
> #include <linux/of_device.h>
> @@ -295,13 +296,15 @@ int berlin_pinctrl_probe(struct platform_device *pdev,
> const struct berlin_pinctrl_desc *desc)
> {
> struct device *dev = &pdev->dev;
> + struct device_node *parent_np = of_get_parent(dev->of_node);
> struct berlin_pinctrl *pctrl;
> struct regmap *regmap;
> int ret;
>
> - regmap = dev_get_regmap(&pdev->dev, NULL);
> - if (!regmap)
> - return -ENODEV;
> + regmap = syscon_node_to_regmap(parent_np);
> + of_node_put(parent_np);
> + if (IS_ERR(regmap))
> + return PTR_ERR(regmap);
>
> pctrl = devm_kzalloc(dev, sizeof(*pctrl), GFP_KERNEL);
> if (!pctrl)
>
WARNING: multiple messages have this Message-ID (diff)
From: sebastian.hesselbarth@gmail.com (Sebastian Hesselbarth)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 05/10] pinctrl: berlin: use the regmap provided by syscon
Date: Tue, 28 Apr 2015 13:30:16 +0200 [thread overview]
Message-ID: <553F6F48.5060507@gmail.com> (raw)
In-Reply-To: <1425654328-26298-6-git-send-email-antoine.tenart@free-electrons.com>
On 06.03.2015 16:05, Antoine Tenart wrote:
> The Berlin pin controller nodes are now sub-nodes of the soc-controller
> and the system-controller nodes. The register bank is managed by syscon,
> which provides a regmap.
>
> Remove the regmap setup from the Berlin pinctrl driver and use the one
> provided by syscon.
>
> Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Linus,
would you mind to give your Acked-by for this and the next patch and
let me take this through Berlin and ARM-SoC tree? The patches only
touch berlin-specific subdirectories in pinctrl/ so there should be
no merge issues expected.
Sebastian
> ---
> drivers/pinctrl/berlin/berlin-bg2.c | 22 ----------------------
> drivers/pinctrl/berlin/berlin-bg2cd.c | 22 ----------------------
> drivers/pinctrl/berlin/berlin-bg2q.c | 22 ----------------------
> drivers/pinctrl/berlin/berlin.c | 9 ++++++---
> 4 files changed, 6 insertions(+), 69 deletions(-)
>
> diff --git a/drivers/pinctrl/berlin/berlin-bg2.c b/drivers/pinctrl/berlin/berlin-bg2.c
> index b71a6fffef1b..368ec0b9b8ba 100644
> --- a/drivers/pinctrl/berlin/berlin-bg2.c
> +++ b/drivers/pinctrl/berlin/berlin-bg2.c
> @@ -233,28 +233,6 @@ static int berlin2_pinctrl_probe(struct platform_device *pdev)
> {
> const struct of_device_id *match =
> of_match_device(berlin2_pinctrl_match, &pdev->dev);
> - struct regmap_config *rmconfig;
> - struct regmap *regmap;
> - struct resource *res;
> - void __iomem *base;
> -
> - rmconfig = devm_kzalloc(&pdev->dev, sizeof(*rmconfig), GFP_KERNEL);
> - if (!rmconfig)
> - return -ENOMEM;
> -
> - res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> - base = devm_ioremap_resource(&pdev->dev, res);
> - if (IS_ERR(base))
> - return PTR_ERR(base);
> -
> - rmconfig->reg_bits = 32,
> - rmconfig->val_bits = 32,
> - rmconfig->reg_stride = 4,
> - rmconfig->max_register = resource_size(res);
> -
> - regmap = devm_regmap_init_mmio(&pdev->dev, base, rmconfig);
> - if (IS_ERR(regmap))
> - return PTR_ERR(regmap);
>
> return berlin_pinctrl_probe(pdev, match->data);
> }
> diff --git a/drivers/pinctrl/berlin/berlin-bg2cd.c b/drivers/pinctrl/berlin/berlin-bg2cd.c
> index 19ac5a22c947..6b9cae029ef7 100644
> --- a/drivers/pinctrl/berlin/berlin-bg2cd.c
> +++ b/drivers/pinctrl/berlin/berlin-bg2cd.c
> @@ -176,28 +176,6 @@ static int berlin2cd_pinctrl_probe(struct platform_device *pdev)
> {
> const struct of_device_id *match =
> of_match_device(berlin2cd_pinctrl_match, &pdev->dev);
> - struct regmap_config *rmconfig;
> - struct regmap *regmap;
> - struct resource *res;
> - void __iomem *base;
> -
> - rmconfig = devm_kzalloc(&pdev->dev, sizeof(*rmconfig), GFP_KERNEL);
> - if (!rmconfig)
> - return -ENOMEM;
> -
> - res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> - base = devm_ioremap_resource(&pdev->dev, res);
> - if (IS_ERR(base))
> - return PTR_ERR(base);
> -
> - rmconfig->reg_bits = 32,
> - rmconfig->val_bits = 32,
> - rmconfig->reg_stride = 4,
> - rmconfig->max_register = resource_size(res);
> -
> - regmap = devm_regmap_init_mmio(&pdev->dev, base, rmconfig);
> - if (IS_ERR(regmap))
> - return PTR_ERR(regmap);
>
> return berlin_pinctrl_probe(pdev, match->data);
> }
> diff --git a/drivers/pinctrl/berlin/berlin-bg2q.c b/drivers/pinctrl/berlin/berlin-bg2q.c
> index bd9662e57ad3..11aa10cc0e3e 100644
> --- a/drivers/pinctrl/berlin/berlin-bg2q.c
> +++ b/drivers/pinctrl/berlin/berlin-bg2q.c
> @@ -395,28 +395,6 @@ static int berlin2q_pinctrl_probe(struct platform_device *pdev)
> {
> const struct of_device_id *match =
> of_match_device(berlin2q_pinctrl_match, &pdev->dev);
> - struct regmap_config *rmconfig;
> - struct regmap *regmap;
> - struct resource *res;
> - void __iomem *base;
> -
> - rmconfig = devm_kzalloc(&pdev->dev, sizeof(*rmconfig), GFP_KERNEL);
> - if (!rmconfig)
> - return -ENOMEM;
> -
> - res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> - base = devm_ioremap_resource(&pdev->dev, res);
> - if (IS_ERR(base))
> - return PTR_ERR(base);
> -
> - rmconfig->reg_bits = 32,
> - rmconfig->val_bits = 32,
> - rmconfig->reg_stride = 4,
> - rmconfig->max_register = resource_size(res);
> -
> - regmap = devm_regmap_init_mmio(&pdev->dev, base, rmconfig);
> - if (IS_ERR(regmap))
> - return PTR_ERR(regmap);
>
> return berlin_pinctrl_probe(pdev, match->data);
> }
> diff --git a/drivers/pinctrl/berlin/berlin.c b/drivers/pinctrl/berlin/berlin.c
> index 7f0b0f93242b..2e3a8b8858ec 100644
> --- a/drivers/pinctrl/berlin/berlin.c
> +++ b/drivers/pinctrl/berlin/berlin.c
> @@ -12,6 +12,7 @@
>
> #include <linux/io.h>
> #include <linux/module.h>
> +#include <linux/mfd/syscon.h>
> #include <linux/of.h>
> #include <linux/of_address.h>
> #include <linux/of_device.h>
> @@ -295,13 +296,15 @@ int berlin_pinctrl_probe(struct platform_device *pdev,
> const struct berlin_pinctrl_desc *desc)
> {
> struct device *dev = &pdev->dev;
> + struct device_node *parent_np = of_get_parent(dev->of_node);
> struct berlin_pinctrl *pctrl;
> struct regmap *regmap;
> int ret;
>
> - regmap = dev_get_regmap(&pdev->dev, NULL);
> - if (!regmap)
> - return -ENODEV;
> + regmap = syscon_node_to_regmap(parent_np);
> + of_node_put(parent_np);
> + if (IS_ERR(regmap))
> + return PTR_ERR(regmap);
>
> pctrl = devm_kzalloc(dev, sizeof(*pctrl), GFP_KERNEL);
> if (!pctrl)
>
next prev parent reply other threads:[~2015-04-28 11:30 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-06 15:05 [PATCH v2 00/10] ARM: berlin: refactor chip and system controllers Antoine Tenart
2015-03-06 15:05 ` Antoine Tenart
2015-03-06 15:05 ` [PATCH v2 01/10] Documentation: bindings: update the Berlin controllers documentation Antoine Tenart
2015-03-06 15:05 ` Antoine Tenart
2015-03-06 15:05 ` [PATCH v2 02/10] ARM: berlin: select MFD_SYSCON by default Antoine Tenart
2015-03-06 15:05 ` Antoine Tenart
2015-03-06 15:05 ` [PATCH v2 03/10] reset: berlin: convert to a platform driver Antoine Tenart
2015-03-06 15:05 ` Antoine Tenart
2015-03-09 10:16 ` Philipp Zabel
2015-03-09 10:16 ` Philipp Zabel
2015-03-10 9:57 ` Antoine Tenart
2015-03-10 9:57 ` Antoine Tenart
2015-03-25 8:26 ` Linus Walleij
2015-03-25 8:26 ` Linus Walleij
2015-05-12 14:43 ` Antoine Tenart
2015-05-12 14:43 ` Antoine Tenart
2015-05-13 8:38 ` Philipp Zabel
2015-05-13 8:38 ` Philipp Zabel
2015-05-15 9:14 ` Sebastian Hesselbarth
2015-05-15 9:14 ` Sebastian Hesselbarth
2015-03-06 15:05 ` [PATCH v2 04/10] Documentation: bindings: move the Berlin reset documentation Antoine Tenart
2015-03-06 15:05 ` Antoine Tenart
2015-03-09 10:16 ` Philipp Zabel
2015-03-09 10:16 ` Philipp Zabel
2015-03-06 15:05 ` [PATCH v2 05/10] pinctrl: berlin: use the regmap provided by syscon Antoine Tenart
2015-03-06 15:05 ` Antoine Tenart
2015-04-28 11:30 ` Sebastian Hesselbarth [this message]
2015-04-28 11:30 ` Sebastian Hesselbarth
2015-05-06 14:28 ` Linus Walleij
2015-05-06 14:28 ` Linus Walleij
2015-03-06 15:05 ` [PATCH v2 06/10] pinctrl: berlin: use proper compatibles Antoine Tenart
2015-03-06 15:05 ` Antoine Tenart
2015-06-10 7:13 ` Linus Walleij
2015-06-10 7:13 ` Linus Walleij
2015-06-12 9:05 ` Antoine Tenart
2015-06-12 9:05 ` Antoine Tenart
2015-06-12 9:05 ` Antoine Tenart
2015-06-12 9:24 ` Sebastian Hesselbarth
2015-06-12 9:24 ` Sebastian Hesselbarth
2015-03-06 15:05 ` [PATCH v2 07/10] Documentation: bindings: move the Berlin pinctrl documentation Antoine Tenart
2015-03-06 15:05 ` Antoine Tenart
2015-06-10 7:14 ` Linus Walleij
2015-06-10 7:14 ` Linus Walleij
2015-03-06 15:05 ` [PATCH v2 08/10] ARM: berlin: rework chip and system controller nodes for BG2 Antoine Tenart
2015-03-06 15:05 ` Antoine Tenart
2015-03-06 15:05 ` [PATCH v2 09/10] ARM: berlin: rework chip and system controller nodes for BG2CD Antoine Tenart
2015-03-06 15:05 ` Antoine Tenart
2015-03-06 15:05 ` [PATCH v2 10/10] ARM: berlin: rework chip and system controller nodes for BG2Q Antoine Tenart
2015-03-06 15:05 ` Antoine Tenart
2015-03-09 17:13 ` [PATCH v2 00/10] ARM: berlin: refactor chip and system controllers Linus Walleij
2015-03-09 17:13 ` Linus Walleij
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=553F6F48.5060507@gmail.com \
--to=sebastian.hesselbarth@gmail.com \
--cc=antoine.tenart@free-electrons.com \
--cc=jszhang@marvell.com \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=zmxu@marvell.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.