diff options
author | John Bowler <jbowler@nslu2-linux.org> | 2006-01-11 22:00:55 +0000 |
---|---|---|
committer | OpenEmbedded Project <openembedded-devel@lists.openembedded.org> | 2006-01-11 22:00:55 +0000 |
commit | 6f7bd413184fad59110c5252d0dc3fc059fe7c02 (patch) | |
tree | df787b185e2843cd9d8e7c0789935c18b4f69320 | |
parent | 36750351a1f8d5c700c4542ea5a095ec929fa6b2 (diff) |
ixp4xx-kernel: update to latest patch set, add NSLU2 support in 2.6.15
13 files changed, 361 insertions, 89 deletions
diff --git a/packages/linux/ixp4xx-kernel.inc b/packages/linux/ixp4xx-kernel.inc index 54679ebfdf..bae5e96bd1 100644 --- a/packages/linux/ixp4xx-kernel.inc +++ b/packages/linux/ixp4xx-kernel.inc @@ -7,15 +7,22 @@ # Define the following *before* including this file as # required: # -# IXP4XX_PATCHES - full list of patches to apply -# +# IXP4XX_PATCHES - full list of patches to apply, to add files +# generate a patch against /dev/null # IXP4XX_SUFFIX - the suffix to add after 'zImage-' in the -# deploy/images directory - defaults to "ixp4xx" +# deploy/images directory, should identify the image config # -# -------------------------------------------------------------- +# DEFAULT_PREFERENCE is set automagically in this file as +# follows: +# +# 10 For *released* kernels +# 8 For mm or ac patched versions of released kernels +# 6 For rc patched kernels (release candidates) +# 4 For mm or ac patched rc (release candidate) kernels +# 2 For pre or bk versions +# 0 For mm or ac patched pre or bk versions # -# Within this file bitbake variables local to the file are -# named N1K_FOO +# -------------------------------------------------------------- # SECTION = "kernel" DESCRIPTION = "Linux kernel for the Intel IXP4xx device" @@ -130,17 +137,20 @@ python () { # FILESPATH: this list is in order last-searched-first, therefore # the first entry is the *latest* and/or most specific -FILESPATH = "${IXP4XX_FILESPATH}:${FILE_DIRNAME}/ixp4xx-kernel/" +FILESPATH = "${FILE_DIRNAME}/${P}:${IXP4XX_FILESPATH}" # The working directory will be the 'base' version (which may not be the # same as implied by the PV variable because it corresponds to the prior # minor version for rc and pre patched versions). S = "${WORKDIR}/linux-${IXP4XX_SRCVER}" -# IXP4XX_PATCHES is a list of additional patches to apply +# IXP4XX_PATCHES is the list of patches. IXP4XX_PATCHES ?= "" -IXP4XX_SUFFIX ?= "ixp4xx" +# Image suffix - actually set in conf/machine/ixp4xx.conf as it is also +# used by anything which needs to know the name of the generated image. +# Should be overridden in the distro if patches or defconfig are changed. +IXP4XX_SUFFIX ?= "ixp4xx${ARCH_BYTE_SEX}" SRC_URI = "${IXP4XX_SRCURI}" SRC_URI += "${IXP4XX_PATCHES}" @@ -152,13 +162,29 @@ inherit kernel ARCH = "arm" KERNEL_IMAGETYPE = "zImage" + # To specify the console set KERNEL_CONSOLE in the .bb file. # CMDLINE_ROOT contains the boot options, CMDLINE_KERNEL_OPTIONS # contains the things for a specific kernel. -# CMDLINE_KERNEL_OPTIONS ?= "reboot=s" -CMDLINE_KERNEL_OPTIONS ?= -CMDLINE_ROOT = "root=/dev/mtdblock2 rw rootfstype=jffs2 mem=64M@0x00000000 init=/linuxrc" -CMDLINE_DEBUG = +# +# These are set from MACHINE specific defaults below, but an override +# in local.conf will still take precedence. +# +# CMDLINE_KERNEL_OPTIONS: overridable in local.conf +MACH_KERNEL_OPTIONS = "x1205.hctosys=1 x1205.probe=0,0x6f pcf8563.hctosys=1" +MACH_KERNEL_OPTIONS_nas100d = "pcf8563.hctosys=1" +MACH_KERNEL_OPTIONS_nslu2 = "rtc-x1205.hctosys=1 rtc-x1205.probe=0,0x6f" +CMDLINE_KERNEL_OPTIONS ?= "${MACH_KERNEL_OPTIONS}" + +# CMDLINE_ROOT: machine specific, do not override +CMDLINE_ROOT = "init=/linuxrc" +CMDLINE_ROOT_loft = "root=/dev/mtdblock2 rw rootfstype=jffs2 mem=64M@0x00000000 init=/linuxrc" +CMDLINE_ROOT_nas100d = "root=/dev/mtdblock2 rw rootfstype=jffs2 mem=64M@0x00000000 init=/linuxrc" +CMDLINE_ROOT_nslu2 = "root=/dev/mtdblock4 rw rootfstype=jffs2 mem=32M@0x00000000 init=/linuxrc" + +# CMDLINE_DEBUG: debug options such as noirqdebug, defaults to empty +# override in local.conf etc +CMDLINE_DEBUG ?= "" CMDLINE = "${CMDLINE_ROOT} ${CMDLINE_KERNEL_OPTIONS} ${CMDLINE_DEBUG} ${CMDLINE_CONSOLE}" # Add the architecture compiler flags to KERNEL_CC and KERNEL_LD as @@ -177,6 +203,9 @@ EXTRA_OEMAKE += "MAKEFLAGS='--no-print-directory'" # Override KERNEL_RELEASE from kernel.bbclass to match: KERNEL_RELEASE = "${KERNEL_VERSION}" +# Set the correct CONFIG_CPU_xxx_ENDIAN and CONFIG_CMDLINE at the head +# of the .config file and remove any settings in defconfig then append +# defconfig to .config do_configure_prepend() { rm -f ${S}/.config echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >>'${S}/.config' @@ -189,10 +218,56 @@ do_configure_prepend() { ${S}/include/asm-arm/.proc ${S}/include/asm-arm/.arch } +# This function adds the required prefix to the image to deal with two +# problems on NSLU2. +# +# 1) The machine type set by RedBoot is wrong - the type for an ixdp425, not an IXP4XX +# e3a01c02 e3811055 +# 2) For LE kernels it is necessary to prefix change-to-le code to the kernel image: +# ee110f10 e3c00080 ee010f10 +# and to byte swap the (LE) image to match the BE flash layout +# +# The argument to the function is the destination directory +redboot_fixup_armeb() { + rm -f "$1".new + devio '<<arch/${ARCH}/boot/${KERNEL_IMAGETYPE}' >"$1".new \ + 'wb 0xe3a01c02,4' \ + 'wb 0xe3811055,4' \ + 'cp$' + mv "$1".new "$1" +} + +redboot_fixup_arm() { + rm -f "$1".new + devio '<<arch/${ARCH}/boot/${KERNEL_IMAGETYPE}' >"$1".new \ + 'wb 0xe3a01c02,4' \ + 'wb 0xe3811055,4' \ + 'wb 0xee110f10,4' \ + 'wb 0xe3c00080,4' \ + 'wb 0xee010f10,4' \ + 'xp $,4' || { + echo 'ERROR: arch/${ARCH}/boot/${KERNEL_IMAGETYPE}: failed to byteswap zImage' >&2 + return 1 + } + mv "$1".new "$1" +} + +do_install_append_nslu2() { + redboot_fixup '${STAGING_KERNEL_DIR}/${KERNEL_IMAGETYPE}' +} + +deploy_image_nslu2() { + redboot_fixup '${DEPLOY_DIR}/images/${KERNEL_IMAGETYPE}-${IXP4XX_SUFFIX}' +} + +deploy_image() { + install -m 644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR}/images/${KERNEL_IMAGETYPE}-${IXP4XX_SUFFIX} +} + do_deploy[dirs] = "${S}" do_deploy() { install -d ${DEPLOY_DIR}/images - install -m 644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR}/images/${KERNEL_IMAGETYPE}-${IXP4XX_SUFFIX} + deploy_image } addtask deploy before do_build after do_compile diff --git a/packages/linux/ixp4xx-kernel/2.6.15/10-mtdpart-redboot-fis-byteswap.patch b/packages/linux/ixp4xx-kernel/2.6.15/10-mtdpart-redboot-fis-byteswap.patch index 077aa00816..3fa0535abf 100644 --- a/packages/linux/ixp4xx-kernel/2.6.15/10-mtdpart-redboot-fis-byteswap.patch +++ b/packages/linux/ixp4xx-kernel/2.6.15/10-mtdpart-redboot-fis-byteswap.patch @@ -32,13 +32,6 @@ retrieving revision 1.19 diff -u -p -r1.18 -r1.19 --- linux-2.6.15/drivers/mtd/redboot.c 1970-01-01 00:00:00.000000000 +0000 +++ linux-2.6.15/drivers/mtd/redboot.c 1970-01-01 00:00:00.000000000 +0000 -@@ -1,5 +1,5 @@ - /* -- * $Id: redboot.c,v 1.18 2005/11/07 11:14:21 gleixner Exp $ -+ * $Id: redboot.c,v 1.19 2005/12/01 10:03:51 dwmw2 Exp $ - * - * Parse RedBoot-style Flash Image System (FIS) tables and - * produce a Linux partition array to match. @@ -89,8 +89,32 @@ static int parse_redboot_partitions(stru i = numslots; break; diff --git a/packages/linux/ixp4xx-kernel/2.6.15/40-rtc-class.patch b/packages/linux/ixp4xx-kernel/2.6.15/40-rtc-class.patch index feea3f2f8b..8e0380bfe5 100644 --- a/packages/linux/ixp4xx-kernel/2.6.15/40-rtc-class.patch +++ b/packages/linux/ixp4xx-kernel/2.6.15/40-rtc-class.patch @@ -653,7 +653,7 @@ +EXPORT_SYMBOL(rtc_tm_to_time); --- linux-nslu2.orig/arch/arm/Kconfig 2006-01-04 01:27:04.000000000 +0100 +++ linux-nslu2/arch/arm/Kconfig 2006-01-04 01:27:31.000000000 +0100 -@@ -750,6 +750,8 @@ source "drivers/usb/Kconfig" +@@ -748,6 +748,8 @@ source "drivers/usb/Kconfig" source "drivers/mmc/Kconfig" diff --git a/packages/linux/ixp4xx-kernel/2.6.15/55-rtc-pcf8563.patch b/packages/linux/ixp4xx-kernel/2.6.15/55-rtc-pcf8563.patch new file mode 100644 index 0000000000..d154b6ac11 --- /dev/null +++ b/packages/linux/ixp4xx-kernel/2.6.15/55-rtc-pcf8563.patch @@ -0,0 +1,174 @@ + drivers/char/Kconfig | 8 ++ + drivers/char/Makefile | 1 + drivers/char/pcf8563-rtc.c | 135 +++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 143 insertions(+), 1 deletion(-) + +--- linux-nas100d.orig/drivers/char/Kconfig 2005-11-16 22:29:03.000000000 +0100 ++++ linux-nas100d/drivers/char/Kconfig 2005-11-30 23:04:56.000000000 +0100 +@@ -783,6 +783,13 @@ config RTC_VR41XX + tristate "NEC VR4100 series Real Time Clock Support" + depends on CPU_VR41XX + ++config RTC_PCF8563 ++ tristate "PCF8563 I2C RTC Support" ++ depends on I2C && RTC_PCF8563_I2C ++ help ++ This driver enables the kernel to use the PCF8563 ++ I2C real time clock as the system clock. ++ + config COBALT_LCD + bool "Support for Cobalt LCD" + depends on MIPS_COBALT +@@ -1014,4 +1021,3 @@ config TELCLOCK + files for controlling the behavior of this hardware. + + endmenu +- +--- linux-nas100d.orig/drivers/char/Makefile 2005-11-16 22:29:03.000000000 +0100 ++++ linux-nas100d/drivers/char/Makefile 2005-11-30 23:01:35.000000000 +0100 +@@ -65,6 +65,7 @@ obj-$(CONFIG_SGI_IP27_RTC) += ip27-rtc.o + obj-$(CONFIG_DS1302) += ds1302.o + obj-$(CONFIG_S3C2410_RTC) += s3c2410-rtc.o + obj-$(CONFIG_RTC_VR41XX) += vr41xx_rtc.o ++obj-$(CONFIG_RTC_PCF8563) += pcf8563-rtc.o + ifeq ($(CONFIG_GENERIC_NVRAM),y) + obj-$(CONFIG_NVRAM) += generic_nvram.o + else +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-nas100d/drivers/char/pcf8563-rtc.c 2005-11-30 23:06:53.000000000 +0100 +@@ -0,0 +1,135 @@ ++/* ++ * drivers/char/pcf8563-rtc.c ++ * ++ * PCF8563 RTC platform driver ++ * ++ * Copyright (C) 2005 Tower Technologies ++ * ++ * Author: Alessandro Zummo <a.zummo@towertech.it> ++ * Maintainers: http://www.nslu2-linux.org/ ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ * ++ */ ++ ++#include <linux/module.h> ++#include <linux/device.h> ++#include <linux/time.h> ++#include <linux/rtc.h> ++#include <linux/init.h> ++#include <linux/platform_device.h> ++ ++#include <linux/i2c.h> ++#include <linux/pcf8563.h> ++ ++#include <asm/rtc.h> ++ ++#define DRV_VERSION "0.9" ++ ++extern int (*set_rtc)(void); ++ ++static int pcf8563_set_rtc(void) ++{ ++ int err; ++ ++ struct rtc_time new_tm, old_tm; ++ unsigned long cur_secs = xtime.tv_sec; ++ ++ if ((err = pcf8563_do_command(PCF8563_CMD_GETDATETIME, &old_tm) == 0)) ++ return err; ++ ++ /* FIXME xtime.tv_nsec = old_tm.tm_sec * 10000000; */ ++ new_tm.tm_sec = cur_secs % 60; ++ cur_secs /= 60; ++ new_tm.tm_min = cur_secs % 60; ++ cur_secs /= 60; ++ new_tm.tm_hour = cur_secs % 24; ++ ++ /* ++ * avoid writing when we're going to change the day ++ * of the month. We will retry in the next minute. ++ * This basically means that if the RTC must not drift ++ * by more than 1 minute in 11 minutes. ++ */ ++ if ((old_tm.tm_hour == 23 && old_tm.tm_min == 59) || ++ (new_tm.tm_hour == 23 && new_tm.tm_min == 59)) ++ return 1; ++ ++ return pcf8563_do_command(PCF8563_CMD_SETTIME, &new_tm); ++} ++ ++static int pcf8563_rtc_read_time(struct rtc_time *tm) ++{ ++ return pcf8563_do_command(PCF8563_CMD_GETDATETIME, tm); ++} ++ ++static int pcf8563_rtc_set_time(struct rtc_time *tm) ++{ ++ return pcf8563_do_command(PCF8563_CMD_SETDATETIME, tm); ++} ++ ++static int pcf8563_rtc_proc(char *buf) ++{ ++ char *p = buf; ++ ++ p += sprintf(p, "24hr\t\t: yes\n"); ++ ++ return p - buf; ++} ++ ++static struct rtc_ops pcf8563_rtc_ops = { ++ .owner = THIS_MODULE, ++ .proc = pcf8563_rtc_proc, ++ .read_time = pcf8563_rtc_read_time, ++ .set_time = pcf8563_rtc_set_time, ++}; ++ ++static int pcf8563_rtc_probe(struct device *dev) ++{ ++ int ret; ++ ++ if ((ret = register_rtc(&pcf8563_rtc_ops)) != 0) ++ return ret; ++ ++ set_rtc = pcf8563_set_rtc; ++ ++ printk(KERN_INFO "pcf8563-rtc: real time clock\n"); ++ ++ return 0; ++} ++ ++static int pcf8563_rtc_remove(struct device *dev) ++{ ++ set_rtc = NULL; ++ ++ unregister_rtc(&pcf8563_rtc_ops); ++ ++ return 0; ++} ++ ++static struct device_driver pcf8563_rtc_driver = { ++ .name = "pcf8563-rtc", ++ .bus = &platform_bus_type, ++ .probe = pcf8563_rtc_probe, ++ .remove = pcf8563_rtc_remove, ++}; ++ ++static int __init pcf8563_rtc_init(void) ++{ ++ return driver_register(&pcf8563_rtc_driver); ++} ++ ++static void __exit pcf8563_rtc_exit(void) ++{ ++ driver_unregister(&pcf8563_rtc_driver); ++} ++ ++module_init(pcf8563_rtc_init); ++module_exit(pcf8563_rtc_exit); ++ ++MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>"); ++MODULE_DESCRIPTION("Xicor PCF8563 RTC platform driver"); ++MODULE_LICENSE("GPL"); ++MODULE_VERSION(DRV_VERSION); diff --git a/packages/linux/ixp4xx-kernel/2.6.15/60-nas100d-rtc.patch b/packages/linux/ixp4xx-kernel/2.6.15/60-nas100d-rtc.patch new file mode 100644 index 0000000000..18ee72c497 --- /dev/null +++ b/packages/linux/ixp4xx-kernel/2.6.15/60-nas100d-rtc.patch @@ -0,0 +1,21 @@ + arch/arm/mach-ixp4xx/nas100d-setup.c | 5 +++++ + 1 file changed, 5 insertions(+) + +--- linux-nas100d.orig/arch/arm/mach-ixp4xx/nas100d-setup.c 2005-11-21 22:01:22.000000000 +0100 ++++ linux-nas100d/arch/arm/mach-ixp4xx/nas100d-setup.c 2005-11-30 23:04:07.000000000 +0100 +@@ -94,10 +94,15 @@ static struct platform_device nas100d_ua + .resource = nas100d_uart_resources, + }; + ++static struct platform_device nas100d_rtc = { ++ .name = "pcf8563-rtc", ++}; ++ + static struct platform_device *nas100d_devices[] __initdata = { + &nas100d_i2c_controller, + &nas100d_flash, + &nas100d_uart, ++ &nas100d_rtc, + }; + + static void nas100d_power_off(void) diff --git a/packages/linux/ixp4xx-kernel/2.6.15/60-nslu2-beeper.patch b/packages/linux/ixp4xx-kernel/2.6.15/60-nslu2-beeper.patch index 12fdc4d96e..6cd1025d38 100644 --- a/packages/linux/ixp4xx-kernel/2.6.15/60-nslu2-beeper.patch +++ b/packages/linux/ixp4xx-kernel/2.6.15/60-nslu2-beeper.patch @@ -5,7 +5,7 @@ --- linux-2.6.15/drivers/input/misc/Kconfig 1970-01-01 00:00:00.000000000 +0000 +++ linux-2.6.15/drivers/input/misc/Kconfig 1970-01-01 00:00:00.000000000 +0000 -@@ -40,6 +40,18 @@ config INPUT_M68K_BEEP +@@ -50,6 +50,18 @@ config INPUT_M68K_BEEP tristate "M68k Beeper support" depends on M68K @@ -26,7 +26,7 @@ help --- linux-2.6.15/drivers/input/misc/Makefile 1970-01-01 00:00:00.000000000 +0000 +++ linux-2.6.15/drivers/input/misc/Makefile 1970-01-01 00:00:00.000000000 +0000 -@@ -10,3 +10,4 @@ obj-$(CONFIG_INPUT_M68K_BEEP) += m68ksp +@@ -11,3 +11,4 @@ obj-$(CONFIG_INPUT_M68K_BEEP) += m68ksp obj-$(CONFIG_INPUT_98SPKR) += 98spkr.o obj-$(CONFIG_INPUT_UINPUT) += uinput.o obj-$(CONFIG_HP_SDC_RTC) += hp_sdc_rtc.o diff --git a/packages/linux/ixp4xx-kernel/2.6.15/75-nslu2-leds.patch b/packages/linux/ixp4xx-kernel/2.6.15/75-nslu2-leds.patch index 7497409e77..b0dc4b8c34 100644 --- a/packages/linux/ixp4xx-kernel/2.6.15/75-nslu2-leds.patch +++ b/packages/linux/ixp4xx-kernel/2.6.15/75-nslu2-leds.patch @@ -36,7 +36,7 @@ If you say Y here, the red LED will be used to give a good real --- linux-2.6.15/arch/arm/mach-ixp4xx/Makefile 1970-01-01 00:00:00.000000000 +0000 +++ linux-2.6.15/arch/arm/mach-ixp4xx/Makefile 1970-01-01 00:00:00.000000000 +0000 -@@ -10,3 +10,7 @@ obj-$(CONFIG_ARCH_ADI_COYOTE) += coyote- +@@ -11,3 +11,7 @@ obj-$(CONFIG_ARCH_ADI_COYOTE) += coyote- obj-$(CONFIG_MACH_GTWX5715) += gtwx5715-pci.o gtwx5715-setup.o obj-$(CONFIG_MACH_NSLU2) += nslu2-pci.o nslu2-setup.o nslu2-power.o diff --git a/packages/linux/ixp4xx-kernel/2.6.15/80-nslu2-io.patch b/packages/linux/ixp4xx-kernel/2.6.15/80-nslu2-io.patch index 26031f6f00..7a5b2d51cb 100644 --- a/packages/linux/ixp4xx-kernel/2.6.15/80-nslu2-io.patch +++ b/packages/linux/ixp4xx-kernel/2.6.15/80-nslu2-io.patch @@ -1,11 +1,12 @@ --- linux-2.6.15/arch/arm/mach-ixp4xx/Makefile 1970-01-01 00:00:00.000000000 +0000 +++ linux-2.6.15/arch/arm/mach-ixp4xx/Makefile 1970-01-01 00:00:00.000000000 +0000 -@@ -8,5 +8,5 @@ obj-$(CONFIG_ARCH_IXDP4XX) += ixdp425-pc +@@ -8,6 +8,6 @@ obj-$(CONFIG_ARCH_IXDP4XX) += ixdp425-pc obj-$(CONFIG_MACH_IXDPG425) += ixdpg425-pci.o coyote-setup.o obj-$(CONFIG_ARCH_ADI_COYOTE) += coyote-pci.o coyote-setup.o obj-$(CONFIG_MACH_GTWX5715) += gtwx5715-pci.o gtwx5715-setup.o -obj-$(CONFIG_MACH_NSLU2) += nslu2-pci.o nslu2-setup.o nslu2-power.o +obj-$(CONFIG_MACH_NSLU2) += nslu2-pci.o nslu2-setup.o nslu2-power.o nslu2-io.o + obj-$(CONFIG_MACH_NAS100D) += nas100d-pci.o nas100d-setup.o nas100d-power.o --- linux-2.6.15/arch/arm/mach-ixp4xx/nslu2-io.c 1970-01-01 00:00:00.000000000 +0000 +++ linux-2.6.15/arch/arm/mach-ixp4xx/nslu2-io.c 1970-01-01 00:00:00.000000000 +0000 diff --git a/packages/linux/ixp4xx-kernel/2.6.15/85-timer.patch b/packages/linux/ixp4xx-kernel/2.6.15/85-timer.patch index 3d4a03f616..e8131447c8 100644 --- a/packages/linux/ixp4xx-kernel/2.6.15/85-timer.patch +++ b/packages/linux/ixp4xx-kernel/2.6.15/85-timer.patch @@ -215,7 +215,7 @@ - --- linux-2.6.15/arch/arm/mach-ixp4xx/nslu2-setup.c 1970-01-01 00:00:00.000000000 +0000 +++ linux-2.6.15/arch/arm/mach-ixp4xx/nslu2-setup.c 1970-01-01 00:00:00.000000000 +0000 -@@ -119,6 +119,11 @@ static void nslu2_power_off(void) +@@ -114,6 +114,11 @@ static void nslu2_power_off(void) static void __init nslu2_init(void) { diff --git a/packages/linux/ixp4xx-kernel/2.6.15/92-nas100d-maclist.patch b/packages/linux/ixp4xx-kernel/2.6.15/92-nas100d-maclist.patch index 3143850b22..20ccbd56a6 100644 --- a/packages/linux/ixp4xx-kernel/2.6.15/92-nas100d-maclist.patch +++ b/packages/linux/ixp4xx-kernel/2.6.15/92-nas100d-maclist.patch @@ -33,7 +33,7 @@ + * When the RedBoot config partition is added the MAC address is read from + * it. + */ -+void flash_add(struct mtd_info *mtd) { ++static void nas100d_flash_add(struct mtd_info *mtd) { + if (strcmp(mtd->name, "RedBoot config") == 0) { + size_t retlen; + u_char mac[6]; @@ -52,12 +52,12 @@ +/* + * Nothing to do on remove at present. + */ -+void flash_remove(struct mtd_info *mtd) { ++static void nas100d_flash_remove(struct mtd_info *mtd) { +} + -+struct mtd_notifier flash_notifier = { -+ .add = flash_add, -+ .remove = flash_remove, ++static struct mtd_notifier nas100d_flash_notifier = { ++ .add = nas100d_flash_add, ++ .remove = nas100d_flash_remove, +}; + static void __init nas100d_init(void) @@ -65,7 +65,7 @@ + /* The flash has an ethernet MAC embedded in it which we need, + * that is all this notifier does. + */ -+ register_mtd_user(&flash_notifier); ++ register_mtd_user(&nas100d_flash_notifier); + ixp4xx_sys_init(); diff --git a/packages/linux/ixp4xx-kernel/2.6.15/92-nslu2-maclist.patch b/packages/linux/ixp4xx-kernel/2.6.15/92-nslu2-maclist.patch index c8b8a9bede..1b7e611690 100644 --- a/packages/linux/ixp4xx-kernel/2.6.15/92-nslu2-maclist.patch +++ b/packages/linux/ixp4xx-kernel/2.6.15/92-nslu2-maclist.patch @@ -36,7 +36,7 @@ + * When the RedBoot partition is added the MAC address is read from + * it. + */ -+void flash_add(struct mtd_info *mtd) { ++static void nslu2_flash_add(struct mtd_info *mtd) { + if (strcmp(mtd->name, "RedBoot") == 0) { + size_t retlen; + u_char mac[6]; @@ -55,12 +55,12 @@ +/* + * Nothing to do on remove at present. + */ -+void flash_remove(struct mtd_info *mtd) { ++static void nslu2_flash_remove(struct mtd_info *mtd) { +} + -+struct mtd_notifier flash_notifier = { -+ .add = flash_add, -+ .remove = flash_remove, ++static struct mtd_notifier nslu2_flash_notifier = { ++ .add = nslu2_flash_add, ++ .remove = nslu2_flash_remove, +}; + static void __init nslu2_init(void) @@ -73,7 +73,7 @@ + /* The flash has an ethernet MAC embedded in it which we need, + * that is all this notifier does. + */ -+ register_mtd_user(&flash_notifier); ++ register_mtd_user(&nslu2_flash_notifier); + ixp4xx_sys_init(); diff --git a/packages/linux/ixp4xx-kernel/2.6.15/defconfig b/packages/linux/ixp4xx-kernel/2.6.15/defconfig index 5e782ba8f3..ff69ccc6f1 100644 --- a/packages/linux/ixp4xx-kernel/2.6.15/defconfig +++ b/packages/linux/ixp4xx-kernel/2.6.15/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: 2.6.15 -# Mon Nov 14 10:44:43 2005 +# Sun Jan 8 02:47:26 2006 # CONFIG_ARM=y CONFIG_MMU=y @@ -32,6 +32,7 @@ CONFIG_HOTPLUG=y CONFIG_KOBJECT_UEVENT=y # CONFIG_IKCONFIG is not set CONFIG_INITRAMFS_SOURCE="" +CONFIG_CC_OPTIMIZE_FOR_SIZE=y CONFIG_EMBEDDED=y # CONFIG_KALLSYMS is not set CONFIG_PRINTK=y @@ -39,7 +40,6 @@ CONFIG_BUG=y # CONFIG_BASE_FULL is not set CONFIG_FUTEX=y CONFIG_EPOLL=y -CONFIG_CC_OPTIMIZE_FOR_SIZE=y CONFIG_SHMEM=y CONFIG_CC_ALIGN_FUNCTIONS=0 CONFIG_CC_ALIGN_LABELS=0 @@ -111,22 +111,20 @@ CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y # # IXP4xx Platforms # -# CONFIG_ARCH_AVILA is not set -CONFIG_ARCH_ADI_COYOTE=y CONFIG_MACH_NSLU2=y -CONFIG_MACH_NAS100D=y -CONFIG_ARCH_IXDP425=y +# CONFIG_ARCH_AVILA is not set +# CONFIG_ARCH_ADI_COYOTE is not set +# CONFIG_ARCH_IXDP425 is not set # CONFIG_MACH_IXDPG425 is not set # CONFIG_MACH_IXDP465 is not set -CONFIG_ARCH_IXCDP1100=y -CONFIG_ARCH_PRPMC1100=y -CONFIG_ARCH_IXDP4XX=y +# CONFIG_ARCH_PRPMC1100 is not set +CONFIG_MACH_NAS100D=y # CONFIG_MACH_GTWX5715 is not set # # IXP4xx Options # -# CONFIG_IXP4XX_INDIRECT_PCI is not set +CONFIG_IXP4XX_INDIRECT_PCI=y # # Processor Type @@ -172,7 +170,6 @@ CONFIG_FLATMEM=y CONFIG_FLAT_NODE_MEM_MAP=y # CONFIG_SPARSEMEM_STATIC is not set CONFIG_SPLIT_PTLOCK_CPUS=4096 -# CONFIG_LEDS is not set CONFIG_ALIGNMENT_TRAP=y # @@ -180,7 +177,7 @@ CONFIG_ALIGNMENT_TRAP=y # CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_BSS=0x0 -CONFIG_CMDLINE="root=/dev/mtdblock4 rw rootfstype=jffs2 mem=32M@0x00000000 init=/linuxrc x1205.hctosys=1 x1205.probe=0,0x6f noirqdebug console=ttyS0,115200n8" +CONFIG_CMDLINE="root=/dev/mtdblock4 rw rootfstype=jffs2 mem=32M@0x00000000 init=/linuxrc rtc-x1205.hctosys=1 rtc-x1205.probe=0,0x6f noirqdebug console=ttyS0,115200n8" # CONFIG_XIP_KERNEL is not set # @@ -333,7 +330,6 @@ CONFIG_IP_NF_TARGET_CLASSIFY=m # # CONFIG_IP6_NF_QUEUE is not set # CONFIG_IP6_NF_IPTABLES is not set -# CONFIG_IP6_NF_TARGET_NFQUEUE is not set # # Bridge: Netfilter Configuration @@ -414,6 +410,11 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_FW_LOADER=m # +# Connector - unified userspace <-> kernelspace linker +# +# CONFIG_CONNECTOR is not set + +# # Memory Technology Devices (MTD) # CONFIG_MTD=y @@ -876,7 +877,7 @@ CONFIG_IXP4XX_WATCHDOG=y # CONFIG_USBPCWATCHDOG is not set # CONFIG_NVRAM is not set # CONFIG_RTC is not set -CONFIG_RTC_X1205=n +CONFIG_RTC_PCF8563=y # CONFIG_DTLK is not set # CONFIG_R3964 is not set # CONFIG_APPLICOM is not set @@ -944,12 +945,12 @@ CONFIG_SENSORS_EEPROM=y # CONFIG_SENSORS_PCF8591 is not set # CONFIG_SENSORS_RTC8564 is not set # CONFIG_SENSORS_MAX6875 is not set -CONFIG_RTC_X1205_I2C=y +# CONFIG_RTC_X1205_I2C is not set +CONFIG_RTC_PCF8563_I2C=y # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set # CONFIG_I2C_DEBUG_BUS is not set # CONFIG_I2C_DEBUG_CHIP is not set -CONFIG_RTC_PCF8563_I2C=y # # Hardware Monitoring support @@ -1027,6 +1028,7 @@ CONFIG_VIDEO_ZORAN_DC30=m CONFIG_VIDEO_ZORAN_LML33=m CONFIG_VIDEO_ZORAN_LML33R10=m CONFIG_VIDEO_SAA7134=m +# CONFIG_VIDEO_SAA7134_ALSA is not set CONFIG_VIDEO_MXB=m CONFIG_VIDEO_DPC=m CONFIG_VIDEO_HEXIUM_ORION=m @@ -1034,6 +1036,8 @@ CONFIG_VIDEO_HEXIUM_GEMINI=m CONFIG_VIDEO_CX88=m # CONFIG_VIDEO_EM28XX is not set CONFIG_VIDEO_OVCAMCHIP=m +# CONFIG_VIDEO_AUDIO_DECODER is not set +# CONFIG_VIDEO_DECODER is not set # # Radio Adapters @@ -1278,6 +1282,7 @@ CONFIG_USB_NET_ZAURUS=m CONFIG_USB_SERIAL=m CONFIG_USB_SERIAL_GENERIC=y # CONFIG_USB_SERIAL_AIRPRIME is not set +# CONFIG_USB_SERIAL_ANYDATA is not set CONFIG_USB_SERIAL_BELKIN=m CONFIG_USB_SERIAL_WHITEHEAT=m CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m @@ -1297,7 +1302,6 @@ CONFIG_USB_SERIAL_KEYSPAN_PDA=m CONFIG_USB_SERIAL_KLSI=m CONFIG_USB_SERIAL_KOBIL_SCT=m CONFIG_USB_SERIAL_MCT_U232=m -# CONFIG_USB_SERIAL_NOKIA_DKU2 is not set CONFIG_USB_SERIAL_PL2303=m # CONFIG_USB_SERIAL_HP4X is not set CONFIG_USB_SERIAL_SAFE=m @@ -1341,6 +1345,25 @@ CONFIG_USB_EZUSB=y # CONFIG_MMC is not set # +# Real Time Clock +# +CONFIG_RTC_CLASS=y + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y + +# +# RTC drivers +# +CONFIG_RTC_DRV_X1205=y +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_TEST is not set + +# # File systems # CONFIG_EXT2_FS=m @@ -1594,13 +1617,3 @@ CONFIG_CRC32=y CONFIG_LIBCRC32C=m CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=y - -CONFIG_RTC_CLASS=y -# RTC interfaces -CONFIG_RTC_INTF_SYSFS=y -CONFIG_RTC_INTF_PROC=y -CONFIG_RTC_INTF_DEV=y -# RTC drivers -CONFIG_RTC_DRV_X1205=y -CONFIG_RTC_DRV_DS1672=n -CONFIG_RTC_DRV_TEST=n diff --git a/packages/linux/ixp4xx-kernel_2.6.15.bb b/packages/linux/ixp4xx-kernel_2.6.15.bb index 5b8451a3e0..7722ef62c8 100644 --- a/packages/linux/ixp4xx-kernel_2.6.15.bb +++ b/packages/linux/ixp4xx-kernel_2.6.15.bb @@ -8,31 +8,26 @@ PR_CONFIG = "0" # Increment the number below (i.e. the digits after PR) when # making changes within this file or for changes to the patches # applied to the kernel. -PR = "r1.${PR_CONFIG}" +PR = "r2.${PR_CONFIG}" include ixp4xx-kernel.inc -# file://60-nas100d-i2c.patch;patch=1 \ -# file://60-nas100d-ide.patch;patch=1 \ -# file://75-nslu2-leds.patch;patch=1 \ -# file://80-nslu2-io.patch;patch=1 \ -# file://92-nslu2-maclist.patch;patch=1 \ - # IXP4XX_PATCHES - full list of patches to apply -IXP4XX_PATCHES = "\ - file://00-memory-h-page-shift.patch;patch=1 \ - file://10-mtdpart-redboot-fis-byteswap.patch;patch=1 \ - file://15-jffs2-endian-config.patch;patch=1 \ - file://40-rtc-class.patch;patch=1 \ - file://50-nas100d-arch.patch;patch=1 \ - file://60-nslu2-beeper.patch;patch=1 \ - file://85-timer.patch;patch=1 \ - file://91-maclist.patch;patch=1 \ - file://92-nas100d-maclist.patch;patch=1 \ -" +IXP4XX_PATCHES = "" -# These options get added to the kernel command line, only put things -# specific to the bootstrap of *this* kernel in here - DISTRO specfic -# config must be in CMDLINE_ROOT (see the full definition of CMDLINE -# in ixp4xx-kernel.inc) -CMDLINE_KERNEL_OPTIONS = "x1205.hctosys=1 x1205.probe=0,0x6f pcf8563.hctosys=1" +IXP4XX_PATCHES += "file://00-memory-h-page-shift.patch;patch=1" +IXP4XX_PATCHES += "file://10-mtdpart-redboot-fis-byteswap.patch;patch=1" +IXP4XX_PATCHES += "file://15-jffs2-endian-config.patch;patch=1" +IXP4XX_PATCHES += "file://40-rtc-class.patch;patch=1" +IXP4XX_PATCHES += "file://50-nas100d-arch.patch;patch=1" +IXP4XX_PATCHES += "file://55-rtc-pcf8563.patch;patch=1" +IXP4XX_PATCHES += "file://60-nas100d-i2c.patch;patch=1" +# IXP4XX_PATCHES += "file://60-nas100d-ide.patch;patch=1" +IXP4XX_PATCHES += "file://60-nas100d-rtc.patch;patch=1" +IXP4XX_PATCHES += "file://60-nslu2-beeper.patch;patch=1" +# IXP4XX_PATCHES += "file://75-nslu2-leds.patch;patch=1" +IXP4XX_PATCHES += "file://80-nslu2-io.patch;patch=1" +IXP4XX_PATCHES += "file://85-timer.patch;patch=1" +IXP4XX_PATCHES += "file://91-maclist.patch;patch=1" +IXP4XX_PATCHES += "file://92-nas100d-maclist.patch;patch=1" +IXP4XX_PATCHES += "file://92-nslu2-maclist.patch;patch=1" |