diff options
author | florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-02-13 14:35:18 +0000 |
---|---|---|
committer | florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-02-13 14:35:18 +0000 |
commit | 2401b1a12ae3c84cf6c005789f228d75df075be6 (patch) | |
tree | 203cd3042af19d30473009288f0546470f6b55e1 /target/linux/rdc/files/arch/i386/mach-rdc/gpio.c | |
parent | b1f222f3f3f2f12b5a4800a0c4f9b6238f8a746d (diff) |
Upgrade rdc to 2.6.24
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10453 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/rdc/files/arch/i386/mach-rdc/gpio.c')
-rw-r--r-- | target/linux/rdc/files/arch/i386/mach-rdc/gpio.c | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/target/linux/rdc/files/arch/i386/mach-rdc/gpio.c b/target/linux/rdc/files/arch/i386/mach-rdc/gpio.c deleted file mode 100644 index dbd03270f..000000000 --- a/target/linux/rdc/files/arch/i386/mach-rdc/gpio.c +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright (C) 2007, OpenWrt.org, Florian Fainelli <florian@openwrt.org> - * RDC321x architecture specific GPIO support - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - */ - -#include <linux/autoconf.h> -#include <linux/init.h> -#include <linux/io.h> -#include <linux/types.h> -#include <linux/module.h> -#include <linux/delay.h> - -#include <asm/mach-rdc/rdc321x_defs.h> - -static inline int rdc_gpio_is_valid(unsigned gpio) -{ - return (gpio <= RDC_MAX_GPIO); -} - -static unsigned int rdc_gpio_read(unsigned gpio) -{ - unsigned int val; - - val = 0x80000000 | (7 << 11) | ((gpio&0x20?0x84:0x48)); - outl(val, RDC3210_CFGREG_ADDR); - udelay(10); - val = inl(RDC3210_CFGREG_DATA); - val |= (0x1 << (gpio & 0x1F)); - outl(val, RDC3210_CFGREG_DATA); - udelay(10); - val = 0x80000000 | (7 << 11) | ((gpio&0x20?0x88:0x4C)); - outl(val, RDC3210_CFGREG_ADDR); - udelay(10); - val = inl(RDC3210_CFGREG_DATA); - - return val; -} - -static void rdc_gpio_write(unsigned int val) -{ - if (val) { - outl(val, RDC3210_CFGREG_DATA); - udelay(10); - } -} - -int rdc_gpio_get_value(unsigned gpio) -{ - if (rdc_gpio_is_valid(gpio)) - return (int)rdc_gpio_read(gpio); - else - return -EINVAL; -} -EXPORT_SYMBOL(rdc_gpio_get_value); - -void rdc_gpio_set_value(unsigned gpio, int value) -{ - unsigned int val; - - if (!rdc_gpio_is_valid(gpio)) - return; - - val = rdc_gpio_read(gpio); - - if (value) - val &= ~(0x1 << (gpio & 0x1F)); - else - val |= (0x1 << (gpio & 0x1F)); - - rdc_gpio_write(val); -} -EXPORT_SYMBOL(rdc_gpio_set_value); - -int rdc_gpio_direction_input(unsigned gpio) -{ - return 0; -} -EXPORT_SYMBOL(rdc_gpio_direction_input); - -int rdc_gpio_direction_output(unsigned gpio, int value) -{ - return 0; -} -EXPORT_SYMBOL(rdc_gpio_direction_output); - - |