uaccess: add probe_kernel_write()
[sfrench/cifs-2.6.git] / include / linux / scx200_gpio.h
index 1a82d30c4b17eea493a8f1ff3fd6c293d48dc434..ece4e553e9ac26d61ce77eb31bc4e4a1b6874be3 100644 (file)
@@ -1,9 +1,7 @@
-#include <linux/spinlock.h>
-
 u32 scx200_gpio_configure(unsigned index, u32 set, u32 clear);
 
 extern unsigned scx200_gpio_base;
-extern long scx200_gpio_shadow[2];
+extern unsigned long scx200_gpio_shadow[2];
 extern struct nsc_gpio_ops scx200_gpio_ops;
 
 #define scx200_gpio_present() (scx200_gpio_base!=0)
@@ -11,7 +9,7 @@ extern struct nsc_gpio_ops scx200_gpio_ops;
 /* Definitions to make sure I do the same thing in all functions */
 #define __SCx200_GPIO_BANK unsigned bank = index>>5
 #define __SCx200_GPIO_IOADDR unsigned short ioaddr = scx200_gpio_base+0x10*bank
-#define __SCx200_GPIO_SHADOW long *shadow = scx200_gpio_shadow+bank
+#define __SCx200_GPIO_SHADOW unsigned long *shadow = scx200_gpio_shadow+bank
 #define __SCx200_GPIO_INDEX index &= 31
 
 #define __SCx200_GPIO_OUT __asm__ __volatile__("outsl":"=mS" (shadow):"d" (ioaddr), "0" (shadow))
@@ -44,7 +42,7 @@ static inline void scx200_gpio_set_high(unsigned index) {
        __SCx200_GPIO_IOADDR;
        __SCx200_GPIO_SHADOW;
        __SCx200_GPIO_INDEX;
-       set_bit(index, shadow);
+       set_bit(index, shadow); /* __set_bit()? */
        __SCx200_GPIO_OUT;
 }
 
@@ -55,7 +53,7 @@ static inline void scx200_gpio_set_low(unsigned index) {
        __SCx200_GPIO_IOADDR;
        __SCx200_GPIO_SHADOW;
        __SCx200_GPIO_INDEX;
-       clear_bit(index, shadow);
+       clear_bit(index, shadow); /* __clear_bit()? */
        __SCx200_GPIO_OUT;
 }