All of lore.kernel.org
 help / color / mirror / Atom feed
From: wg@grandegger.com (Wolfgang Grandegger)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH RESEND 0/6 v10] gpio: Add block GPIO
Date: Fri, 14 Dec 2012 18:58:03 +0100	[thread overview]
Message-ID: <50CB68AB.5070806@grandegger.com> (raw)
In-Reply-To: <1355495185-24220-1-git-send-email-stigge@antcom.de>

On 12/14/2012 03:26 PM, Roland Stigge wrote:
> This set of patches adds:
> 
> * Block GPIO API to gpiolib
> * Sysfs support for GPIO API, to provide userland access
> * Device interface for userland access (alternative to sysfs)
> * Devicetree support to instantiate GPIO blocks via DT
> * Example implementations in several gpio drivers since they need
>   special accessor functions for block wise GPIO access
> * Fix for race condition in gpiolib on device creation
> 
> Signed-off-by: Roland Stigge <stigge@antcom.de>
> Tested by: Wolfgang Grandegger <wg@grandegger.com>

I'm going to re-test this version next week. Attached you will find my
GPIO block adoptions for the AT91.

Wolfgang

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-gpio-add-GPIO-block-callback-functions-for-AT91.patch
Type: text/x-diff
Size: 2721 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20121214/29dc065d/attachment-0001.bin>

WARNING: multiple messages have this Message-ID (diff)
From: Wolfgang Grandegger <wg@grandegger.com>
To: Roland Stigge <stigge@antcom.de>
Cc: gregkh@linuxfoundation.org, grant.likely@secretlab.ca,
	linus.walleij@linaro.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, w.sang@pengutronix.de,
	jbe@pengutronix.de, plagnioj@jcrosoft.com, highguy@gmail.com,
	broonie@opensource.wolfsonmicro.com, daniel-gl@gmx.net,
	rmallon@gmail.com, sr@denx.de
Subject: Re: [PATCH RESEND 0/6 v10] gpio: Add block GPIO
Date: Fri, 14 Dec 2012 18:58:03 +0100	[thread overview]
Message-ID: <50CB68AB.5070806@grandegger.com> (raw)
In-Reply-To: <1355495185-24220-1-git-send-email-stigge@antcom.de>

[-- Attachment #1: Type: text/plain, Size: 693 bytes --]

On 12/14/2012 03:26 PM, Roland Stigge wrote:
> This set of patches adds:
> 
> * Block GPIO API to gpiolib
> * Sysfs support for GPIO API, to provide userland access
> * Device interface for userland access (alternative to sysfs)
> * Devicetree support to instantiate GPIO blocks via DT
> * Example implementations in several gpio drivers since they need
>   special accessor functions for block wise GPIO access
> * Fix for race condition in gpiolib on device creation
> 
> Signed-off-by: Roland Stigge <stigge@antcom.de>
> Tested by: Wolfgang Grandegger <wg@grandegger.com>

I'm going to re-test this version next week. Attached you will find my
GPIO block adoptions for the AT91.

Wolfgang


[-- Attachment #2: 0001-gpio-add-GPIO-block-callback-functions-for-AT91.patch --]
[-- Type: text/x-diff, Size: 2721 bytes --]

>From 16c0e4b933dcdb3859184190b62655f4ac90949f Mon Sep 17 00:00:00 2001
From: Wolfgang Grandegger <wg@grandegger.com>
Date: Mon, 3 Dec 2012 08:31:55 +0100
Subject: [PATCH] gpio: add GPIO block callback functions for AT91

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
---
 arch/arm/mach-at91/gpio.c |   22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/arch/arm/mach-at91/gpio.c b/arch/arm/mach-at91/gpio.c
index be42cf0..dd0853d 100644
--- a/arch/arm/mach-at91/gpio.c
+++ b/arch/arm/mach-at91/gpio.c
@@ -48,7 +48,9 @@ struct at91_gpio_chip {
 
 static void at91_gpiolib_dbg_show(struct seq_file *s, struct gpio_chip *chip);
 static void at91_gpiolib_set(struct gpio_chip *chip, unsigned offset, int val);
+static void at91_gpiolib_set_block(struct gpio_chip *chip, unsigned long mask, unsigned long val);
 static int at91_gpiolib_get(struct gpio_chip *chip, unsigned offset);
+static unsigned long at91_gpiolib_get_block(struct gpio_chip *chip, unsigned long mask);
 static int at91_gpiolib_direction_output(struct gpio_chip *chip,
 					 unsigned offset, int val);
 static int at91_gpiolib_direction_input(struct gpio_chip *chip,
@@ -62,7 +64,9 @@ static int at91_gpiolib_to_irq(struct gpio_chip *chip, unsigned offset);
 			.direction_input  = at91_gpiolib_direction_input, \
 			.direction_output = at91_gpiolib_direction_output, \
 			.get		  = at91_gpiolib_get,		\
+			.get_block	  = at91_gpiolib_get_block,	\
 			.set		  = at91_gpiolib_set,		\
+			.set_block	  = at91_gpiolib_set_block,	\
 			.dbg_show	  = at91_gpiolib_dbg_show,	\
 			.to_irq		  = at91_gpiolib_to_irq,	\
 			.ngpio		  = nr_gpio,			\
@@ -896,6 +900,16 @@ static int at91_gpiolib_get(struct gpio_chip *chip, unsigned offset)
 	return (pdsr & mask) != 0;
 }
 
+static unsigned long at91_gpiolib_get_block(struct gpio_chip *chip, unsigned long mask)
+{
+	struct at91_gpio_chip *at91_gpio = to_at91_gpio_chip(chip);
+	void __iomem *pio = at91_gpio->regbase;
+	u32 pdsr;
+
+	pdsr = __raw_readl(pio + PIO_PDSR);
+	return pdsr & mask;
+}
+
 static void at91_gpiolib_set(struct gpio_chip *chip, unsigned offset, int val)
 {
 	struct at91_gpio_chip *at91_gpio = to_at91_gpio_chip(chip);
@@ -905,6 +919,14 @@ static void at91_gpiolib_set(struct gpio_chip *chip, unsigned offset, int val)
 	__raw_writel(mask, pio + (val ? PIO_SODR : PIO_CODR));
 }
 
+static void at91_gpiolib_set_block(struct gpio_chip *chip, unsigned long mask, unsigned long val)
+{
+	struct at91_gpio_chip *at91_gpio = to_at91_gpio_chip(chip);
+	void __iomem *pio = at91_gpio->regbase;
+
+	__raw_writel(mask, pio + (val ? PIO_SODR : PIO_CODR));
+}
+
 static void at91_gpiolib_dbg_show(struct seq_file *s, struct gpio_chip *chip)
 {
 	int i;
-- 
1.7.9.5


  parent reply	other threads:[~2012-12-14 17:58 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-14 14:26 [PATCH RESEND 0/6 v10] gpio: Add block GPIO Roland Stigge
2012-12-14 14:26 ` Roland Stigge
2012-12-14 14:26 ` [PATCH RESEND 1/6 v10] gpio: Add a block GPIO API to gpiolib Roland Stigge
2012-12-14 14:26   ` Roland Stigge
2012-12-14 14:26 ` [PATCH RESEND 2/6 v10] gpio: Add sysfs support to block GPIO API Roland Stigge
2012-12-14 14:26   ` Roland Stigge
2012-12-14 14:26 ` [PATCH RESEND 3/6 v10] gpio: Add userland device interface to block GPIO Roland Stigge
2012-12-14 14:26   ` Roland Stigge
2012-12-14 14:26 ` [PATCH RESEND 4/6 v10] gpiolib: Fix default attributes for class Roland Stigge
2012-12-14 14:26   ` Roland Stigge
2012-12-14 14:26 ` [PATCH RESEND 5/6 v10] gpio: Add device tree support to block GPIO API Roland Stigge
2012-12-14 14:26   ` Roland Stigge
2012-12-17 15:51   ` Mark Rutland
2012-12-17 15:51     ` Mark Rutland
2012-12-18 14:30     ` Roland Stigge
2012-12-18 14:30       ` Roland Stigge
2012-12-18 16:35       ` Mark Rutland
2012-12-18 16:35         ` Mark Rutland
2012-12-14 14:26 ` [PATCH RESEND 6/6 v10] gpio: Add block gpio to several gpio drivers Roland Stigge
2012-12-14 14:26   ` Roland Stigge
2012-12-14 17:58 ` Wolfgang Grandegger [this message]
2012-12-14 17:58   ` [PATCH RESEND 0/6 v10] gpio: Add block GPIO Wolfgang Grandegger
2012-12-14 23:49   ` Roland Stigge
2012-12-14 23:49     ` Roland Stigge
2012-12-15 10:51     ` Russell King - ARM Linux
2012-12-15 10:51       ` Russell King - ARM Linux
2012-12-17 11:37     ` Wolfgang Grandegger
2012-12-17 11:37       ` Wolfgang Grandegger
2012-12-17 11:51       ` Wolfgang Grandegger
2012-12-17 11:51         ` Wolfgang Grandegger
2012-12-17 12:10         ` Russell King - ARM Linux
2012-12-17 12:10           ` Russell King - ARM Linux
2012-12-17 14:57           ` Wolfgang Grandegger
2012-12-17 14:57             ` Wolfgang Grandegger
2012-12-17 13:32         ` Roland Stigge
2012-12-17 13:32           ` Roland Stigge
2012-12-17 13:51           ` Roland Stigge
2012-12-17 13:51             ` Roland Stigge
2012-12-17 16:28             ` Wolfgang Grandegger
2012-12-17 16:28               ` Wolfgang Grandegger
2012-12-17 17:15               ` Roland Stigge
2012-12-17 17:15                 ` Roland Stigge
2012-12-17 17:37                 ` Wolfgang Grandegger
2012-12-17 17:37                   ` Wolfgang Grandegger
2012-12-17 18:02                   ` Roland Stigge
2012-12-17 18:02                     ` Roland Stigge
2012-12-17 19:47                     ` Wolfgang Grandegger
2012-12-17 19:47                       ` Wolfgang Grandegger
2012-12-17 21:33                       ` Roland Stigge
2012-12-17 21:33                         ` Roland Stigge
2012-12-18  6:51                         ` Wolfgang Grandegger
2012-12-18  6:51                           ` Wolfgang Grandegger
2012-12-18  5:55                       ` Jean-Christophe PLAGNIOL-VILLARD
2012-12-18  5:55                         ` Jean-Christophe PLAGNIOL-VILLARD
2012-12-18  6:58                         ` Wolfgang Grandegger
2012-12-18  6:58                           ` Wolfgang Grandegger
2012-12-18  7:54                           ` Jean-Christophe PLAGNIOL-VILLARD
2012-12-18  7:54                             ` Jean-Christophe PLAGNIOL-VILLARD

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=50CB68AB.5070806@grandegger.com \
    --to=wg@grandegger.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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.