All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <50CB68AB.5070806@grandegger.com>

diff --git a/a/1.txt b/N1/1.txt
index 626ad3d..37a8f07 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -16,11 +16,3 @@ 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>
diff --git a/N1/2.hdr b/N1/2.hdr
new file mode 100644
index 0000000..f757955
--- /dev/null
+++ b/N1/2.hdr
@@ -0,0 +1,5 @@
+Content-Type: text/x-diff;
+ name="0001-gpio-add-GPIO-block-callback-functions-for-AT91.patch"
+Content-Transfer-Encoding: 7bit
+Content-Disposition: attachment;
+ filename*0="0001-gpio-add-GPIO-block-callback-functions-for-AT91.patch"
diff --git a/N1/2.txt b/N1/2.txt
new file mode 100644
index 0000000..41247e7
--- /dev/null
+++ b/N1/2.txt
@@ -0,0 +1,68 @@
+>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
diff --git a/a/content_digest b/N1/content_digest
index 9fa95fc..0fae158 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,9 +1,22 @@
  "ref\01355495185-24220-1-git-send-email-stigge@antcom.de\0"
- "From\0wg@grandegger.com (Wolfgang Grandegger)\0"
- "Subject\0[PATCH RESEND 0/6 v10] gpio: Add block GPIO\0"
+ "From\0Wolfgang Grandegger <wg@grandegger.com>\0"
+ "Subject\0Re: [PATCH RESEND 0/6 v10] gpio: Add block GPIO\0"
  "Date\0Fri, 14 Dec 2012 18:58:03 +0100\0"
- "To\0linux-arm-kernel@lists.infradead.org\0"
- "\00:1\0"
+ "To\0Roland Stigge <stigge@antcom.de>\0"
+ "Cc\0gregkh@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\0"
+ "\01:1\0"
  "b\0"
  "On 12/14/2012 03:26 PM, Roland Stigge wrote:\n"
  "> This set of patches adds:\n"
@@ -22,14 +35,77 @@
  "I'm going to re-test this version next week. Attached you will find my\n"
  "GPIO block adoptions for the AT91.\n"
  "\n"
- "Wolfgang\n"
+ Wolfgang
+ "\01:2\0"
+ "fn\00001-gpio-add-GPIO-block-callback-functions-for-AT91.patch\0"
+ "b\0"
+ ">From 16c0e4b933dcdb3859184190b62655f4ac90949f Mon Sep 17 00:00:00 2001\n"
+ "From: Wolfgang Grandegger <wg@grandegger.com>\n"
+ "Date: Mon, 3 Dec 2012 08:31:55 +0100\n"
+ "Subject: [PATCH] gpio: add GPIO block callback functions for AT91\n"
+ "\n"
+ "Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>\n"
+ "---\n"
+ " arch/arm/mach-at91/gpio.c |   22 ++++++++++++++++++++++\n"
+ " 1 file changed, 22 insertions(+)\n"
  "\n"
- "-------------- next part --------------\n"
- "A non-text attachment was scrubbed...\n"
- "Name: 0001-gpio-add-GPIO-block-callback-functions-for-AT91.patch\n"
- "Type: text/x-diff\n"
- "Size: 2721 bytes\n"
- "Desc: not available\n"
- URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20121214/29dc065d/attachment-0001.bin>
+ "diff --git a/arch/arm/mach-at91/gpio.c b/arch/arm/mach-at91/gpio.c\n"
+ "index be42cf0..dd0853d 100644\n"
+ "--- a/arch/arm/mach-at91/gpio.c\n"
+ "+++ b/arch/arm/mach-at91/gpio.c\n"
+ "@@ -48,7 +48,9 @@ struct at91_gpio_chip {\n"
+ " \n"
+ " static void at91_gpiolib_dbg_show(struct seq_file *s, struct gpio_chip *chip);\n"
+ " static void at91_gpiolib_set(struct gpio_chip *chip, unsigned offset, int val);\n"
+ "+static void at91_gpiolib_set_block(struct gpio_chip *chip, unsigned long mask, unsigned long val);\n"
+ " static int at91_gpiolib_get(struct gpio_chip *chip, unsigned offset);\n"
+ "+static unsigned long at91_gpiolib_get_block(struct gpio_chip *chip, unsigned long mask);\n"
+ " static int at91_gpiolib_direction_output(struct gpio_chip *chip,\n"
+ " \t\t\t\t\t unsigned offset, int val);\n"
+ " static int at91_gpiolib_direction_input(struct gpio_chip *chip,\n"
+ "@@ -62,7 +64,9 @@ static int at91_gpiolib_to_irq(struct gpio_chip *chip, unsigned offset);\n"
+ " \t\t\t.direction_input  = at91_gpiolib_direction_input, \\\n"
+ " \t\t\t.direction_output = at91_gpiolib_direction_output, \\\n"
+ " \t\t\t.get\t\t  = at91_gpiolib_get,\t\t\\\n"
+ "+\t\t\t.get_block\t  = at91_gpiolib_get_block,\t\\\n"
+ " \t\t\t.set\t\t  = at91_gpiolib_set,\t\t\\\n"
+ "+\t\t\t.set_block\t  = at91_gpiolib_set_block,\t\\\n"
+ " \t\t\t.dbg_show\t  = at91_gpiolib_dbg_show,\t\\\n"
+ " \t\t\t.to_irq\t\t  = at91_gpiolib_to_irq,\t\\\n"
+ " \t\t\t.ngpio\t\t  = nr_gpio,\t\t\t\\\n"
+ "@@ -896,6 +900,16 @@ static int at91_gpiolib_get(struct gpio_chip *chip, unsigned offset)\n"
+ " \treturn (pdsr & mask) != 0;\n"
+ " }\n"
+ " \n"
+ "+static unsigned long at91_gpiolib_get_block(struct gpio_chip *chip, unsigned long mask)\n"
+ "+{\n"
+ "+\tstruct at91_gpio_chip *at91_gpio = to_at91_gpio_chip(chip);\n"
+ "+\tvoid __iomem *pio = at91_gpio->regbase;\n"
+ "+\tu32 pdsr;\n"
+ "+\n"
+ "+\tpdsr = __raw_readl(pio + PIO_PDSR);\n"
+ "+\treturn pdsr & mask;\n"
+ "+}\n"
+ "+\n"
+ " static void at91_gpiolib_set(struct gpio_chip *chip, unsigned offset, int val)\n"
+ " {\n"
+ " \tstruct at91_gpio_chip *at91_gpio = to_at91_gpio_chip(chip);\n"
+ "@@ -905,6 +919,14 @@ static void at91_gpiolib_set(struct gpio_chip *chip, unsigned offset, int val)\n"
+ " \t__raw_writel(mask, pio + (val ? PIO_SODR : PIO_CODR));\n"
+ " }\n"
+ " \n"
+ "+static void at91_gpiolib_set_block(struct gpio_chip *chip, unsigned long mask, unsigned long val)\n"
+ "+{\n"
+ "+\tstruct at91_gpio_chip *at91_gpio = to_at91_gpio_chip(chip);\n"
+ "+\tvoid __iomem *pio = at91_gpio->regbase;\n"
+ "+\n"
+ "+\t__raw_writel(mask, pio + (val ? PIO_SODR : PIO_CODR));\n"
+ "+}\n"
+ "+\n"
+ " static void at91_gpiolib_dbg_show(struct seq_file *s, struct gpio_chip *chip)\n"
+ " {\n"
+ " \tint i;\n"
+ "-- \n"
+ 1.7.9.5
 
-bd7e74af16f4116a988c2c431d105554a48f151a71d6d27ab534ae5637cbdf74
+c697aff1150106dd4d0de5634908ea45dcfc0df44c32b90dd45444502ee2c59e

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.