[oe-commits] org.oe.dev linux-rt-2.6.24: Update to 2.6.24.3-rt3. Add missing include patch. Add MPC8313E-RDB LED driver. Fix LED numbering order.

likewise commit openembedded-commits at lists.openembedded.org
Fri Feb 29 00:44:49 UTC 2008


linux-rt-2.6.24: Update to 2.6.24.3-rt3. Add missing include patch. Add MPC8313E-RDB LED driver. Fix LED numbering order.

Author: likewise at openembedded.org
Branch: org.openembedded.dev
Revision: fc26b505e401fc99e43da1e7c5f6593c469262ef
ViewMTN: http://monotone.openembedded.org/revision/info/fc26b505e401fc99e43da1e7c5f6593c469262ef
Files:
1
packages/linux/linux-rt-2.6.24/mpc8313e-rdb/mpc8313e-rdb-leds.patch
packages/linux/linux-rt-2.6.24/sysctl_missing_include.patch
packages/linux/linux-rt-2.6.24/mpc8313e-rdb/defconfig
packages/linux/linux-rt_2.6.24.bb
Diffs:

#
# mt diff -r0635cfb2a96634b5c0f72d6c1e3720dc647e8bfc -rfc26b505e401fc99e43da1e7c5f6593c469262ef
#
# 
# 
# add_file "packages/linux/linux-rt-2.6.24/mpc8313e-rdb/mpc8313e-rdb-leds.patch"
#  content [2cc4266da3bf010bf63de74fc5b9e2e9b195ba4a]
# 
# add_file "packages/linux/linux-rt-2.6.24/sysctl_missing_include.patch"
#  content [564b0841b246892cb814b7e5c100787eb152fa4d]
# 
# patch "packages/linux/linux-rt-2.6.24/mpc8313e-rdb/defconfig"
#  from [df975876d7fb1fb5becbbaa088d6182ad5d18091]
#    to [c20dde87e637984705b242283cff68d2e21b1512]
# 
# patch "packages/linux/linux-rt_2.6.24.bb"
#  from [982f2f7f32de0753b206b0308ebd2667d8a6e5d4]
#    to [f3cbc9b9bcdc504fa80a491cd5743b5ed799891f]
# 
============================================================
--- packages/linux/linux-rt-2.6.24/mpc8313e-rdb/mpc8313e-rdb-leds.patch	2cc4266da3bf010bf63de74fc5b9e2e9b195ba4a
+++ packages/linux/linux-rt-2.6.24/mpc8313e-rdb/mpc8313e-rdb-leds.patch	2cc4266da3bf010bf63de74fc5b9e2e9b195ba4a
@@ -0,0 +1,207 @@
+Index: linux-2.6.24.3/drivers/leds/Kconfig
+===================================================================
+--- linux-2.6.24.3.orig/drivers/leds/Kconfig	2008-02-26 01:20:20.000000000 +0100
++++ linux-2.6.24.3/drivers/leds/Kconfig	2008-02-29 00:43:28.000000000 +0100
+@@ -114,6 +114,12 @@
+ 	help
+ 	  This option enables support for the CM-X270 LEDs.
+ 
++config LEDS_MPC8313E_RDB
++	tristate "LED Support for MPC8313E-RDB LEDs"
++	depends on LEDS_CLASS && PPC_83xx
++	help
++	  This option enables support for the LEDs on MPC8313E-RDB board.
++
+ comment "LED Triggers"
+ 
+ config LEDS_TRIGGERS
+Index: linux-2.6.24.3/drivers/leds/leds-mpc8313e-rdb.c
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.24.3/drivers/leds/leds-mpc8313e-rdb.c	2008-02-29 01:36:07.000000000 +0100
+@@ -0,0 +1,173 @@
++/*
++ * drivers/leds/leds-mpc8313e-rdb.c
++ * Copyright (C) 2007-2008 Jeremy Laine <jeremy.laine at bolloretelecom.eu>
++ * Copyright (C) 2007-2008 Leon Woestenberg <leon at sidebranch.com>
++ *
++ * This file is subject to the terms and conditions of the GNU General Public
++ * License.  See the file COPYING in the main directory of this archive for
++ * more details.
++ *
++ * MPC8313E-RDB LEDs driver
++ *
++ */
++
++#include <linux/module.h>
++#include <linux/platform_device.h>
++#include <linux/ioport.h>
++#include <linux/leds.h>
++#include <linux/err.h>
++#include <asm/io.h>
++
++/* note the board is not wired for read access from the LED buffer */
++#define LEDS_BASE 0xfa000000
++#define LEDS_SIZE 0x2
++
++static struct platform_device *leds_pdev = NULL;
++static struct resource *led_mem = NULL;
++static void *led_io = NULL;
++static u8 led_state = 0xff;
++
++struct mpc8313_led {
++	struct led_classdev cdev;
++	u8 bitmask;
++};
++
++static void mpc8313leds_set(struct led_classdev *led_cdev, enum led_brightness value)
++{
++	struct mpc8313_led *led_dev = container_of(led_cdev, struct mpc8313_led, cdev);
++	if (value)
++		led_state &= ~led_dev->bitmask;
++	else
++		led_state |= led_dev->bitmask;
++	iowrite8(led_state, led_io);
++}
++
++/* led0 is red, led1 is yellow, led2-7 are green */
++static struct mpc8313_led mpc8313_leds[] = {
++	{
++		.cdev = {
++			.name		= "mpc8313:led0",
++			.brightness_set	= mpc8313leds_set,
++		},
++		.bitmask	= 128,
++	},
++	{
++		.cdev = {
++			.name		= "mpc8313:led1",
++			.brightness_set	= mpc8313leds_set,
++		},
++		.bitmask	= 64,
++	},
++	{
++		.cdev = {
++			.name		= "mpc8313:led2",
++			.brightness_set	= mpc8313leds_set,
++		},
++		.bitmask	= 32,
++	},
++	{
++		.cdev = {
++			.name		= "mpc8313:led3",
++			.brightness_set	= mpc8313leds_set,
++		},
++		.bitmask	= 16,
++	},
++	{
++		.cdev = {
++			.name		= "mpc8313:led4",
++			.brightness_set	= mpc8313leds_set,
++		},
++		.bitmask	= 8,
++	},
++	{
++		.cdev = {
++			.name		= "mpc8313:led5",
++			.brightness_set	= mpc8313leds_set,
++		},
++		.bitmask	= 4,
++	},
++	{
++		.cdev = {
++			.name		= "mpc8313:led6",
++			.brightness_set	= mpc8313leds_set,
++		},
++		.bitmask	= 2,
++	},
++	{
++		.cdev = {
++			.name		= "mpc8313:led7",
++			.brightness_set	= mpc8313leds_set,
++		},
++		.bitmask	= 1,
++	},
++};
++
++static int mpc8313leds_probe(struct platform_device *pdev)
++{
++	int i;
++	int ret;
++       
++	for (i = ret = 0; ret >= 0 && i < ARRAY_SIZE(mpc8313_leds); i++) {
++		ret = led_classdev_register(&pdev->dev,
++			&mpc8313_leds[i].cdev);
++	}
++
++	if (ret < 0 && i > 1) {
++		for (i = i - 2; i >= 0; i--)
++			led_classdev_unregister(&mpc8313_leds[i].cdev);
++	}
++	
++	return ret;
++}
++
++static int mpc8313leds_remove(struct platform_device *pdev)
++{
++	int i;
++
++	for (i = ARRAY_SIZE(mpc8313_leds) - 1; i >= 0; i--)
++		led_classdev_unregister(&mpc8313_leds[i].cdev);
++	
++	return 0;
++}
++
++static struct platform_driver mpc8313leds_driver = {
++	.driver         = {
++		.name   = "mpc8313-leds",
++		.owner  = THIS_MODULE,
++	},
++	.probe          = mpc8313leds_probe,
++	.remove         = mpc8313leds_remove,
++};
++
++static int __init mpc8313leds_init(void)
++{
++	if (!(led_mem = request_mem_region(LEDS_BASE, LEDS_SIZE, "mpc8313-leds")))
++		return -ENOMEM;
++	if (!(led_io = ioremap(LEDS_BASE, LEDS_SIZE)))
++	{
++		release_mem_region(LEDS_BASE, LEDS_SIZE);
++		led_mem = NULL;
++		return -ENOMEM;
++	}
++	iowrite8(led_state, led_io);
++
++	leds_pdev = platform_device_register_simple("mpc8313-leds", -1, NULL, 0);
++
++	return platform_driver_register(&mpc8313leds_driver);
++}
++
++static void __exit mpc8313leds_exit(void)
++{
++	if (led_mem) release_mem_region(LEDS_BASE, LEDS_SIZE);
++	led_mem = NULL;
++	platform_driver_unregister(&mpc8313leds_driver);
++
++	platform_device_unregister(leds_pdev);
++}
++
++module_init(mpc8313leds_init);
++module_exit(mpc8313leds_exit);
++
++MODULE_AUTHOR("Jeremy Laine <jeremy.laine at bolloretelecom.eu>");
++MODULE_DESCRIPTION("MPC8313E-RDB LED driver");
++MODULE_LICENSE("GPL");
+Index: linux-2.6.24.3/drivers/leds/Makefile
+===================================================================
+--- linux-2.6.24.3.orig/drivers/leds/Makefile	2008-02-26 01:20:20.000000000 +0100
++++ linux-2.6.24.3/drivers/leds/Makefile	2008-02-29 00:43:28.000000000 +0100
+@@ -19,6 +19,7 @@
+ obj-$(CONFIG_LEDS_COBALT_RAQ)		+= leds-cobalt-raq.o
+ obj-$(CONFIG_LEDS_GPIO)			+= leds-gpio.o
+ obj-$(CONFIG_LEDS_CM_X270)              += leds-cm-x270.o
++obj-$(CONFIG_LEDS_MPC8313E_RDB)		+= leds-mpc8313e-rdb.o
+ 
+ # LED Triggers
+ obj-$(CONFIG_LEDS_TRIGGER_TIMER)	+= ledtrig-timer.o
============================================================
--- packages/linux/linux-rt-2.6.24/sysctl_missing_include.patch	564b0841b246892cb814b7e5c100787eb152fa4d
+++ packages/linux/linux-rt-2.6.24/sysctl_missing_include.patch	564b0841b246892cb814b7e5c100787eb152fa4d
@@ -0,0 +1,12 @@
+Index: linux-2.6.24.3/kernel/sysctl.c
+===================================================================
+--- linux-2.6.24.3.orig/kernel/sysctl.c	2008-02-29 00:52:45.000000000 +0100
++++ linux-2.6.24.3/kernel/sysctl.c	2008-02-29 00:52:59.000000000 +0100
+@@ -47,6 +47,7 @@
+ #include <linux/acpi.h>
+ #include <linux/reboot.h>
+ #include <linux/ftrace.h>
++#include <linux/profile.h>
+ 
+ #include <asm/uaccess.h>
+ #include <asm/processor.h>
============================================================
--- packages/linux/linux-rt-2.6.24/mpc8313e-rdb/defconfig	df975876d7fb1fb5becbbaa088d6182ad5d18091
+++ packages/linux/linux-rt-2.6.24/mpc8313e-rdb/defconfig	c20dde87e637984705b242283cff68d2e21b1512
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.24-rt1
-# Fri Feb 15 20:51:04 2008
+# Linux kernel version: 2.6.24.3-rt3
+# Fri Feb 29 00:48:47 2008
 #
 # CONFIG_PPC64 is not set
 
@@ -73,8 +73,6 @@ CONFIG_LOG_BUF_SHIFT=14
 CONFIG_LOG_BUF_SHIFT=14
 # CONFIG_CGROUPS is not set
 # CONFIG_FAIR_GROUP_SCHED is not set
-# CONFIG_FAIR_USER_SCHED is not set
-# CONFIG_FAIR_CGROUP_SCHED is not set
 # CONFIG_SYSFS_DEPRECATED is not set
 # CONFIG_RELAY is not set
 CONFIG_BLK_DEV_INITRD=y
@@ -594,9 +592,6 @@ CONFIG_MTD_GEN_PROBE=y
 # CONFIG_MTD_JEDECPROBE is not set
 CONFIG_MTD_GEN_PROBE=y
 # CONFIG_MTD_CFI_ADV_OPTIONS is not set
-# CONFIG_MTD_CFI_NOSWAP is not set
-# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
-# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
 CONFIG_MTD_MAP_BANK_WIDTH_1=y
 CONFIG_MTD_MAP_BANK_WIDTH_2=y
 CONFIG_MTD_MAP_BANK_WIDTH_4=y
@@ -1349,11 +1344,12 @@ CONFIG_NEW_LEDS=y
 # CONFIG_MMC_TIFM_SD is not set
 # CONFIG_MMC_SPI is not set
 CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_CLASS=m
 
 #
 # LED drivers
 #
+CONFIG_LEDS_MPC8313E_RDB=m
 
 #
 # LED Triggers
@@ -1645,11 +1641,6 @@ CONFIG_TIMER_STATS=y
 # CONFIG_DEBUG_SPINLOCK is not set
 # CONFIG_DEBUG_SPINLOCK_SLEEP is not set
 # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-# CONFIG_EVENT_TRACE is not set
-# CONFIG_FUNCTION_TRACE is not set
-# CONFIG_WAKEUP_TIMING is not set
-# CONFIG_CRITICAL_PREEMPT_TIMING is not set
-# CONFIG_CRITICAL_IRQSOFF_TIMING is not set
 # CONFIG_DEBUG_KOBJECT is not set
 CONFIG_DEBUG_BUGVERBOSE=y
 # CONFIG_DEBUG_INFO is not set
@@ -1660,7 +1651,12 @@ CONFIG_DEBUG_BUGVERBOSE=y
 # CONFIG_BOOT_PRINTK_DELAY is not set
 # CONFIG_RCU_TORTURE_TEST is not set
 # CONFIG_FAULT_INJECTION is not set
-CONFIG_HAVE_MCOUNT=y
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_PREEMPT_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_EVENT_TRACER is not set
+# CONFIG_CONTEXT_SWITCH_TRACER is not set
+# CONFIG_PREEMPT_TRACE is not set
 # CONFIG_SAMPLES is not set
 CONFIG_TRACE_IRQFLAGS_SUPPORT=y
 # CONFIG_DEBUG_STACKOVERFLOW is not set
============================================================
--- packages/linux/linux-rt_2.6.24.bb	982f2f7f32de0753b206b0308ebd2667d8a6e5d4
+++ packages/linux/linux-rt_2.6.24.bb	f3cbc9b9bcdc504fa80a491cd5743b5ed799891f
@@ -6,18 +6,19 @@ DEPENDS_append_mpc8313e-rdb = " dtc-nati
 
 DEPENDS_append_mpc8313e-rdb = " dtc-native"
 
-PR = "r2"
+PR = "r3"
 
-SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.24.tar.bz2 \
-           ${KERNELORG_MIRROR}/pub/linux/kernel/projects/rt/patch-2.6.24-rt1.bz2;patch=1 \
+SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.24.3.tar.bz2 \
+           ${KERNELORG_MIRROR}/pub/linux/kernel/projects/rt/patch-2.6.24.3-rt3.bz2;patch=1;p=1 \
            http://kamikaze.waninkoko.info/patches/2.6.24/kamikaze1/broken-out/squashfs-lzma-2.6.24.patch;patch=1 \
+           file://sysctl_missing_include.patch;patch=1 \
            file://powerpc-clockres.patch;patch=1 \
            file://defconfig"
 
-S = "${WORKDIR}/linux-2.6.24"
+S = "${WORKDIR}/linux-2.6.24.3"
 
-#SRC_URI_append_mpc8313e-rdb = "\
-#	file://mpc8313e-rdb-leds.patch;patch=1"
+SRC_URI_append_mpc8313e-rdb = "\
+	file://mpc8313e-rdb-leds.patch;patch=1"
 #	file://mpc831x-nand.patch;patch=1 \
 #	file://mpc8313e-rdb-rtc.patch;patch=1 "
 






More information about the Openembedded-commits mailing list