Update of /cvsroot/gc-linux/linux/arch/powerpc/platforms/embedded6xx
In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv19060/arch/powerpc/platforms/embedded6xx
Modified Files:
starlet-gpio.c
Log Message:
- add GPIO fixes (now hopefully)
Index: starlet-gpio.c
===================================================================
RCS file: /cvsroot/gc-linux/linux/arch/powerpc/platforms/embedded6xx/starlet-gpio.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- starlet-gpio.c 1 Feb 2009 18:29:35 -0000 1.2
+++ starlet-gpio.c 1 Feb 2009 18:50:33 -0000 1.3
@@ -24,7 +24,7 @@
};
struct stgpio_regs {
- __be32 data, dir;
+ __be32 out, dir, in;
};
@@ -41,7 +41,7 @@
u32 pin_mask = 1 << (31 - gpio);
unsigned int val;
- val = !!(in_be32(®s->data) & pin_mask);
+ val = !!(in_be32(®s->in) & pin_mask);
pr_debug("%s: gpio: %d val: %d\n", __func__, gpio, val);
@@ -58,10 +58,10 @@
unsigned long flags;
spin_lock_irqsave(&st_gc->lock, flags);
- data = in_be32(®s->data) & ~pin_mask;
+ data = in_be32(®s->in) & ~pin_mask;
if (val)
data |= pin_mask;
- out_be32(®s->data, data);
+ out_be32(®s->out, data);
spin_unlock_irqrestore(&st_gc->lock, flags);
pr_debug("%s: gpio: %d val: %d\n", __func__, gpio, val);
@@ -90,7 +90,7 @@
return 0;
}
-static int stgpio_add32(struct device_node *np)
+int stgpio_add32(struct device_node *np)
{
struct of_mm_gpio_chip *mm_gc;
struct of_gpio_chip *of_gc;
|