1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-28 01:11:52 +02:00

Make the architecture gpio more readable

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@8504 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
florian 2007-08-27 10:36:29 +00:00
parent a1da927102
commit 2fddc9a438

View File

@ -15,8 +15,12 @@
#include <linux/module.h> #include <linux/module.h>
#include <linux/delay.h> #include <linux/delay.h>
#define RDC3210_CFGREG_ADDR 0x0CF8 #include <asm/mach-rdc/rdc321x_defs.h>
#define RDC3210_CFGREG_DATA 0x0CFC
static inline int rdc_gpio_is_valid(unsigned gpio)
{
return ((gpio > RDC_MAX_GPIO) ? 0 : 1);
}
static unsigned int rdc_gpio_read(unsigned gpio) static unsigned int rdc_gpio_read(unsigned gpio)
{ {
@ -47,7 +51,8 @@ static void rdc_gpio_write(unsigned int val)
int rdc_gpio_get_value(unsigned gpio) int rdc_gpio_get_value(unsigned gpio)
{ {
return (gpio>0x3A?-EINVAL:(int)rdc_gpio_read(gpio)); if (rdc_gpio_is_valid(gpio))
return (int)rdc_gpio_read(gpio);
} }
EXPORT_SYMBOL(rdc_gpio_get_value); EXPORT_SYMBOL(rdc_gpio_get_value);
@ -55,7 +60,9 @@ void rdc_gpio_set_value(unsigned gpio, int value)
{ {
unsigned int val; unsigned int val;
if (gpio > 0x3A) return; if (!rdc_gpio_is_valid(gpio))
return;
val = rdc_gpio_read(gpio); val = rdc_gpio_read(gpio);
if (value) if (value)