[oe-commits] org.oe.dev merge of '8cfccf7d76cedeebb5fc468a8aa4943a21baf0bc'

rpurdie commit openembedded-commits at lists.openembedded.org
Fri Feb 29 19:25:53 UTC 2008


merge of '8cfccf7d76cedeebb5fc468a8aa4943a21baf0bc'
     and 'cc62ac9db8f51dbeefed076296fcde38fb94e71b'

Author: rpurdie at openembedded.org
Branch: org.openembedded.dev
Revision: 295199ba5efc8ddca9453992b8304f356f385efd
ViewMTN: http://monotone.openembedded.org/revision/info/295199ba5efc8ddca9453992b8304f356f385efd
Files:
1
packages/linux/linux-rt-2.6.24/leds-cpu-activity-powerpc.patch
packages/linux/linux-rt-2.6.24/leds-cpu-activity.patch
packages/linux/linux-rt-2.6.24/mpc8313e-rdb/defconfig
packages/linux/linux-rt_2.6.24.bb
packages/gsm/files/fic-gta01
packages/gsm/files/fic-gta01/gsmd
packages/libmatchbox/libmatchbox_1.2.bb
packages/libmatchbox/libmatchbox_1.3.bb
packages/libmatchbox/libmatchbox_1.4.bb
packages/libmatchbox/libmatchbox_1.5.bb
packages/libmatchbox/libmatchbox_1.6.bb
packages/matchbox-wm/matchbox-wm_0.8.3.bb
packages/matchbox-wm/matchbox-wm_0.8.4.bb
packages/matchbox-wm/matchbox-wm_0.9.2.bb
packages/matchbox-wm/matchbox-wm_0.9.3.bb
packages/matchbox-wm/matchbox-wm_0.9.4.bb
packages/matchbox-wm/matchbox-wm_0.9.bb
contrib/oe.svg
contrib/artwork/oe.svg
contrib/powered-by-oe.svg
contrib/artwork/powered-by-oe.svg
contrib/artwork
packages/curl/files
packages/dtnrg/files
packages/gpsdrive/gpsdrive-2.10pre4
packages/gtk-webcore/osb-nrcit
packages/multitap-pad
packages/multitap-pad/files
packages/openmoko2/openmoko-dialer2/fic-gta01
packages/openmoko2/openmoko-dialer2/fic-gta02
packages/alsa/alsa-state/fic-gta02/gsmhandset.state
packages/curl/files/pkgconfig_fix.patch
packages/dtnrg/files/configure_fix.patch
packages/freesmartphone/enter_0.0.2.bb
packages/gnash/gnash.inc
packages/gnash/gnash_0.8.1.bb
packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-2.10pre4-openstreetmap-download.patch
packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-ifdef-mapnik.patch
packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-remove-hardcoded-paths.patch
packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive_2.10pre4.desktop
packages/gpsdrive/gpsdrive_2.10pre4.bb
packages/gtk-webcore/files/path_fixes.patch
packages/gtk-webcore/osb-nrcit/pkgconfig_fix.patch
packages/libmatchbox/files/configure_fixes.patch
packages/matchbox-desktop/matchbox-desktop-0.9.1/pkgconfig_fix.patch
packages/matchbox-wm/matchbox-wm/configure_fix.patch
packages/multitap-pad/files/80multitappad
packages/multitap-pad/multitap-pad_svn.bb
packages/openmoko-panel-plugins/openmoko-panel-memory_svn.bb
packages/openmoko2/openmoko-dialer2/fic-gta01/kernel-2.6.24.patch
packages/openmoko2/openmoko-dialer2/fic-gta02/kernel-2.6.24.patch
packages/pango/pango-1.18.3/pkgconfig_fixes.patch
packages/perl/libwww-perl-native_5.808.bb
packages/perl/libwww-perl_5.808.bb
packages/xorg-xserver/xserver-kdrive-1.4/pkgconfig_fix.patch
conf/checksums.ini
conf/distro/include/moko-autorev.inc
conf/distro/include/preferred-om-2008-versions.inc
conf/distro/include/sane-srcrevs.inc
conf/distro/openmoko.conf
packages/alsa/alsa-state/fic-gta02/asound.state
packages/alsa/alsa-state/fic-gta02/stereoout.state
packages/asterisk/asterisk_1.4.17.bb
packages/busybox/busybox-1.9.1/defconfig
packages/busybox/busybox_1.9.1.bb
packages/curl/curl_7.16.4.bb
packages/freesmartphone/pyneod_svn.bb
packages/gcc/gcc-cross_4.2.2.bb
packages/gnash/gnash_0.8.0.bb
packages/gnutls/gnutls-1.6.3/configure_madness.patch
packages/gnutls/gnutls_1.6.3.bb
packages/gsm/files/gsmd
packages/gtk-webcore/osb-nrcit_svn.bb
packages/gtk-webcore/osb-nrcore.inc
packages/gtk-webcore/osb-nrcore_svn.bb
packages/images/moko-underground-image.bb
packages/libmatchbox/libmatchbox_1.9.bb
packages/linux/linux-handhelds-2.6.inc
packages/matchbox-desktop/matchbox-desktop_0.9.1.bb
packages/matchbox-wm/matchbox-wm_1.2.bb
packages/openmoko2/openmoko-dialer2_svn.bb
packages/openmoko2/openmoko-session2/etc/matchbox/session
packages/openmoko2/openmoko-session2.bb
packages/pango/pango_1.18.3.bb
packages/python/python_2.5.2.bb
packages/tasks/task-base.bb
packages/tasks/task-openmoko-base.bb
packages/tasks/task-openmoko-phone.bb
packages/u-boot/u-boot-openmoko_1.3.1+git+svn.bb
packages/udev/udev-118/init
packages/udev/udev_118.bb
packages/xorg-xserver/xserver-kdrive_1.4.bb
Diffs:

#
# mt diff -r8cfccf7d76cedeebb5fc468a8aa4943a21baf0bc -r295199ba5efc8ddca9453992b8304f356f385efd
#
# 
# 
# add_file "packages/linux/linux-rt-2.6.24/leds-cpu-activity-powerpc.patch"
#  content [fd7e70b17a09e17b40a8f4ae230b0e9a2b13f83f]
# 
# add_file "packages/linux/linux-rt-2.6.24/leds-cpu-activity.patch"
#  content [38deec6ca144203d2bec5f6271900e91c6c2dbaa]
# 
# patch "packages/linux/linux-rt-2.6.24/mpc8313e-rdb/defconfig"
#  from [c20dde87e637984705b242283cff68d2e21b1512]
#    to [563f526c657d4db018fbb58a6373134adb43a7b1]
# 
# patch "packages/linux/linux-rt_2.6.24.bb"
#  from [f3cbc9b9bcdc504fa80a491cd5743b5ed799891f]
#    to [29d97acddf75b09d01099358d07240db5d4e2353]
# 
============================================================
--- packages/linux/linux-rt-2.6.24/leds-cpu-activity-powerpc.patch	fd7e70b17a09e17b40a8f4ae230b0e9a2b13f83f
+++ packages/linux/linux-rt-2.6.24/leds-cpu-activity-powerpc.patch	fd7e70b17a09e17b40a8f4ae230b0e9a2b13f83f
@@ -0,0 +1,44 @@
+Index: linux-2.6.24.3/arch/powerpc/kernel/idle.c
+===================================================================
+--- linux-2.6.24.3.orig/arch/powerpc/kernel/idle.c	2008-02-29 14:49:40.000000000 +0100
++++ linux-2.6.24.3/arch/powerpc/kernel/idle.c	2008-02-29 16:29:23.000000000 +0100
+@@ -19,6 +19,7 @@
+  * 2 of the License, or (at your option) any later version.
+  */
+ 
++#include <linux/leds.h>
+ #include <linux/sched.h>
+ #include <linux/kernel.h>
+ #include <linux/smp.h>
+@@ -51,6 +52,12 @@
+ __setup("powersave=off", powersave_off);
+ 
+ /*
++ * CPU activity indicator.
++ */
++void (*leds_idle)(int is_idle);
++EXPORT_SYMBOL(leds_idle);
++
++/*
+  * The body of the idle task.
+  */
+ void cpu_idle(void)
+@@ -64,7 +71,8 @@
+ 		while (!need_resched() && !need_resched_delayed() &&
+ 				!cpu_should_die()) {
+ 			ppc64_runlatch_off();
+-
++            if (leds_idle)
++              leds_idle(1);
+ 			if (ppc_md.power_save) {
+ 				clear_thread_flag(TIF_POLLING_NRFLAG);
+ 				/*
+@@ -99,6 +107,8 @@
+ 		if (cpu_should_die())
+ 			cpu_die();
+ 		__preempt_enable_no_resched();
++        if (leds_idle)
++          leds_idle(0);
+ 		schedule();
+ 		preempt_disable();
+ 	}
============================================================
--- packages/linux/linux-rt-2.6.24/leds-cpu-activity.patch	38deec6ca144203d2bec5f6271900e91c6c2dbaa
+++ packages/linux/linux-rt-2.6.24/leds-cpu-activity.patch	38deec6ca144203d2bec5f6271900e91c6c2dbaa
@@ -0,0 +1,554 @@
+Index: linux-2.6.24.3/drivers/leds/Kconfig
+===================================================================
+--- linux-2.6.24.3.orig/drivers/leds/Kconfig	2008-02-29 13:56:08.000000000 +0100
++++ linux-2.6.24.3/drivers/leds/Kconfig	2008-02-29 13:56:11.000000000 +0100
+@@ -130,6 +130,15 @@
+ 	  This allows LEDs to be controlled by a programmable timer
+ 	  via sysfs. If unsure, say Y.
+ 
++config LEDS_TRIGGER_CPU_ACTIVITY
++	tristate "LED CPU Activity Trigger"
++	depends on LEDS_TRIGGERS
++	help
++	  This allows LEDs to be set to show cpu activity via sysfs.
++	  The LED will blink when the cpu is active and stay steady
++	  (on or off according to the trigger selected) when idle.
++	  Platform support is needed for this to work. If unsure, say Y.
++
+ config LEDS_TRIGGER_IDE_DISK
+ 	bool "LED IDE Disk Trigger"
+ 	depends on LEDS_TRIGGERS && BLK_DEV_IDEDISK
+Index: linux-2.6.24.3/drivers/leds/ledtrig-cpu.c
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.24.3/drivers/leds/ledtrig-cpu.c	2008-02-29 13:56:11.000000000 +0100
+@@ -0,0 +1,502 @@
++/*
++ * LEDs CPU activity trigger
++ *
++ * Author: John Bowler <jbowler at acm.org>
++ *
++ * Copyright (c) 2006 John Bowler
++ *
++ * Permission is hereby granted, free of charge, to any
++ * person obtaining a copy of this software and associated
++ * documentation files (the "Software"), to deal in the
++ * Software without restriction, including without
++ * limitation the rights to use, copy, modify, merge,
++ * publish, distribute, sublicense, and/or sell copies of
++ * the Software, and to permit persons to whom the
++ * Software is furnished to do so, subject to the
++ * following conditions:
++ *
++ * The above copyright notice and this permission notice
++ * shall be included in all copies or substantial portions
++ * of the Software.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
++ * ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
++ * TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
++ * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
++ * SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
++ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
++ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
++ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
++ * OTHER DEALINGS IN THE SOFTWARE.
++ *
++ */
++
++#include <linux/ctype.h>
++#include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/init.h>
++#include <linux/spinlock.h>
++#include <linux/timer.h>
++#include <linux/device.h>
++
++#include <linux/leds.h>
++#include "leds.h"
++
++//#include <linux/list.h>
++//#include <linux/sysdev.h>
++
++
++/*
++ * To simplify this the LED state is given for each case of
++ * CPU state - idle or active.  The LED can be:
++ *
++ * off
++ * flash - slow for idle, fast (flicker) for active
++ * on
++ *
++ * This gives two useless states - off/off and on/on
++ */
++typedef enum cpu_trigger_led_state {
++	cpu_led_off,
++	cpu_led_flash,
++	cpu_led_on,
++	cpu_led_invalid
++} cpu_trigger_led_state;
++
++static const char *const cpu_trigger_names[] = {
++	"off",
++	"flash",
++	"on",
++	"invalid"
++};
++
++/* Forward declaration - this is called back when an LED property
++ * is changed.
++ */
++static void leds_cpu_trigger_state_change(void);
++
++/*
++ * These constants define the actual mark/space of the flashing
++ * in jiffies.  msecs_to_jiffies rounds up and is compile time
++ * evaluable for constant arguments.  Writing the ?: stuff below
++ * this way ensures the compiler doesn't think it needs to
++ * compile in the math of msecs_to_jiffies.
++ *
++ * These values have been determined by experiment to work well
++ * for the ready/status LED on a LinkSys NSLU2 (light piped) and
++ * for the user LED on a Loft (Gateway Avila variant) board where
++ * the LED was directly visible.  Light Output Varies Everywhere.
++ */
++#define LEDS_CPU_ACTIVE_MARK	msecs_to_jiffies(40)
++#define LEDS_CPU_IDLE_MARK	msecs_to_jiffies(800)
++#define LEDS_CPU_ACTIVE_SPACE	msecs_to_jiffies(60)
++#define LEDS_CPU_IDLE_SPACE	msecs_to_jiffies(800)
++
++
++/*
++ * Individual LEDs ------------------------------------------------------------
++ */
++struct cpu_trigger_data {
++	cpu_trigger_led_state active; /* Behaviour when the CPU is active. */
++	cpu_trigger_led_state idle;   /* Behaviour when the CPU is idle. */
++};
++
++/*
++ * LED state change - called when the state of a single LED might
++ * have changed.  Returns true if the LED is blinking.  The argument
++ * is the blink state - the brightness of the blinking LED.
++ */
++static int leds_cpu_trigger_led_state_change(struct led_classdev *led,
++		int is_active, enum led_brightness brightness)
++{
++	int is_blinking = 0;
++
++	struct cpu_trigger_data *data = led->trigger_data;
++
++	/* Find the new brightness for the LED, if the LED is
++	 * set to flash then the brightness passed in is the
++	 * required value.
++	 */
++	if (likely(data != 0))
++		switch (is_active ? data->active : data->idle) {
++		case cpu_led_off:   brightness = LED_OFF;  break;
++		case cpu_led_flash: is_blinking = 1;       break;
++		case cpu_led_on:    brightness = LED_FULL; break;
++		}
++	else
++		brightness = is_active ? LED_FULL : LED_OFF;
++
++	led_set_brightness(led, brightness);
++
++	return is_blinking;
++}
++
++/*
++ * sysfs properties, the property is output at an list of the
++ * values with the current setting enclosed in []
++ */
++static ssize_t leds_cpu_trigger_show_prop(struct device *dev,
++		struct device_attribute *attr, char *buf, size_t where)
++{
++	struct led_classdev     *led = dev_get_drvdata(dev);
++	cpu_trigger_led_state  item = cpu_led_invalid, i;
++	char                  *next;
++
++	if (likely(led->trigger_data != 0))
++		item = *(const cpu_trigger_led_state*)(
++				led->trigger_data + where);
++
++	for (i=0, next=buf; i<cpu_led_invalid; ++i) {
++		const char *name = cpu_trigger_names[i];
++		size_t len = strlen(name);
++
++		if (i == item)
++			*next++ = '[';
++		memcpy(next, name, len);
++		next += len;
++		if (i == item)
++			*next++ = ']';
++		*next++ = ' ';
++	}
++
++	next[-1] = '\n';
++	*next++ = 0;
++
++	return next - buf;
++}
++
++static ssize_t leds_cpu_trigger_show_active(struct device *dev,
++		struct device_attribute *attr, char *buf)
++{
++	return leds_cpu_trigger_show_prop(dev, attr, buf,
++			offsetof(struct cpu_trigger_data, active));
++}
++
++static ssize_t leds_cpu_trigger_show_idle(struct device *dev,
++		struct device_attribute *attr, char *buf)
++{
++	return leds_cpu_trigger_show_prop(dev, attr, buf,
++			offsetof(struct cpu_trigger_data, idle));
++}
++
++/*
++ * Any matching leading substring selects a property - so "onoffonoff"
++ * sets the property to off.
++ */
++static ssize_t leds_cpu_trigger_store_prop(struct device *dev,
++		struct device_attribute *attr, const char *buf,
++		size_t size, size_t where)
++{
++	size_t rc = 0;
++	cpu_trigger_led_state value = 0/*sic*/;
++	struct led_classdev *led;
++
++	/* ignore space characters before the value. */
++	while (rc < size && isspace(buf[rc]))
++		++rc;
++	if (rc >= size)
++		return rc;
++
++	/* look for a simple match against the trigger name, case
++	 * sensitive.
++	 */
++	do {
++		const char *name = cpu_trigger_names[value];
++		size_t len = strlen(name);
++		if (len <= size && memcmp(buf+rc, name, len) == 0) {
++			rc = len;
++			break;
++		}
++		if (++value >= cpu_led_invalid)
++			return -EINVAL;
++	} while (1);
++
++	led = dev_get_drvdata(dev);
++	if (likely(led->trigger_data != 0))
++		*(cpu_trigger_led_state*)(
++				led->trigger_data + where) = value;
++
++	return rc;
++}
++
++static ssize_t leds_cpu_trigger_store_active(struct device *dev,
++		struct device_attribute *attr, const char *buf, size_t size)
++{
++	ssize_t rc = leds_cpu_trigger_store_prop(dev, attr, buf, size,
++			offsetof(struct cpu_trigger_data, active));
++	/*
++	 * At least one CPU must be active (otherwise who is doing this?)
++	 * Call down into the global state below to cause an update
++	 * to happen now.
++	 */
++	leds_cpu_trigger_state_change();
++	return rc;
++}
++
++static ssize_t leds_cpu_trigger_store_idle(struct device *dev,
++		struct device_attribute *attr, const char *buf, size_t size)
++{
++	return leds_cpu_trigger_store_prop(dev, attr, buf, size,
++			offsetof(struct cpu_trigger_data, idle));
++}
++
++static DEVICE_ATTR(active, 0644, leds_cpu_trigger_show_active,
++					leds_cpu_trigger_store_active);
++
++static DEVICE_ATTR(idle, 0644, leds_cpu_trigger_show_idle,
++					leds_cpu_trigger_store_idle);
++
++/*
++ * Activate and deactivate are called on individual LEDs when the
++ * LED trigger property is changed.
++ */
++static void leds_cpu_trigger_activate(struct led_classdev *led)
++{
++	/*
++	 * The initial setting of the trigger is simple CPU activity
++	 * with the LED off for idle and on for active.  Consequently
++	 * there is no need to mess with the global state initially,
++	 * we know the CPU is active at this moment!
++	 */
++	int rc;
++	struct cpu_trigger_data *data = kmalloc(sizeof *data, GFP_KERNEL);
++	if (unlikely(data == 0))
++		return;
++
++	data->active = cpu_led_on;
++	data->idle = cpu_led_off;
++	led->trigger_data = data;
++
++	rc = device_create_file(led->dev, &dev_attr_active);
++	if (rc)
++		goto err_out;
++	rc = device_create_file(led->dev, &dev_attr_idle);
++	if (rc)
++		goto err_out_active;
++
++	led_set_brightness(led, LED_FULL);
++	return;
++
++err_out_active:
++	device_remove_file(led->dev, &dev_attr_active);
++err_out:
++	led->trigger_data = NULL;
++	kfree(data);
++}
++
++static void leds_cpu_trigger_deactivate(struct led_classdev *led)
++{
++	struct cpu_trigger_data *data = led->trigger_data;
++	if (likely(data != 0)) {
++		led_set_brightness(led, LED_OFF);
++
++		device_remove_file(led->dev, &dev_attr_idle);
++		device_remove_file(led->dev, &dev_attr_active);
++
++		led->trigger_data = 0;
++		kfree(data);
++	}
++}
++
++
++/*
++ * Global state  --------------------------------------------------------------
++ *
++ * This is global because the CPU state is global and we only need one timer to
++ * do this stuff.
++ */
++typedef struct leds_cpu_trigger_data {
++	struct led_trigger trigger; /* the lock in here protects everything */
++	struct timer_list  timer;
++	unsigned long      last_active_time; /* record of last jiffies */
++	unsigned long      last_idle_time;   /* record of last jiffies */
++	int                count_active;     /* number of active CPUs */
++} leds_cpu_trigger_data;
++
++/*
++ * Mark state - uses the current time (jiffies) to work out
++ * whether this is a mark or space.
++ */
++static int leds_cpu_trigger_mark(struct leds_cpu_trigger_data *data,
++		unsigned long now) {
++	if (data->count_active > 0) {
++		unsigned long elapsed = now - data->last_active_time;
++		elapsed %= LEDS_CPU_ACTIVE_SPACE + LEDS_CPU_ACTIVE_MARK;
++		data->last_active_time = now - elapsed;
++		return elapsed > LEDS_CPU_ACTIVE_SPACE;
++	} else {
++		unsigned long elapsed = now - data->last_idle_time;
++		elapsed %= LEDS_CPU_IDLE_SPACE + LEDS_CPU_IDLE_MARK;
++		data->last_idle_time = now - elapsed;
++		return elapsed > LEDS_CPU_IDLE_SPACE;
++	}
++}
++
++
++/*
++ * State change - given information about the nature of the
++ * (possible) state change call up to each LED to adjust its
++ * state.  Returns true if any LED is blinking.  The lock
++ * must be held (a read lock is adequate).
++ */
++static int leds_cpu_trigger_scan_leds(struct leds_cpu_trigger_data *data,
++		unsigned long now)
++{
++	int blinking = 0;
++	const int active = data->count_active > 0;
++	const enum led_brightness brightness =
++		leds_cpu_trigger_mark(data, now) ? LED_FULL : LED_OFF;
++	struct list_head *entry;
++
++	list_for_each(entry, &data->trigger.led_cdevs) {
++		struct led_classdev *led =
++			list_entry(entry, struct led_classdev, trig_list);
++
++		blinking |= leds_cpu_trigger_led_state_change(led,
++				active, brightness);
++	}
++
++	return blinking;
++}
++
++/*
++ * Set the timer correctly according to the current state, the lock
++ * must be held for write.
++ */
++static void leds_cpu_trigger_set_timer(struct leds_cpu_trigger_data *state,
++		unsigned long now)
++{
++	unsigned long next;
++	if (state->count_active > 0) {
++		next = state->last_active_time;
++		if (now - next > LEDS_CPU_ACTIVE_SPACE)
++			next += LEDS_CPU_ACTIVE_MARK;
++		next += LEDS_CPU_ACTIVE_SPACE;
++	} else {
++		next = state->last_idle_time;
++		if (now - next > LEDS_CPU_IDLE_SPACE)
++			next += LEDS_CPU_IDLE_MARK;
++		next += LEDS_CPU_IDLE_SPACE;
++	}
++	mod_timer(&state->timer, next);
++}
++
++/*
++ * The timer callback if the LED is currently flashing, the callback
++ * calls the state change function and, if that returns true, meaning
++ * that at least one LED is still blinking, the timer is restarted
++ * with the correct timeout.
++ */
++static void leds_cpu_trigger_timer_callback(unsigned long data)
++{
++	struct leds_cpu_trigger_data *state =
++				(struct leds_cpu_trigger_data *)data;
++
++	write_lock(&state->trigger.leddev_list_lock);
++	{
++		unsigned long now = jiffies;
++
++		/* If at least one LED is set to flash; set the timer
++		 * again (this won't reset the timer set within the
++		 * idle loop).
++		 */
++		if (leds_cpu_trigger_scan_leds(state, now))
++			leds_cpu_trigger_set_timer(state, now);
++	}
++	write_unlock(&state->trigger.leddev_list_lock);
++}
++
++
++/*
++ * There is one global control structure, one timer and one set
++ * of state for active CPUs shared across all the LEDs.  Individual
++ * LEDs say how this state to be handled.  It is currently *not*
++ * possible to show per-cpu activity on individual LEDs, the code
++ * maintains a count of active CPUs and the state is only 'idle'
++ * if all CPUs are idle.
++ */
++static struct leds_cpu_trigger_data leds_cpu_trigger = {
++	.trigger = {
++		.name       = "cpu",
++		.activate   = leds_cpu_trigger_activate,
++		.deactivat%s
>>> DIFF TRUNCATED @ 16K


#
# mt diff -rcc62ac9db8f51dbeefed076296fcde38fb94e71b -r295199ba5efc8ddca9453992b8304f356f385efd
#
# 
# 
# delete "packages/gsm/files/fic-gta01"
# 
# delete "packages/gsm/files/fic-gta01/gsmd"
# 
# delete "packages/libmatchbox/libmatchbox_1.2.bb"
# 
# delete "packages/libmatchbox/libmatchbox_1.3.bb"
# 
# delete "packages/libmatchbox/libmatchbox_1.4.bb"
# 
# delete "packages/libmatchbox/libmatchbox_1.5.bb"
# 
# delete "packages/libmatchbox/libmatchbox_1.6.bb"
# 
# delete "packages/matchbox-wm/matchbox-wm_0.8.3.bb"
# 
# delete "packages/matchbox-wm/matchbox-wm_0.8.4.bb"
# 
# delete "packages/matchbox-wm/matchbox-wm_0.9.2.bb"
# 
# delete "packages/matchbox-wm/matchbox-wm_0.9.3.bb"
# 
# delete "packages/matchbox-wm/matchbox-wm_0.9.4.bb"
# 
# delete "packages/matchbox-wm/matchbox-wm_0.9.bb"
# 
# rename "contrib/oe.svg"
#     to "contrib/artwork/oe.svg"
# 
# rename "contrib/powered-by-oe.svg"
#     to "contrib/artwork/powered-by-oe.svg"
# 
# add_dir "contrib/artwork"
# 
# add_dir "packages/curl/files"
# 
# add_dir "packages/dtnrg/files"
# 
# add_dir "packages/gpsdrive/gpsdrive-2.10pre4"
# 
# add_dir "packages/gtk-webcore/osb-nrcit"
# 
# add_dir "packages/multitap-pad"
# 
# add_dir "packages/multitap-pad/files"
# 
# add_dir "packages/openmoko2/openmoko-dialer2/fic-gta01"
# 
# add_dir "packages/openmoko2/openmoko-dialer2/fic-gta02"
# 
# add_file "packages/alsa/alsa-state/fic-gta02/gsmhandset.state"
#  content [160bb5fdcf8656f03ec120c677c29512983ef721]
# 
# add_file "packages/curl/files/pkgconfig_fix.patch"
#  content [d105999ef214e4616999e1d0accd284640974dc7]
# 
# add_file "packages/dtnrg/files/configure_fix.patch"
#  content [a89048eadd0ea582a6513bcb61d08df848026021]
# 
# add_file "packages/freesmartphone/enter_0.0.2.bb"
#  content [046cc1b2280bca6d06a2423b1f4c5cc5634a9430]
# 
# add_file "packages/gnash/gnash.inc"
#  content [bc7ce0bb9d022a74c35eff388b180d174a1a2eef]
# 
# add_file "packages/gnash/gnash_0.8.1.bb"
#  content [50014de2c3904a6950c775be0eda4815399cb573]
# 
# add_file "packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-2.10pre4-openstreetmap-download.patch"
#  content [f7d05fac53703548b59b528f752366847140744e]
# 
# add_file "packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-ifdef-mapnik.patch"
#  content [47e014d89d9957ea970e01aced2dc553d3722236]
# 
# add_file "packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive-remove-hardcoded-paths.patch"
#  content [b9c3b9e051b269ab097c36a70c58b6d218e0d55d]
# 
# add_file "packages/gpsdrive/gpsdrive-2.10pre4/gpsdrive_2.10pre4.desktop"
#  content [6ef8f7d5db97dd3541a0bfe44325bd07296baf1b]
# 
# add_file "packages/gpsdrive/gpsdrive_2.10pre4.bb"
#  content [8019316f995c6928f922a1b2412b7393fe8599f3]
# 
# add_file "packages/gtk-webcore/files/path_fixes.patch"
#  content [716a0950c604514677a0eae118da7da04d070344]
# 
# add_file "packages/gtk-webcore/osb-nrcit/pkgconfig_fix.patch"
#  content [0edb164c34530db60d690707bef73b3594b510aa]
# 
# add_file "packages/libmatchbox/files/configure_fixes.patch"
#  content [4de1e878c64796aab614df79cf5ee0753caa5fec]
# 
# add_file "packages/matchbox-desktop/matchbox-desktop-0.9.1/pkgconfig_fix.patch"
#  content [d199870bd1e6ba594504a9c421480b264394799b]
# 
# add_file "packages/matchbox-wm/matchbox-wm/configure_fix.patch"
#  content [bae834deeca2d5f8f79cc2ac7ad96dac873df15a]
# 
# add_file "packages/multitap-pad/files/80multitappad"
#  content [b613cc7c89d800c205b89dd7013c4b3ba309b319]
# 
# add_file "packages/multitap-pad/multitap-pad_svn.bb"
#  content [8f2b626f58690dd52e509cacab5977c5f52270e2]
# 
# add_file "packages/openmoko-panel-plugins/openmoko-panel-memory_svn.bb"
#  content [4e424e0c74d42282c80ac2738e417b8dc7014e80]
# 
# add_file "packages/openmoko2/openmoko-dialer2/fic-gta01/kernel-2.6.24.patch"
#  content [43b8c9925bee93d59e2aefd4c7eec71d0b796197]
# 
# add_file "packages/openmoko2/openmoko-dialer2/fic-gta02/kernel-2.6.24.patch"
#  content [d1c708f7f915fa250e20a84fa9d4512440442a4f]
# 
# add_file "packages/pango/pango-1.18.3/pkgconfig_fixes.patch"
#  content [a74df0506a1afcf11eea21107f6caa8e7b5bc8da]
# 
# add_file "packages/perl/libwww-perl-native_5.808.bb"
#  content [66723b8808de2c5758435a88b9640bc8777d89be]
# 
# add_file "packages/perl/libwww-perl_5.808.bb"
#  content [c76a162b7e6844022d4b9826386bfeed71c6328e]
# 
# add_file "packages/xorg-xserver/xserver-kdrive-1.4/pkgconfig_fix.patch"
#  content [c63f18a7b52ed2a806647ca314ea5f8e3bcf08f2]
# 
# patch "conf/checksums.ini"
#  from [eb9de8f37d459cdc0493e46911c3d815b00b240f]
#    to [a348d30bb084b1bbe9081b873ccbbfdb7d14baae]
# 
# patch "conf/distro/include/moko-autorev.inc"
#  from [0f982aea482507652b58a95c90dfbd0d307bacac]
#    to [8693d3caf1c49ddccfce7c158c5cec881d623a58]
# 
# patch "conf/distro/include/preferred-om-2008-versions.inc"
#  from [7ff18c73f3dc06bcaf921d9ab443d383a6a12a93]
#    to [e76b4f1d90a877c2f946524c27d7e7035df3d66b]
# 
# patch "conf/distro/include/sane-srcrevs.inc"
#  from [66423fdd2da04384c51e77181591011dce4180fa]
#    to [ab67ae7855b44ff82646cc1c031cb6cafafea1f9]
# 
# patch "conf/distro/openmoko.conf"
#  from [02896609234a09af5537fbcaf494e70d8a9addba]
#    to [64b9c6cbbb1815a759c997aaeb8d81669260e963]
# 
# patch "packages/alsa/alsa-state/fic-gta02/asound.state"
#  from [1757352784f5374c1f573a503aae63c17415a14a]
#    to [3dc7b53f478ddd81f2c1e0f417de59d206eadf9b]
# 
# patch "packages/alsa/alsa-state/fic-gta02/stereoout.state"
#  from [1757352784f5374c1f573a503aae63c17415a14a]
#    to [3dc7b53f478ddd81f2c1e0f417de59d206eadf9b]
# 
# patch "packages/asterisk/asterisk_1.4.17.bb"
#  from [2f04528dd5495d5de7fee0972edafd159d0453b6]
#    to [4201407db7eeb035f2425af4b62122970e4e0dd4]
# 
# patch "packages/busybox/busybox-1.9.1/defconfig"
#  from [ff25ec81c1351231f97bffc1ee90939e562137a4]
#    to [183a1034704ae8119a3b8348768ba35a162e96b8]
# 
# patch "packages/busybox/busybox_1.9.1.bb"
#  from [611d61a446d2bd0678cce14f4d7f8a7e916ebf9d]
#    to [4ce3286b8b9f17817880e467425ec28de58ea3f4]
# 
# patch "packages/curl/curl_7.16.4.bb"
#  from [e059af19afea35121903c9bfbda21700cbf38c07]
#    to [75efc99de6c7cc702a277bad7d10afc175e42621]
# 
# patch "packages/freesmartphone/pyneod_svn.bb"
#  from [4667d9e21c38f533f4c43794339cdd5b33f9759e]
#    to [e2cfd358134a04c53da8ea003424b74e390ddf66]
# 
# patch "packages/gcc/gcc-cross_4.2.2.bb"
#  from [966323ee244047dc2568f0dec747e5437039225f]
#    to [12e688f12323d409a909f9a932f8a7651c517ccc]
# 
# patch "packages/gnash/gnash_0.8.0.bb"
#  from [bc7ce0bb9d022a74c35eff388b180d174a1a2eef]
#    to [50014de2c3904a6950c775be0eda4815399cb573]
# 
# patch "packages/gnutls/gnutls-1.6.3/configure_madness.patch"
#  from [2998e7642de3c93def273f07b105f57b61a9f9c9]
#    to [87f410ef8fb3b49faf09767ddad9b5adfeb02b69]
# 
# patch "packages/gnutls/gnutls_1.6.3.bb"
#  from [00f6ee42f807520ea4255904e757ed8cd210a4da]
#    to [d9680357a147ffbb532b44d35e0ba188e067e902]
# 
# patch "packages/gsm/files/gsmd"
#  from [e5dbf3447ec499f1ef19adeb6230fe87e713ad8f]
#    to [7f2f07eee1fb5bb619f6b15e537a70b9ba9c8107]
# 
# patch "packages/gtk-webcore/osb-nrcit_svn.bb"
#  from [d70113c981456053b3eb81fb001830ff3a66089b]
#    to [f392ca94c652f0b2e0199720b3ca1891caa1e84d]
# 
# patch "packages/gtk-webcore/osb-nrcore.inc"
#  from [a81dab6970cf3f620379e415339da87027c19963]
#    to [a2d1b24a35197d99ed9f2238f7e7694386f7ba8e]
# 
# patch "packages/gtk-webcore/osb-nrcore_svn.bb"
#  from [ab839622392a9399df985a1c3d43b212da7e0e56]
#    to [6b4a5f5331023113b0b94f5a20f172c0144f3b20]
# 
# patch "packages/images/moko-underground-image.bb"
#  from [e3d712c4f1771ae91a8a413966252fb17a92eee9]
#    to [ad083e5de4d9af34be740450b02baa05b9066159]
# 
# patch "packages/libmatchbox/libmatchbox_1.9.bb"
#  from [365c3dda341f2c4325bd84ab2891014107edcd0a]
#    to [a9b28c50f482c7cd7c7ca85bc68e492f6fad9611]
# 
# patch "packages/linux/linux-handhelds-2.6.inc"
#  from [b761bc283eb28d9f018764f3ca504f8e1ea6972d]
#    to [b7a768d6bfd621b3a76b6f638707ea8a6dd5fec9]
# 
# patch "packages/matchbox-desktop/matchbox-desktop_0.9.1.bb"
#  from [bf560c49408f0a25330af4a37ec9f44da53a7cdc]
#    to [a4667d6f77aa846c3dce0a8ed91e57d6acd68929]
# 
# patch "packages/matchbox-wm/matchbox-wm_1.2.bb"
#  from [98095f550f8c77883c44c40c96ff2b2161a07c87]
#    to [12502c8a947c859da87bc31d714b44edeec78784]
# 
# patch "packages/openmoko2/openmoko-dialer2_svn.bb"
#  from [5ebf0c7982f702f7e54cd30c62e54e213188d939]
#    to [07798651132cae433e354258858b87a1702cbf1c]
# 
# patch "packages/openmoko2/openmoko-session2/etc/matchbox/session"
#  from [1455e724ba6335f63471c0c3d4a4117393aff80b]
#    to [3691fcca6739571b69289159cfa7eddd6f68be04]
# 
# patch "packages/openmoko2/openmoko-session2.bb"
#  from [cc58c28564075391245e716a991d21f7ead4d3f4]
#    to [ec58d62219eb5fa1b3bed5608b3790a16aaba3cd]
# 
# patch "packages/pango/pango_1.18.3.bb"
#  from [24af597bfe27e33d9b2bb47c39d625d95e8eecc2]
#    to [cb8809c85a8afc05d221451e591e5b5421dedb24]
# 
# patch "packages/python/python_2.5.2.bb"
#  from [9fdacadcb9bca69d259d6ac4233adaced691d170]
#    to [404be2bec68ba8a044eec85af90dcf7f63213c6c]
# 
# patch "packages/tasks/task-base.bb"
#  from [0cd29b3c066d3479d8e51bf7737d5674bec79deb]
#    to [47914cc275060af9ade4a3f8bec2034b23a9e7c6]
# 
# patch "packages/tasks/task-openmoko-base.bb"
#  from [7cc94ad51a45aff256cb5eda29ac54bd28236c4b]
#    to [bf1b387ba3df340fb32571681d0aa5de8ffec64a]
# 
# patch "packages/tasks/task-openmoko-phone.bb"
#  from [e581df871797084f3feefe30f1c18d23db7cdc61]
#    to [c8eb10190de69dd401cfbfe5a42fd8191f60073a]
# 
# patch "packages/u-boot/u-boot-openmoko_1.3.1+git+svn.bb"
#  from [de2a6e1fced0d942ccf99957f28a7b6df646c687]
#    to [db78f04c96cb5d27ad12ca8a87b74256bfcbe02d]
# 
# patch "packages/udev/udev-118/init"
#  from [39af5bc8230e6a5d1a8c29b715b06fd04ea3551d]
#    to [35cae94119e36270fbd2b648a4dbe351ff714d55]
# 
# patch "packages/udev/udev_118.bb"
#  from [ea5479f679eae83985b0d677a1317948a47e3ac4]
#    to [e9281fed9bc0fc17975cbcd7076778e89ce58196]
# 
# patch "packages/xorg-xserver/xserver-kdrive_1.4.bb"
#  from [e924574025f2310b2e6051f3aeef14fd3082d730]
#    to [809878de21fa1d0beaae670608e46b5918205067]
# 
============================================================
--- packages/alsa/alsa-state/fic-gta02/gsmhandset.state	160bb5fdcf8656f03ec120c677c29512983ef721
+++ packages/alsa/alsa-state/fic-gta02/gsmhandset.state	160bb5fdcf8656f03ec120c677c29512983ef721
@@ -0,0 +1,859 @@
+state.neo1973gta02 {
+	control.1 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 2
+		comment.range '0 - 255'
+		iface MIXER
+		name 'PCM Volume'
+		value.0 255
+		value.1 255
+	}
+	control.2 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 2
+		comment.range '0 - 255'
+		iface MIXER
+		name 'ADC Capture Volume'
+		value.0 195
+		value.1 195
+	}
+	control.3 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 2
+		comment.range '0 - 127'
+		iface MIXER
+		name 'Headphone Playback Volume'
+		value.0 121
+		value.1 121
+	}
+	control.4 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 2
+		comment.range '0 - 127'
+		iface MIXER
+		name 'Speaker Playback Volume'
+		value.0 127
+		value.1 127
+	}
+	control.5 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 127'
+		iface MIXER
+		name 'Mono Playback Volume'
+		value 115
+	}
+	control.6 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 2
+		comment.range '0 - 7'
+		iface MIXER
+		name 'Bypass Playback Volume'
+		value.0 2
+		value.1 2
+	}
+	control.7 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 2
+		comment.range '0 - 7'
+		iface MIXER
+		name 'Sidetone Playback Volume'
+		value.0 2
+		value.1 2
+	}
+	control.8 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 2
+		comment.range '0 - 7'
+		iface MIXER
+		name 'Voice Playback Volume'
+		value.0 2
+		value.1 2
+	}
+	control.9 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 2
+		iface MIXER
+		name 'Headphone Playback ZC Switch'
+		value.0 false
+		value.1 true
+	}
+	control.10 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 2
+		iface MIXER
+		name 'Speaker Playback ZC Switch'
+		value.0 false
+		value.1 true
+	}
+	control.11 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 7'
+		iface MIXER
+		name 'Mono Bypass Playback Volume'
+		value 3
+	}
+	control.12 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 7'
+		iface MIXER
+		name 'Mono Sidetone Playback Volume'
+		value 1
+	}
+	control.13 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 7'
+		iface MIXER
+		name 'Mono Voice Playback Volume'
+		value 1
+	}
+	control.14 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'Mono Playback ZC Switch'
+		value false
+	}
+	control.15 {
+		comment.access 'read write'
+		comment.type ENUMERATED
+		comment.count 1
+		comment.item.0 'Linear Control'
+		comment.item.1 'Adaptive Boost'
+		iface MIXER
+		name 'Bass Boost'
+		value 'Linear Control'
+	}
+	control.16 {
+		comment.access 'read write'
+		comment.type ENUMERATED
+		comment.count 1
+		comment.item.0 '130Hz @ 48kHz'
+		comment.item.1 '200Hz @ 48kHz'
+		comment.item.2 '100Hz @ 16kHz'
+		comment.item.3 '400Hz @ 48kHz'
+		comment.item.4 '100Hz @ 8kHz'
+		comment.item.5 '200Hz @ 8kHz'
+		iface MIXER
+		name 'Bass Filter'
+		value '130Hz @ 48kHz'
+	}
+	control.17 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 15'
+		iface MIXER
+		name 'Bass Volume'
+		value 0
+	}
+	control.18 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 15'
+		iface MIXER
+		name 'Treble Volume'
+		value 7
+	}
+	control.19 {
+		comment.access 'read write'
+		comment.type ENUMERATED
+		comment.count 1
+		comment.item.0 '8kHz'
+		comment.item.1 '4kHz'
+		iface MIXER
+		name 'Treble Cut-off'
+		value '8kHz'
+	}
+	control.20 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 2
+		comment.range '0 - 7'
+		iface MIXER
+		name 'Sidetone Capture Volume'
+		value.0 2
+		value.1 2
+	}
+	control.21 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 7'
+		iface MIXER
+		name 'Voice Sidetone Capture Volume'
+		value 2
+	}
+	control.22 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 2
+		comment.range '0 - 63'
+		iface MIXER
+		name 'Capture Volume'
+		value.0 24
+		value.1 24
+	}
+	control.23 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 2
+		iface MIXER
+		name 'Capture ZC Switch'
+		value.0 false
+		value.1 false
+	}
+	control.24 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 2
+		iface MIXER
+		name 'Capture Switch'
+		value.0 true
+		value.1 true
+	}
+	control.25 {
+		comment.access 'read write'
+		comment.type ENUMERATED
+		comment.count 1
+		comment.item.0 '3.4Hz @ 48kHz'
+		comment.item.1 '82Hz @ 16k'
+		comment.item.2 '82Hz @ 8kHz'
+		comment.item.3 '170Hz @ 8kHz'
+		iface MIXER
+		name 'Capture Filter Select'
+		value '3.4Hz @ 48kHz'
+	}
+	control.26 {
+		comment.access 'read write'
+		comment.type ENUMERATED
+		comment.count 1
+		comment.item.0 HiFi
+		comment.item.1 Voice
+		iface MIXER
+		name 'Capture Filter Cut-off'
+		value HiFi
+	}
+	control.27 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'Capture Filter Switch'
+		value false
+	}
+	control.28 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 7'
+		iface MIXER
+		name 'ALC Capture Target Volume'
+		value 3
+	}
+	control.29 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 7'
+		iface MIXER
+		name 'ALC Capture Max Volume'
+		value 1
+	}
+	control.30 {
+		comment.access 'read write'
+		comment.type ENUMERATED
+		comment.count 1
+		comment.item.0 Off
+		comment.item.1 Right
+		comment.item.2 Left
+		comment.item.3 Stereo
+		iface MIXER
+		name 'ALC Capture Function'
+		value Stereo
+	}
+	control.31 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'ALC Capture ZC Switch'
+		value false
+	}
+	control.32 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 15'
+		i%s
>>> DIFF TRUNCATED @ 16K






More information about the Openembedded-commits mailing list