[Armadeus-commitlog] armadeus branch, master, updated. release-3.2-321-g16aed16
Brought to you by:
sszy
|
From: Julien B a. A. <ar...@us...> - 2010-04-26 13:31:18
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 16aed16c6fe21ec3655d09173fe050df36c4b71a (commit)
via 201d8ae9232a1060e5ebf6dcb81c78f6ac17c250 (commit)
via a28b739d7f90401b8cfd14b688070452055af151 (commit)
from 76874a3114b0ddda52ebd6bae83e796ea089d907 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 16aed16c6fe21ec3655d09173fe050df36c4b71a
Author: Julien Boibessot <jul...@ar...>
Date: Mon Apr 26 15:25:37 2010 +0200
[LINUX] gpio: correct bug while getting IRQ state & add fasync handling (thanks to CimCim for both)
commit 201d8ae9232a1060e5ebf6dcb81c78f6ac17c250
Author: Julien Boibessot <jul...@ar...>
Date: Mon Apr 26 15:19:59 2010 +0200
[LINUX] APW: Bluetooth RESET pin should be driven by userspace
commit a28b739d7f90401b8cfd14b688070452055af151
Author: Julien Boibessot <jul...@ar...>
Date: Mon Apr 26 15:18:41 2010 +0200
Updates cleanup_buildroot.sh
-----------------------------------------------------------------------
Summary of changes:
.../2.6.29/281-apf27-armadeus-add_apf27.c.patch | 31 +++++-----------
patches/buildroot/2010.02/cleanup_buildroot.sh | 1 +
patches/buildroot/cleanup_buildroot.sh | 1 +
target/linux/modules/gpio/core.c | 38 ++++++++++++--------
4 files changed, 35 insertions(+), 36 deletions(-)
diff --git a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/281-apf27-armadeus-add_apf27.c.patch b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/281-apf27-armadeus-add_apf27.c.patch
index c88a75b..72d2112 100644
--- a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/281-apf27-armadeus-add_apf27.c.patch
+++ b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.29/281-apf27-armadeus-add_apf27.c.patch
@@ -9,7 +9,7 @@ Signed-off-by: Eric Jarrige <eri...@ar...>
Index: linux-2.6.29.6/arch/arm/mach-mx2/apf27.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.29.6/arch/arm/mach-mx2/apf27.c 2010-02-22 14:38:52.000000000 +0100
++++ linux-2.6.29.6/arch/arm/mach-mx2/apf27.c 2010-04-26 13:53:19.000000000 +0200
@@ -0,0 +1,789 @@
+ /*
+ * apf27.c
@@ -803,7 +803,7 @@ Index: linux-2.6.29.6/arch/arm/mach-mx2/apf27.c
Index: linux-2.6.29.6/arch/arm/mach-mx2/apf27-dev.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.29.6/arch/arm/mach-mx2/apf27-dev.c 2010-02-22 14:38:13.000000000 +0100
++++ linux-2.6.29.6/arch/arm/mach-mx2/apf27-dev.c 2010-04-26 15:06:48.000000000 +0200
@@ -0,0 +1,1019 @@
+ /*
+ * apf27-dev.c
@@ -1827,7 +1827,7 @@ Index: linux-2.6.29.6/arch/arm/mach-mx2/apf27-dev.c
Index: linux-2.6.29.6/arch/arm/mach-mx2/apf27-lcd.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.29.6/arch/arm/mach-mx2/apf27-lcd.c 2010-02-16 13:17:29.000000000 +0100
++++ linux-2.6.29.6/arch/arm/mach-mx2/apf27-lcd.c 2010-04-26 13:53:19.000000000 +0200
@@ -0,0 +1,220 @@
+/*
+ * apf27-lcd.c
@@ -2052,13 +2052,13 @@ Index: linux-2.6.29.6/arch/arm/mach-mx2/apf27-lcd.c
Index: linux-2.6.29.6/arch/arm/mach-mx2/apf27-dev-ext-apw.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.29.6/arch/arm/mach-mx2/apf27-dev-ext-apw.c 2010-02-16 13:17:29.000000000 +0100
-@@ -0,0 +1,201 @@
++++ linux-2.6.29.6/arch/arm/mach-mx2/apf27-dev-ext-apw.c 2010-04-26 14:56:34.000000000 +0200
+@@ -0,0 +1,190 @@
+ /*
+ * apf27-dev-ext-apw.c
-+ * Support for AFP27Dev's wireless extension board.
++ * Support for AFP27Dev's wireless extension board (APW).
+ *
-+ * Copyright (C) 2009 Armadeus Systems
++ * Copyright (C) 2009-2010 Armadeus Systems
+ * Authors: Julien Boibessot <jul...@ar...>
+ * Nicolas Colombain <nic...@ar...>
+ *
@@ -2145,17 +2145,15 @@ Index: linux-2.6.29.6/arch/arm/mach-mx2/apf27-dev-ext-apw.c
+#endif /* CONFIG_MACH_APF27_DEV_EXT_WIRELESS_GPS */
+
+
-+/* An optionnal Bluetooth + WiFi (Wi2Wi) module can be mounted on wireless
++/* An optional Bluetooth + WiFi module (Wi2Wi) can be mounted on wireless
+ extension board */
+#ifdef CONFIG_MACH_APF27_DEV_EXT_WIRELESS_BT_WIFI
+
-+#define BT_RESETn (GPIO_PORTB | 14) /* CSI_D4 */
++#define BT_RESETn (GPIO_PORTB | 14) /* shared with CSI_D4;
++ driven by userspace */
+#define WIFI_PWRDNn (GPIO_PORTE | 10) /* UART3_CTS */
+
+static int apw_bt_wifi_pins[] = {
-+#ifdef CONFIG_MACH_APF27_DEV_EXT_WIRELESS_BT
-+ (BT_RESETn | GPIO_OUT | GPIO_GPIO), /* Shared with CSI */
-+#endif
+ (WIFI_PWRDNn | GPIO_OUT | GPIO_GPIO),
+};
+
@@ -2194,9 +2192,6 @@ Index: linux-2.6.29.6/arch/arm/mach-mx2/apf27-dev-ext-apw.c
+ int res;
+
+ gpio_set_value(WIFI_PWRDNn, 1); /* WiFi on */
-+#ifdef CONFIG_MACH_APF27_DEV_EXT_WIRELESS_BT
-+ gpio_set_value(BT_RESETn, 1); /* Bluetooth on */
-+#endif
+ res = mxc_gpio_setup_multiple_pins(apw_bt_wifi_pins,
+ ARRAY_SIZE(apw_bt_wifi_pins), "BT_WIFI");
+ if (!res)
@@ -2210,9 +2205,6 @@ Index: linux-2.6.29.6/arch/arm/mach-mx2/apf27-dev-ext-apw.c
+void apf27dev_extension_resume(void)
+{
+#ifdef CONFIG_PM
-+# ifdef CONFIG_MACH_APF27_DEV_EXT_WIRELESS_BT
-+ gpio_set_value(BT_RESETn, 1);
-+# endif
+# ifdef CONFIG_MACH_APF27_DEV_EXT_WIRELESS_WIFI
+ gpio_set_value(WIFI_PWRDNn, 1);
+# endif
@@ -2225,9 +2217,6 @@ Index: linux-2.6.29.6/arch/arm/mach-mx2/apf27-dev-ext-apw.c
+void apf27dev_extension_suspend(void)
+{
+#ifdef CONFIG_PM
-+# ifdef CONFIG_MACH_APF27_DEV_EXT_WIRELESS_BT
-+ gpio_set_value(BT_RESETn, 0);
-+# endif
+# ifdef CONFIG_MACH_APF27_DEV_EXT_WIRELESS_WIFI
+ gpio_set_value(WIFI_PWRDNn, 0);
+# endif
diff --git a/patches/buildroot/2010.02/cleanup_buildroot.sh b/patches/buildroot/2010.02/cleanup_buildroot.sh
index 37b5a56..2bb4304 100755
--- a/patches/buildroot/2010.02/cleanup_buildroot.sh
+++ b/patches/buildroot/2010.02/cleanup_buildroot.sh
@@ -15,3 +15,4 @@ rm -rf buildroot/package/multimedia/flite/
rm -rf buildroot/package/libcurl/
rm -f buildroot/package/multimedia/mplayer/mplayer-1.0rc2-add_pld_asm_inst_for_non_armv5_arch.patch
rm -f buildroot/package/multimedia/madplay/madplay-audio-alsa.patch
+rm -f buildroot/package/busybox/busybox-1.15.3-speed_table-B921600.patch
diff --git a/patches/buildroot/cleanup_buildroot.sh b/patches/buildroot/cleanup_buildroot.sh
index 4792d53..1c9f4a6 100755
--- a/patches/buildroot/cleanup_buildroot.sh
+++ b/patches/buildroot/cleanup_buildroot.sh
@@ -15,3 +15,4 @@ rm -rf buildroot/package/audio/flite/
rm -rf buildroot/package/libcurl/
rm -f buildroot/package/audio/madplay/madplay-audio-alsa.patch
rm -f buildroot/package/mplayer/mplayer-1.0rc1-add_pld_asm_inst_for_non_armv5_arch.patch
+rm -f buildroot/package/busybox/busybox-1.12.1-speed_table-B921600.patch
diff --git a/target/linux/modules/gpio/core.c b/target/linux/modules/gpio/core.c
index 7f93037..97f6f58 100755
--- a/target/linux/modules/gpio/core.c
+++ b/target/linux/modules/gpio/core.c
@@ -230,7 +230,7 @@ static unsigned long fromString(char* buffer, int number_of_bits, int base)
}
/* Return the interrupt config for a pin */
-static unsigned char getIrqFromPin(int num_pin, int num_port)
+static unsigned char get_irq_from_pin(int num_pin, int num_port)
{
unsigned long shad;
int portSize = number_of_pins[num_port];
@@ -525,7 +525,7 @@ static irqreturn_t armadeus_gpio_interrupt(int irq, void *dev_id)
pr_debug("IT for pin %d %d\n", gpio->port, gpio->number);
old_state = gpio->pin_state;
- new_state = gpio_get_value(gpio->port|gpio->number);
+ new_state = gpio_get_value((gpio->port << GPIO_PORT_SHIFT) | gpio->number);
gpio->pin_state = new_state;
if ((gpio->irq_value != (IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING)) || new_state != old_state) {
@@ -535,7 +535,7 @@ static irqreturn_t armadeus_gpio_interrupt(int irq, void *dev_id)
if (gpio->async_queue)
kill_fasync(&gpio->async_queue, SIGIO, POLL_IN);
if (gpio->irq_value == (IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING)) {
- set_irq_type(irq, ((gpio->pin_state)?IRQF_TRIGGER_FALLING:IRQF_TRIGGER_RISING));
+ set_irq_type(irq, ((gpio->pin_state) ? IRQF_TRIGGER_FALLING : IRQF_TRIGGER_RISING));
}
}
@@ -599,7 +599,7 @@ static int armadeus_gpio_dev_open(struct inode *inode, struct file *file)
}
/* Request interrupt if pin was configured for */
- gpio->irq_value = getIrqFromPin(gpio->number,gpio->port);
+ gpio->irq_value = get_irq_from_pin(gpio->number, gpio->port);
if (gpio->irq_value) {
irq = IRQ_GPIOA(minor); /* irq number are continuous */
@@ -780,6 +780,24 @@ out:
return ret;
}
+static int armadeus_gpio_fasync(int fd, struct file* filp, int on)
+{
+ struct gpio_item* gpio = filp->private_data;
+
+ return fasync_helper(fd, filp, on, &(gpio->async_queue));
+}
+
+static struct file_operations gpio_fops = {
+ .owner = THIS_MODULE,
+ .llseek = no_llseek,
+ .write = armadeus_gpio_dev_write,
+ .read = armadeus_gpio_dev_read,
+ .open = armadeus_gpio_dev_open,
+ .release = armadeus_gpio_dev_release,
+ .ioctl = armadeus_gpio_dev_ioctl,
+ .fasync = armadeus_gpio_fasync,
+};
+
/*
* PROC file functions
@@ -858,7 +876,7 @@ static int armadeus_gpio_proc_read(char *buffer, char **start, off_t offset,
static char new_gpio_state[MAX_NUMBER_OF_PINS*2];
-static int armadeus_gpio_proc_write( __attribute__ ((unused)) struct file *file, const char *buf, unsigned long count, __attribute__ ((unused)) void* data)
+static int armadeus_gpio_proc_write(__attribute__ ((unused)) struct file *file, const char *buf, unsigned long count, __attribute__ ((unused)) void* data)
{
int len;
unsigned int gpio_state=0, gpio_state2=0;
@@ -1085,16 +1103,6 @@ static void remove_proc_entries(void)
remove_proc_entry(GPIO_PROC_DIRNAME, NULL);
}
-/* /dev functionnalities supported: */
-static struct file_operations gpio_fops = {
- .owner = THIS_MODULE,
- .llseek = no_llseek,
- .write = armadeus_gpio_dev_write,
- .read = armadeus_gpio_dev_read,
- .open = armadeus_gpio_dev_open,
- .release = armadeus_gpio_dev_release,
- .ioctl = armadeus_gpio_dev_ioctl,
-};
static void print_port_params(int port, int nb, int* params)
{
hooks/post-receive
--
armadeus
|