All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Alexander Shiyan" <shc_work@mail.ru>
To: "Grygorii Strashko" <grygorii.strashko@ti.com>
Cc: "Alexandre Courbot" <gnurou@gmail.com>,
	devicetree@vger.kernel.org,
	"Linus Walleij" <linus.walleij@linaro.org>,
	linux-gpio@vger.kernel.org, "Rob Herring" <robh+dt@kernel.org>,
	santosh.shilimkar@ti.com, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2 0/3] gpio: syscon: reuse for keystone 2 socs
Date: Thu, 21 Aug 2014 20:51:14 +0400	[thread overview]
Message-ID: <1408639874.873856101@f420.i.mail.ru> (raw)
In-Reply-To: <1408638203-8246-1-git-send-email-grygorii.strashko@ti.com>

Thu, 21 Aug 2014 19:23:20 +0300 от Grygorii Strashko <grygorii.strashko@ti.com>:
> Hi All,
> 
> Alexander,
> 
> I've updated gpio-syscon as requested in [3].
> I still don't like it, but any way I did it :(
> 
> Linus,
> 
> I'd very appreciated if you can comment on these series.
> Personally, I like v1 [3], because this v2 is not elegant and will
> require constant code patching in case of adding new SoCs or new SoC's versions.
> 
> This series intended to integrate Keystone 2 DSP GPIO controller functionality
> into gpio-syscon driver (drivers/gpio/gpio-syscon.c) as requested
> by Linus Walleij in [1].
> 
> On Keystone SOCs, ARM host can send interrupts to DSP cores using the
> DSP GPIO controller IP. Each DSP GPIO controller provides 28 IRQ signals for
> each DSP core. This is one of the component used by the IPC mechanism used
> on Keystone SOCs.
> 
> Keystone 2 DSP GPIO controller has specific features:
> - each GPIO can be configured only as output pin;
> - setting GPIO value to 1 causes IRQ generation on target DSP core;
> - reading pin value returns 0 - if IRQ was handled or 1 - IRQ is still
>   pending.
> 
> The gpio-syscon driver was need to be updated to satisfy Keystone 2 SoC
> requirements:
> - special sequence of operations need to be used to assign output GPIO value.
>    As result, first patch introduces SoC specific callback .set() to configure
>    output GPIO value.
> 
> Also, patch 3 was added to illustrate DSP GPIO configuration in DT used by Keystone 2.
> 
> Related sicussions:
>  [1] https://lkml.org/lkml/2014/7/16/170
>  [2] https://lkml.org/lkml/2014/7/23/352
>  [3] https://www.mail-archive.com/devicetree@vger.kernel.org/msg37863.html
> 
> Grygorii Strashko (3):
>   gpio: syscon: add soc specific callback to assign output value
>   gpio: syscon: reuse for keystone 2 socs
>   ARM: dts: keystone-k2hk: add dsp gpio controllers nodes
> 
>  .../bindings/gpio/gpio-mctrl-keystone.txt          |   42 ++++++
>  arch/arm/boot/dts/k2hk.dtsi                        |   48 +++++++
>  drivers/gpio/gpio-syscon.c                         |  140 ++++++++++++++++++++
>  3 files changed, 230 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/gpio/gpio-mctrl-keystone.txt

1. mctrl -> dsp in filenames
2. mctrl -> dsp in documentation.
3. Here is a more elegant solution for first part.

--- gpio-syscon.c.old	2014-08-19 09:46:09.000000000 +0400
+++ gpio-syscon.c	2014-08-21 20:45:49.357529323 +0400
@@ -111,7 +111,7 @@
 				   BIT(offs % SYSCON_REG_BITS));
 	}
 
-	syscon_gpio_set(chip, offset, val);
+	priv->data->set(chip, offset, val);
 
 	return 0;
 }
@@ -159,7 +159,7 @@
 	if (priv->data->flags & GPIO_SYSCON_FEAT_IN)
 		priv->chip.direction_input = syscon_gpio_dir_in;
 	if (priv->data->flags & GPIO_SYSCON_FEAT_OUT) {
-		priv->chip.set = syscon_gpio_set;
+		priv->chip.set = priv->data->set ? : syscon_gpio_set;
 		priv->chip.direction_output = syscon_gpio_dir_out;
 	}
 

---

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: shc_work@mail.ru (Alexander Shiyan)
To: linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2 0/3] gpio: syscon: reuse for keystone 2 socs
Date: Thu, 21 Aug 2014 20:51:14 +0400	[thread overview]
Message-ID: <1408639874.873856101@f420.i.mail.ru> (raw)
In-Reply-To: <1408638203-8246-1-git-send-email-grygorii.strashko@ti.com>

Thu, 21 Aug 2014 19:23:20 +0300 ?? Grygorii Strashko <grygorii.strashko@ti.com>:
> Hi All,
> 
> Alexander,
> 
> I've updated gpio-syscon as requested in [3].
> I still don't like it, but any way I did it :(
> 
> Linus,
> 
> I'd very appreciated if you can comment on these series.
> Personally, I like v1 [3], because this v2 is not elegant and will
> require constant code patching in case of adding new SoCs or new SoC's versions.
> 
> This series intended to integrate Keystone 2 DSP GPIO controller functionality
> into gpio-syscon driver (drivers/gpio/gpio-syscon.c) as requested
> by Linus Walleij in [1].
> 
> On Keystone SOCs, ARM host can send interrupts to DSP cores using the
> DSP GPIO controller IP. Each DSP GPIO controller provides 28 IRQ signals for
> each DSP core. This is one of the component used by the IPC mechanism used
> on Keystone SOCs.
> 
> Keystone 2 DSP GPIO controller has specific features:
> - each GPIO can be configured only as output pin;
> - setting GPIO value to 1 causes IRQ generation on target DSP core;
> - reading pin value returns 0 - if IRQ was handled or 1 - IRQ is still
>   pending.
> 
> The gpio-syscon driver was need to be updated to satisfy Keystone 2 SoC
> requirements:
> - special sequence of operations need to be used to assign output GPIO value.
>    As result, first patch introduces SoC specific callback .set() to configure
>    output GPIO value.
> 
> Also, patch 3 was added to illustrate DSP GPIO configuration in DT used by Keystone 2.
> 
> Related sicussions:
>  [1] https://lkml.org/lkml/2014/7/16/170
>  [2] https://lkml.org/lkml/2014/7/23/352
>  [3] https://www.mail-archive.com/devicetree at vger.kernel.org/msg37863.html
> 
> Grygorii Strashko (3):
>   gpio: syscon: add soc specific callback to assign output value
>   gpio: syscon: reuse for keystone 2 socs
>   ARM: dts: keystone-k2hk: add dsp gpio controllers nodes
> 
>  .../bindings/gpio/gpio-mctrl-keystone.txt          |   42 ++++++
>  arch/arm/boot/dts/k2hk.dtsi                        |   48 +++++++
>  drivers/gpio/gpio-syscon.c                         |  140 ++++++++++++++++++++
>  3 files changed, 230 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/gpio/gpio-mctrl-keystone.txt

1. mctrl -> dsp in filenames
2. mctrl -> dsp in documentation.
3. Here is a more elegant solution for first part.

--- gpio-syscon.c.old	2014-08-19 09:46:09.000000000 +0400
+++ gpio-syscon.c	2014-08-21 20:45:49.357529323 +0400
@@ -111,7 +111,7 @@
 				   BIT(offs % SYSCON_REG_BITS));
 	}
 
-	syscon_gpio_set(chip, offset, val);
+	priv->data->set(chip, offset, val);
 
 	return 0;
 }
@@ -159,7 +159,7 @@
 	if (priv->data->flags & GPIO_SYSCON_FEAT_IN)
 		priv->chip.direction_input = syscon_gpio_dir_in;
 	if (priv->data->flags & GPIO_SYSCON_FEAT_OUT) {
-		priv->chip.set = syscon_gpio_set;
+		priv->chip.set = priv->data->set ? : syscon_gpio_set;
 		priv->chip.direction_output = syscon_gpio_dir_out;
 	}
 

---

  parent reply	other threads:[~2014-08-21 16:51 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-13 16:16 [PATCH 0/4] gpio: syscon: reuse for keystone 2 socs Grygorii Strashko
2014-08-13 16:16 ` Grygorii Strashko
2014-08-13 16:16 ` [PATCH 1/4] gpio: syscon: add soc specific callback to assign output value Grygorii Strashko
2014-08-13 16:16   ` Grygorii Strashko
2014-08-29  6:19   ` Linus Walleij
2014-08-29  6:19     ` Linus Walleij
2014-09-01 14:55     ` Grygorii Strashko
2014-09-01 14:55       ` Grygorii Strashko
2014-08-13 16:16 ` [PATCH 2/4] gpio: syscon: retrive syscon node and regs offsets from dt Grygorii Strashko
2014-08-13 16:16   ` Grygorii Strashko
2014-08-13 16:16 ` [PATCH 3/4] gpio: syscon: reuse for keystone 2 socs Grygorii Strashko
2014-08-13 16:16   ` Grygorii Strashko
2014-08-29  5:53   ` Linus Walleij
2014-08-29  5:53     ` Linus Walleij
2014-08-13 16:16 ` [PATCH 4/4] ARM: dts: keystone-k2hk: add dsp gpio controllers nodes Grygorii Strashko
2014-08-13 16:16   ` Grygorii Strashko
2014-08-13 16:06   ` Alexander Shiyan
     [not found]   ` <1407946582-20927-5-git-send-email-grygorii.strashko-l0cyMroinI0@public.gmane.org>
2014-08-13 16:06     ` Alexander Shiyan
2014-08-13 16:06   ` Alexander Shiyan
2014-08-13 16:06     ` Alexander Shiyan
2014-08-14 12:13     ` Grygorii Strashko
2014-08-14 12:13       ` Grygorii Strashko
2014-08-14 12:12       ` Alexander Shiyan
2014-08-14 12:12         ` Alexander Shiyan
2014-08-14 15:57         ` Grygorii Strashko
2014-08-14 15:57           ` Grygorii Strashko
2014-08-14 15:26           ` Alexander Shiyan
2014-08-14 15:26             ` Alexander Shiyan
2014-08-14 16:54             ` Grygorii Strashko
2014-08-14 16:54               ` Grygorii Strashko
2014-08-21 16:23               ` [PATCH v2 0/3] gpio: syscon: reuse for keystone 2 socs Grygorii Strashko
2014-08-21 16:23                 ` Grygorii Strashko
2014-08-21 16:23                 ` [PATCH v2 1/3] gpio: syscon: add soc specific callback to assign output value Grygorii Strashko
2014-08-21 16:23                   ` Grygorii Strashko
2014-08-21 16:23                 ` [PATCH v2 2/3] gpio: syscon: reuse for keystone 2 socs Grygorii Strashko
2014-08-21 16:23                   ` Grygorii Strashko
2014-08-21 16:23                 ` [PATCH v2 3/3] ARM: dts: keystone-k2hk: add dsp gpio controllers nodes Grygorii Strashko
2014-08-21 16:23                   ` Grygorii Strashko
2014-08-21 16:47                   ` Alexander Shiyan
2014-08-21 16:47                   ` Alexander Shiyan
2014-08-21 16:47                     ` Alexander Shiyan
     [not found]                   ` <1408638203-8246-4-git-send-email-grygorii.strashko-l0cyMroinI0@public.gmane.org>
2014-08-21 16:47                     ` Alexander Shiyan
2014-08-21 16:51                 ` Alexander Shiyan [this message]
2014-08-21 16:51                   ` [PATCH v2 0/3] gpio: syscon: reuse for keystone 2 socs Alexander Shiyan
2014-08-28 17:32                   ` Grygorii Strashko
2014-08-28 17:32                     ` Grygorii Strashko
     [not found]                 ` <1408638203-8246-1-git-send-email-grygorii.strashko-l0cyMroinI0@public.gmane.org>
2014-08-21 16:51                   ` Alexander Shiyan
2014-08-21 16:51                 ` Alexander Shiyan

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=1408639874.873856101@f420.i.mail.ru \
    --to=shc_work@mail.ru \
    --cc=devicetree@vger.kernel.org \
    --cc=gnurou@gmail.com \
    --cc=grygorii.strashko@ti.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=santosh.shilimkar@ti.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.