diff options
author | Paul Sokolovsky <pmiscml@gmail.com> | 2007-02-18 09:15:16 +0000 |
---|---|---|
committer | Paul Sokolovsky <pmiscml@gmail.com> | 2007-02-18 09:15:16 +0000 |
commit | 216d5f022fa56d81d52118945476a6b9acce0132 (patch) | |
tree | f4d5ba584865e9f3823f15a2ee6a3e673c64e573 /packages | |
parent | 17b59827785d3f488a9b72d9c9a6d51ba5c933c4 (diff) | |
parent | 9c9415a87de6a1cf058b99d304b31c78e4f31438 (diff) |
merge of '8cde5e5064761c45e322d841a3b3313245cb264a'
and 'd6f1925c439f5b0608c0189c89b17a335f9fbbb6'
Diffstat (limited to 'packages')
502 files changed, 34853 insertions, 18371 deletions
diff --git a/packages/abiword/abiword-2.5.inc b/packages/abiword/abiword-2.5.inc index cd95777227..3184be72b4 100644 --- a/packages/abiword/abiword-2.5.inc +++ b/packages/abiword/abiword-2.5.inc @@ -1,8 +1,7 @@ DESCRIPTION = "AbiWord is free word processing program similar to Microsoft(r) Word" -SECTION = "gnome/office" HOMEPAGE = "http://www.abiword.org"" +SECTION = "x11/office" LICENSE = "GPLv2" - DEPENDS = "perl-native wv libgsf libgnomeprint libgnomeprintui libglade libfribidi enchant jpeg libpng libxml2" RDEPENDS = "enchant glibc-gconv-ibm850 glibc-gconv-cp1252 \ glibc-gconv-iso8859-15 glibc-gconv-iso8859-1" diff --git a/packages/abiword/abiword-plugins_2.4.5.bb b/packages/abiword/abiword-plugins_2.4.5.bb index d488820620..0715026684 100644 --- a/packages/abiword/abiword-plugins_2.4.5.bb +++ b/packages/abiword/abiword-plugins_2.4.5.bb @@ -1,15 +1,14 @@ -DESCRIPTION ="AbiWord is free word processing program similar to Microsoft(r) Word"" -SECTION = "gnome/office" -HOMEPAGE="http://www.abiword.org"" -LICENSE="GPLv2" - -DEPENDS = "libwpd librsvg goffice poppler" -PR="r1" +DESCRIPTION = "AbiWord is a free word processing program similar to Microsoft(r) Word"" +HOMEPAGE = "http://www.abiword.org"" +SECTION = "x11/office" +LICENSE = "GPLv2" +DEPENDS = "libwpd librsvg goffice poppler" +RDEPENDS='abiword' +PR = "r1" SRC_URI = "http://www.abiword.org/downloads/abiword/${PV}/source/abiword-${PV}.tar.gz \ file://abiword-plugin-pdf-poppler.patch;patch=1;pnum=2" S = "${WORKDIR}/abiword-${PV}/abiword-plugins" -RDEPENDS='abiword' inherit autotools diff --git a/packages/abiword/abiword-plugins_2.4.6.bb b/packages/abiword/abiword-plugins_2.4.6.bb index 28d076aaa4..21ac8ea909 100644 --- a/packages/abiword/abiword-plugins_2.4.6.bb +++ b/packages/abiword/abiword-plugins_2.4.6.bb @@ -1,15 +1,13 @@ -DESCRIPTION ="AbiWord is free word processing program similar to Microsoft(r) Word"" -SECTION = "gnome/office" -HOMEPAGE="http://www.abiword.org"" -LICENSE="GPLv2" - -DEPENDS = "libwpd librsvg goffice poppler" -PR="r0" +DESCRIPTION = "AbiWord is a free word processing program similar to Microsoft(r) Word"" +HOMEPAGE = "http://www.abiword.org"" +SECTION = "x11/office" +LICENSE = "GPLv2" +DEPENDS = "libwpd librsvg goffice poppler" +RDEPENDS = "abiword" SRC_URI = "http://www.abiword.org/downloads/abiword/${PV}/source/abiword-${PV}.tar.gz \ file://abiword-plugin-pdf-poppler.patch;patch=1;pnum=2" S = "${WORKDIR}/abiword-${PV}/abiword-plugins" -RDEPENDS='abiword' inherit autotools diff --git a/packages/abiword/abiword.inc b/packages/abiword/abiword.inc index c8f3243b9c..8569845394 100644 --- a/packages/abiword/abiword.inc +++ b/packages/abiword/abiword.inc @@ -1,8 +1,7 @@ -DESCRIPTION = "AbiWord is free word processing program similar to Microsoft(r) Word" -SECTION = "gnome/office" +DESCRIPTION = "AbiWord is a free word processing program similar to Microsoft(r) Word" HOMEPAGE = "http://www.abiword.org"" +SECTION = "x11/office" LICENSE = "GPLv2" - DEPENDS = "perl-native libgsf libgnomeprint libgnomeprintui libglade libfribidi enchant jpeg libpng libxml2" RDEPENDS = "enchant glibc-gconv-ibm850 glibc-gconv-cp1252 \ glibc-gconv-iso8859-15 glibc-gconv-iso8859-1" diff --git a/packages/altboot/altboot_wip.bb b/packages/altboot/altboot_wip.bb index 714a3d1d2b..2de4c812b9 100644 --- a/packages/altboot/altboot_wip.bb +++ b/packages/altboot/altboot_wip.bb @@ -9,7 +9,7 @@ DESCRIPTION = "The altboot bootmanager" MAINTAINER = "Matthias 'CoreDump' Hentges <oe@hentges.net>" HOMEPAGE = "http://www.hentges.net/misc/openzaurus/index.shtml" -LICENSE = "GPL" +LICENSE = "GPL" ###################################################################################### diff --git a/packages/angstrom/angstrom-mokogateway-image.bb b/packages/angstrom/angstrom-mokogateway-image.bb new file mode 100644 index 0000000000..80673f61ec --- /dev/null +++ b/packages/angstrom/angstrom-mokogateway-image.bb @@ -0,0 +1,35 @@ +#Angstrom moko gateway image +# tries to be a companion for openmoko based phones +LICENSE = "MIT" +PR = "r0" + +ANGSTROM_EXTRA_INSTALL ?= "" + +DEPENDS = "task-base" +RDEPENDS = "task-base-core-default \ + task-base \ + bluez-utils \ + blue-probe \ + " +RRECOMMENDS = " \ + kernel-module-bluetooth \ + kernel-module-l2cap \ + kernel-module-rfcomm \ + kernel-module-hci-vhci \ + kernel-module-bnep \ + kernel-module-hidp \ + kernel-module-hci-uart \ + kernel-module-sco \ + ${@base_contains("COMBINED_FEATURES", "usbhost", "kernel-module-hci-usb", "",d)} \ + ${@base_contains("COMBINED_FEATURES", "pcmcia", "kernel-module-bluetooth3c-cs", "",d)} \ + ${@base_contains("COMBINED_FEATURES", "pcmcia", "kernel-module-bluecard-cs", "",d)} \ + ${@base_contains("COMBINED_FEATURES", "pcmcia", "kernel-module-bluetoothuart-cs", "",d)} \ + ${@base_contains("COMBINED_FEATURES", "pcmcia", "kernel-module-dtl1-cs", "",d)} \ + " + +export IMAGE_BASENAME = "mokogateway-image" +export IMAGE_LINGUAS = "" +export PACKAGE_INSTALL = "${RDEPENDS}" + +inherit image + diff --git a/packages/apache2/apache2_2.2.3.bb b/packages/apache2/apache2_2.2.3.bb index aaf5ab4298..df043d0ebf 100644 --- a/packages/apache2/apache2_2.2.3.bb +++ b/packages/apache2/apache2_2.2.3.bb @@ -1,5 +1,5 @@ -SECTION = "net" DESCRIPTION = "The apache v2 web server" +SECTION = "net" DEPENDS = "apache2-native openssl expat pcre" RDEPENDS += "openssl" diff --git a/packages/arm-kernel-shim/arm-kernel-shim_1.2.bb b/packages/arm-kernel-shim/arm-kernel-shim_1.2.bb deleted file mode 100644 index aa7c7cd64c..0000000000 --- a/packages/arm-kernel-shim/arm-kernel-shim_1.2.bb +++ /dev/null @@ -1,52 +0,0 @@ -DESCRIPTION = "ARM Kernel Shim" -SECTION = "" -PRIORITY = "optional" -HOMEPAGE = "http://wiki.buici.com/twiki/bin/view/Main/ApexBootloader" -LICENSE = "GPL" -PR = "r1" - -COMPATIBLE_MACHINE = "(ixp4xx|nslu2)" - -SRC_URI = "ftp://ftp.buici.com/pub/arm/arm-kernel-shim/arm-kernel-shim-${PV}.tar.gz \ - file://place-boot-section.patch;patch=1 \ - file://config-nslu2.h \ - file://config-nas100d.h \ - file://config-dsmg600.h \ - file://config-fsg3.h" - -S = ${WORKDIR}/arm-kernel-shim-${PV} - -EXTRA_OEMAKE_append = " CROSS_COMPILE=${CROSS_DIR}/bin/${HOST_PREFIX}" - -oe_runmake() { - mv ${S}/config.h ${S}/config.h.orig - # NSLU2 - cp ${WORKDIR}/config-nslu2.h ${S}/config.h - rm -f ${S}/main.o - oenote make ${PARALLEL_MAKE} TOOLS=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-nslu2 - make ${PARALLEL_MAKE} TOOLS=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-nslu2 || die "oe_runmake failed" - # NAS100d - cp ${WORKDIR}/config-nas100d.h ${S}/config.h - rm -f ${S}/main.o - oenote make ${PARALLEL_MAKE} TOOLS=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-nas100d - make ${PARALLEL_MAKE} TOOLS=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-nas100d || die "oe_runmake failed" - # DSMG-600 - cp ${WORKDIR}/config-dsmg600.h ${S}/config.h - rm -f ${S}/main.o - oenote make ${PARALLEL_MAKE} TOOLS=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-dsmg600 - make ${PARALLEL_MAKE} TOOLS=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-dsmg600 || die "oe_runmake failed" - # FSG-3 - cp ${WORKDIR}/config-fsg3.h ${S}/config.h - rm -f ${S}/main.o - oenote make ${PARALLEL_MAKE} TOOLS=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-fsg3 - make ${PARALLEL_MAKE} TOOLS=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-fsg3 || die "oe_runmake failed" - mv ${S}/config.h.orig ${S}/config.h -} - -do_populate_staging() { - install -d ${STAGING_LOADER_DIR} - cp ${S}/arm-kernel-shim-nslu2.bin ${STAGING_LOADER_DIR}/ - cp ${S}/arm-kernel-shim-nas100d.bin ${STAGING_LOADER_DIR}/ - cp ${S}/arm-kernel-shim-dsmg600.bin ${STAGING_LOADER_DIR}/ - cp ${S}/arm-kernel-shim-fsg3.bin ${STAGING_LOADER_DIR}/ -} diff --git a/packages/arm-kernel-shim/arm-kernel-shim_1.3.bb b/packages/arm-kernel-shim/arm-kernel-shim_1.3.bb new file mode 100644 index 0000000000..4014d9e866 --- /dev/null +++ b/packages/arm-kernel-shim/arm-kernel-shim_1.3.bb @@ -0,0 +1,77 @@ +DESCRIPTION = "ARM Kernel Shim" +SECTION = "" +PRIORITY = "optional" +HOMEPAGE = "http://wiki.buici.com/twiki/bin/view/Main/ApexBootloader" +LICENSE = "GPL" +PR = "r4" + +COMPATIBLE_MACHINE = "(ixp4xx|nslu2)" + +SRC_URI = "ftp://ftp.buici.com/pub/arm/arm-kernel-shim/arm-kernel-shim-${PV}.tar.gz \ + file://passthrough-atags.patch;patch=1 \ + file://cmdline_if_none.patch;patch=1 \ + file://config-nslu2.h \ + file://config-nas100d.h \ + file://config-dsmg600.h \ + file://config-fsg3.h" + +S = ${WORKDIR}/arm-kernel-shim-${PV}/${PV} + +EXTRA_OEMAKE_append = " CROSS_COMPILE=${CROSS_DIR}/bin/${HOST_PREFIX}" + +oe_runmake() { + mv ${S}/config.h ${S}/config.h.orig + # NSLU2 + if [ ${SITEINFO_ENDIANESS} == "be" ] ; then + sed -e 's|//#define FORCE_BIGENDIAN|#define FORCE_BIGENDIAN|' \ + ${WORKDIR}/config-nslu2.h > ${S}/config.h + else + sed -e 's|//#define FORCE_LITTLEENDIAN|#define FORCE_LITTLEENDIAN|' \ + ${WORKDIR}/config-nslu2.h > ${S}/config.h + fi + rm -f ${S}/main.o + oenote make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-nslu2 + make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-nslu2 || die "oe_runmake failed" + # NAS100d + if [ ${SITEINFO_ENDIANESS} == "be" ] ; then + sed -e 's|//#define FORCE_BIGENDIAN|#define FORCE_BIGENDIAN|' \ + ${WORKDIR}/config-nas100d.h > ${S}/config.h + else + sed -e 's|//#define FORCE_LITTLEENDIAN|#define FORCE_LITTLEENDIAN|' \ + ${WORKDIR}/config-nas100d.h > ${S}/config.h + fi + rm -f ${S}/main.o + oenote make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-nas100d + make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-nas100d || die "oe_runmake failed" + # DSMG-600 + if [ ${SITEINFO_ENDIANESS} == "be" ] ; then + sed -e 's|//#define FORCE_BIGENDIAN|#define FORCE_BIGENDIAN|' \ + ${WORKDIR}/config-dsmg600.h > ${S}/config.h + else + sed -e 's|//#define FORCE_LITTLEENDIAN|#define FORCE_LITTLEENDIAN|' \ + ${WORKDIR}/config-dsmg600.h > ${S}/config.h + fi + rm -f ${S}/main.o + oenote make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-dsmg600 + make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-dsmg600 || die "oe_runmake failed" + # FSG-3 + if [ ${SITEINFO_ENDIANESS} == "be" ] ; then + sed -e 's|//#define FORCE_BIGENDIAN|#define FORCE_BIGENDIAN|' \ + ${WORKDIR}/config-fsg3.h > ${S}/config.h + else + sed -e 's|//#define FORCE_LITTLEENDIAN|#define FORCE_LITTLEENDIAN|' \ + ${WORKDIR}/config-fsg3.h > ${S}/config.h + fi + rm -f ${S}/main.o + oenote make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-fsg3 + make ${PARALLEL_MAKE} CROSS_COMPILE=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-fsg3 || die "oe_runmake failed" + mv ${S}/config.h.orig ${S}/config.h +} + +do_populate_staging() { + install -d ${STAGING_LOADER_DIR} + cp ${S}/arm-kernel-shim-nslu2.bin ${STAGING_LOADER_DIR}/ + cp ${S}/arm-kernel-shim-nas100d.bin ${STAGING_LOADER_DIR}/ + cp ${S}/arm-kernel-shim-dsmg600.bin ${STAGING_LOADER_DIR}/ + cp ${S}/arm-kernel-shim-fsg3.bin ${STAGING_LOADER_DIR}/ +} diff --git a/packages/arm-kernel-shim/files/cmdline_if_none.patch b/packages/arm-kernel-shim/files/cmdline_if_none.patch new file mode 100644 index 0000000000..460f7be090 --- /dev/null +++ b/packages/arm-kernel-shim/files/cmdline_if_none.patch @@ -0,0 +1,45 @@ +--- arm-kernel-shim-1.3/main.c.orig 2007-02-14 19:05:35.000000000 -0600 ++++ arm-kernel-shim-1.3/main.c 2007-02-14 22:48:06.000000000 -0600 +@@ -153,6 +153,42 @@ + p->hdr.tag = ATAG_NONE; + p->hdr.size = 0; + ++#else ++ ++#ifdef CMDLINE_IF_NONE ++ ++ /* Walk over the ATAG list, we need to find the end of the list. ++ * If we find a command line tag, stash away the pointer to the ++ * actual command line itself. Note that the implementation ++ * below assumes a single ATAG_CMDLINE passed in from the ++ * bootloader, which may not be a good assumption in all cases. ++ */ ++ { ++ char *c = 0; ++ for_each_tag(p, (struct tag*) PHYS_PARAMS) ++ if (p->hdr.tag == ATAG_CMDLINE) c = p->u.cmdline.cmdline; ++ ++ /* p -> final tag (ATAG_NONE), and c -> command line if found */ ++ /* if no ATAG_CMDLINE, or command line is empty, add the default one. */ ++ ++ if ((c == 0) || (*c == 0)) { ++ p->hdr.tag = ATAG_CMDLINE; ++ p->hdr.size = tag_size (tag_cmdline) ++ + (sizeof (cmdline)+3)/4 - 1; ++ { ++ const char* sz = cmdline + offset; ++ int i; ++ for (i = 0; i < sizeof (cmdline); ++i) ++ p->u.cmdline.cmdline[i] = sz[i]; ++ } ++ p = tag_next (p); ++ p->hdr.tag = ATAG_NONE; ++ p->hdr.size = 0; ++ } ++ } ++ ++#endif ++ + #endif + + /* Pass control to the kernel */ diff --git a/packages/arm-kernel-shim/files/config-dsmg600.h b/packages/arm-kernel-shim/files/config-dsmg600.h index cd331159e0..3203052d51 100644 --- a/packages/arm-kernel-shim/files/config-dsmg600.h +++ b/packages/arm-kernel-shim/files/config-dsmg600.h @@ -16,15 +16,26 @@ #define PHYS_PARAMS 0x00000100 /* Address for the parameter list */ -#define RAM_BANK0_START 0x00000000 -#define RAM_BANK0_LENGTH 0x04000000 +//#define RAM_BANK0_START 0x00000000 +//#define RAM_BANK0_LENGTH 0x04000000 //#define RAM_BANK1_START 0xd0000000 //#define RAM_BANK1_LENGTH 0x10000000 -//#define COMMANDLINE\ -// "console=ttyAMA0 root=/dev/memblk0 rootfstype=jffs" +#define COMMANDLINE \ + "init=/linuxrc root=/dev/mtdblock2 rootfstype=jffs2 rw noirqdebug console=ttyS0,115200n8" #define MACH_TYPE 964 +/* The DSM-G600 RedBoot sets up the ATAGs correctly */ +#define PASSTHROUGH_ATAGS + +/* but if the command line passed in is empty, use the default above. */ +#define CMDLINE_IF_NONE + +/* Uncomment one of these if you need to switch the CPU into a + specific mode. */ +//#define FORCE_LITTLEENDIAN +//#define FORCE_BIGENDIAN + #endif /* __CONFIG_H__ */ diff --git a/packages/arm-kernel-shim/files/config-fsg3.h b/packages/arm-kernel-shim/files/config-fsg3.h index e2cdf8abd4..08684d708e 100644 --- a/packages/arm-kernel-shim/files/config-fsg3.h +++ b/packages/arm-kernel-shim/files/config-fsg3.h @@ -27,4 +27,9 @@ #define MACH_TYPE 1091 +/* Uncomment one of these if you need to switch the CPU into a + specific mode. */ +//#define FORCE_LITTLEENDIAN +//#define FORCE_BIGENDIAN + #endif /* __CONFIG_H__ */ diff --git a/packages/arm-kernel-shim/files/config-nas100d.h b/packages/arm-kernel-shim/files/config-nas100d.h index 4389644cf0..846161d016 100644 --- a/packages/arm-kernel-shim/files/config-nas100d.h +++ b/packages/arm-kernel-shim/files/config-nas100d.h @@ -23,8 +23,13 @@ //#define RAM_BANK1_LENGTH 0x10000000 #define COMMANDLINE\ - "init=/linuxrc root=/dev/mtdblock2 rootfstype=jffs rw noirqdebug console=ttyS0,115200n8" + "init=/linuxrc root=/dev/mtdblock2 rootfstype=jffs2 rw noirqdebug console=ttyS0,115200n8" #define MACH_TYPE 865 +/* Uncomment one of these if you need to switch the CPU into a + specific mode. */ +//#define FORCE_LITTLEENDIAN +//#define FORCE_BIGENDIAN + #endif /* __CONFIG_H__ */ diff --git a/packages/arm-kernel-shim/files/config-nslu2.h b/packages/arm-kernel-shim/files/config-nslu2.h index 2262b57668..d641523841 100644 --- a/packages/arm-kernel-shim/files/config-nslu2.h +++ b/packages/arm-kernel-shim/files/config-nslu2.h @@ -23,8 +23,13 @@ //#define RAM_BANK1_LENGTH 0x10000000 #define COMMANDLINE\ - "init=/linuxrc root=/dev/mtdblock4 rootfstype=jffs rw noirqdebug console=ttyS0,115200n8" + "init=/linuxrc root=/dev/mtdblock4 rootfstype=jffs2 rw noirqdebug console=ttyS0,115200n8" #define MACH_TYPE 597 +/* Uncomment one of these if you need to switch the CPU into a + specific mode. */ +//#define FORCE_LITTLEENDIAN +//#define FORCE_BIGENDIAN + #endif /* __CONFIG_H__ */ diff --git a/packages/arm-kernel-shim/files/disable-commandline.patch b/packages/arm-kernel-shim/files/disable-commandline.patch deleted file mode 100644 index d8c59f1a6b..0000000000 --- a/packages/arm-kernel-shim/files/disable-commandline.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- arm-kernel-shim/main.c~ 2006-07-21 11:12:07.000000000 +0930 -+++ arm-kernel-shim/main.c 2007-01-28 11:56:35.000000000 +1030 -@@ -47,7 +47,9 @@ - - #define NAKED __attribute__((naked)) - -+#if defined (COMMANDLINE) - const char __attribute__((section(".rodata"))) cmdline[] = COMMANDLINE; -+#endif - - void NAKED __attribute__((section(".boot"))) boot (u32 r0, u32 r1, u32 r2) - { -@@ -82,6 +84,7 @@ - pv += H_SIZE(pv)*4; - #endif - -+#if defined (COMMANDLINE) - /* Command line */ - H_SIZE(pv) = tag_size(tag_cmdline) + (sizeof (cmdline)+1+3)/4; - H_TAG(pv) = ATAG_CMDLINE; -@@ -91,6 +94,7 @@ - P_CMDLINE(pv)->cmdline[i] = cmdline[i]; - } - pv += H_SIZE(pv)*4; -+#endif - - /* End */ - H_SIZE(pv) = 0; diff --git a/packages/arm-kernel-shim/files/passthrough-atags.patch b/packages/arm-kernel-shim/files/passthrough-atags.patch new file mode 100644 index 0000000000..194279df89 --- /dev/null +++ b/packages/arm-kernel-shim/files/passthrough-atags.patch @@ -0,0 +1,20 @@ +--- arm-kernel-shim-1.3/main.c~ 2007-02-11 05:52:32.000000000 +1030 ++++ arm-kernel-shim-1.3/main.c 2007-02-14 16:39:40.000000000 +1030 +@@ -100,6 +100,8 @@ + : "+r" (offset) + :: "lr", "cc"); + ++#if !defined (PASSTHROUGH_ATAGS) ++ + p = (struct tag*) PHYS_PARAMS; + + /* Always start with the CORE tag */ +@@ -151,6 +153,8 @@ + p->hdr.tag = ATAG_NONE; + p->hdr.size = 0; + ++#endif ++ + /* Pass control to the kernel */ + boot (0, MACH_TYPE, PHYS_PARAMS); + } diff --git a/packages/arm-kernel-shim/files/place-boot-section.patch b/packages/arm-kernel-shim/files/place-boot-section.patch deleted file mode 100644 index 6e6c9460a5..0000000000 --- a/packages/arm-kernel-shim/files/place-boot-section.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- arm-kernel-shim-1.2/Makefile~ 2007-02-06 16:44:31.000000000 +1030 -+++ arm-kernel-shim-1.2/Makefile 2007-02-06 16:56:12.000000000 +1030 -@@ -9,7 +9,8 @@ - OBJCOPY=$(TOOLS)objcopy - - CFLAGS:=-g -Os -nostartfiles -nostdlib --LDFLAGS:= -g -X -Map shim.map -Ttext 0 -+# LDFLAGS:= -g -X -Map shim.map -Ttext 0 -+LDFLAGS:= -g -X -Map shim.map -Ttext 0 --section-start .boot=1fb - - SRCS:= shim.lds main.c - OBJS:=$(SRCS:.c=.o) diff --git a/packages/base-files/base-files/angstrom/issue b/packages/base-files/base-files/angstrom/issue index c322134459..302ba10e3d 100644 --- a/packages/base-files/base-files/angstrom/issue +++ b/packages/base-files/base-files/angstrom/issue @@ -1,2 +1,11 @@ +.-------. +| | .-. +| | |-----.-----.-----.| | .----..-----.-----. +| | | __ | ---'| '--.| .-'| | | +| | | | | |--- || --'| | | ' | | | | +'---'---'--'--'--. |-----''----''--' '-----'-'-'-' + -' | + '---' + The Angstrom Distribution \n \l diff --git a/packages/base-files/base-files/angstrom/issue.net b/packages/base-files/base-files/angstrom/issue.net index 554e604a6f..182fc83759 100644 --- a/packages/base-files/base-files/angstrom/issue.net +++ b/packages/base-files/base-files/angstrom/issue.net @@ -1,3 +1,12 @@ +.-------. +| | .-. +| | |-----.-----.-----.| | .----..-----.-----. +| | | __ | ---'| '--.| .-'| | | +| | | | | |--- || --'| | | ' | | | | +'---'---'--'--'--. |-----''----''--' '-----'-'-'-' + -' | + '---' + The Angstrom Distribution %h diff --git a/packages/lighttpd/1.4.13/.mtn2git_empty b/packages/base-files/base-files/armzone-qt2410/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/lighttpd/1.4.13/.mtn2git_empty +++ b/packages/base-files/base-files/armzone-qt2410/.mtn2git_empty diff --git a/packages/base-files/base-files/armzone-qt2410/fstab b/packages/base-files/base-files/armzone-qt2410/fstab new file mode 100644 index 0000000000..d339f800d3 --- /dev/null +++ b/packages/base-files/base-files/armzone-qt2410/fstab @@ -0,0 +1,16 @@ +# Root and Pseudo +/dev/mtdblock4 / jffs2 rw,noatime 1 1 +proc /proc proc defaults 0 0 + +# devpts? +# usb? + +# Temporary +tmpfs /var tmpfs defaults 0 0 +tmpfs /media/ram tmpfs defaults 0 0 + +# SD/MMC +/dev/mmcblk0p1 /media/card auto defaults,sync,noauto 0 0 + +# USB Storage +/dev/sda1 /media/hdd vfat noauto,umask=000,noatime,iocharset=utf8,codepage=932 0 0 diff --git a/packages/lighttpd/conf/.mtn2git_empty b/packages/base-files/base-files/fic-gta01/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/lighttpd/conf/.mtn2git_empty +++ b/packages/base-files/base-files/fic-gta01/.mtn2git_empty diff --git a/packages/base-files/base-files/fic-gta01/fstab b/packages/base-files/base-files/fic-gta01/fstab new file mode 100644 index 0000000000..3837178c9a --- /dev/null +++ b/packages/base-files/base-files/fic-gta01/fstab @@ -0,0 +1,16 @@ +# Root and Pseudo +/dev/mtdblock4 / jffs2 rw,noatime 1 1 +proc /proc proc defaults 0 0 + +# devpts? +# usb? + +# Temporary +tmpfs /var tmpfs defaults 0 0 +tmpfs /media/ram tmpfs defaults 0 0 + +# microSD slot +/dev/mmcblk0p1 /media/card auto defaults,sync,noauto 0 0 + +# USB Storage +/dev/sda1 /media/hdd vfat noauto,umask=000,noatime,iocharset=utf8,codepage=932 0 0 diff --git a/packages/base-files/base-files_3.0.14.bb b/packages/base-files/base-files_3.0.14.bb index c149fd975b..d0b2a320df 100644 --- a/packages/base-files/base-files_3.0.14.bb +++ b/packages/base-files/base-files_3.0.14.bb @@ -1,7 +1,7 @@ DESCRIPTION = "Miscellaneous files for the base system." SECTION = "base" PRIORITY = "required" -PR = "r58" +PR = "r60" LICENSE = "GPL" SRC_URI = " \ diff --git a/packages/beepmp/beepmp_0.9.7.bb b/packages/beepmp/beepmp_0.9.7.bb index e83237a18b..6eb86fa101 100644 --- a/packages/beepmp/beepmp_0.9.7.bb +++ b/packages/beepmp/beepmp_0.9.7.bb @@ -3,7 +3,7 @@ # Released under the MIT license (see packages/COPYING) DESCRIPTION = "A GTK2 based media player that looks alot like XMMS" -SECTION = "x11/multimedia" +SECTION = "x11/multimedia" HOMEPAGE = "http://beepmp.sourceforge.net" LICENSE = "GPL" diff --git a/packages/blueprobe/blueprobe_svn.bb b/packages/blueprobe/blueprobe_svn.bb new file mode 100644 index 0000000000..5ef2dfcf8b --- /dev/null +++ b/packages/blueprobe/blueprobe_svn.bb @@ -0,0 +1,13 @@ +PV = "0.18+svn${SRCDATE}" +PR = "r0" + +inherit pkgconfig gpe autotools + +SRC_URI = "${GPE_SVN} \ + file://blueprobe-svn-Makefile.patch;patch=1" + +S = "${WORKDIR}/${PN}" + +require blueprobe.inc + +DEFAULT_PREFERENCE = "-1" diff --git a/packages/lighttpd/conf/etc/.mtn2git_empty b/packages/blueprobe/files/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/lighttpd/conf/etc/.mtn2git_empty +++ b/packages/blueprobe/files/.mtn2git_empty diff --git a/packages/blueprobe/files/blueprobe-svn-Makefile.patch b/packages/blueprobe/files/blueprobe-svn-Makefile.patch new file mode 100644 index 0000000000..b51b46561d --- /dev/null +++ b/packages/blueprobe/files/blueprobe-svn-Makefile.patch @@ -0,0 +1,250 @@ +diff -Naur blueprobe.orig/Makefile blueprobe/Makefile +--- blueprobe.orig/Makefile 2007-02-10 16:23:12.158675487 +0200 ++++ blueprobe/Makefile 2007-02-10 16:27:53.906731396 +0200 +@@ -1,7 +1,7 @@ + PREFIX = /usr/local + PACKAGE = blueprobe + DEBUG = no +-CVSBUILD = yes ++CVSBUILD = no + VERSION = 0.18 + + MEMBERS = blueprobe +@@ -17,7 +17,7 @@ + ifeq ($(CVSBUILD),yes) + BUILD = ../build + else +-BUILD = build ++BUILD = . + endif + + all: $(PACKAGE) +diff -Naur blueprobe.orig/Makefile.dpkg_ipkg blueprobe/Makefile.dpkg_ipkg +--- blueprobe.orig/Makefile.dpkg_ipkg 1970-01-01 02:00:00.000000000 +0200 ++++ blueprobe/Makefile.dpkg_ipkg 2007-02-10 16:28:13.211831530 +0200 +@@ -0,0 +1,114 @@ ++## Please read the README in this directory to see how to use this ++## Makefile snippet ++ ++# Let's use whatever clean target the specific app provides ++ ++CONTROL = `if test -e familiar/control1; then echo control1; else echo control; fi` ++ ++# URL to source tarball ++SOURCE = http://gpe.linuxtogo.org/download/source/$(PACKAGE)-$(VERSION).tar.gz ++ ++# can change this to e.g. /var/tmp/deb ++DEB_PATH = ../deb ++ ++ifeq ($(CVSBUILD),yes) ++LIBGPEWIDGET_PC = libgpewidget-uninstalled ++PC_EXTRA=PKG_CONFIG_PATH=../../base/libgpewidget ++else ++LIBGPEWIDGET_PC = libgpewidget ++endif ++ ++ifeq ($(IN_LIBGPEWIDGET),) ++GPECFLAGS = $(shell $(PC_EXTRA) pkg-config --cflags $(LIBGPEWIDGET_PC)) ++GPELIBS = $(shell $(PC_EXTRA) pkg-config --libs $(LIBGPEWIDGET_PC)) ++endif ++ ++GTKCFLAGS = $(shell pkg-config --cflags gtk+-2.0) ++GTKLIBS = $(shell pkg-config --libs gtk+-2.0) ++ ++STANDARD_CPPFLAGS = -D_GNU_SOURCE -DPACKAGE=\"$(PACKAGE)\" -DPREFIX=\"$(PREFIX)\" -DPACKAGE_LOCALE_DIR=\"$(PREFIX)/share/locale\" ++STANDARD_CFLAGS = -MD -Wall ++ ++ifeq ($(DEBUG),yes) ++CFLAGS += -O2 -g ++LDFLAGS = -g ++else ++CFLAGS += -Os -fomit-frame-pointer ++endif ++ ++dist: check-source clean dist-prep ++ rm -rf ../$(PACKAGE)-$(VERSION) ++ mkdir ../$(PACKAGE)-$(VERSION) ++ ( tar cf - --exclude "*/CVS" --exclude CVS --exclude "*~" --exclude "#*#" --exclude "debian" --exclude ".*" --exclude "*.ipk" --exclude "*.ipk.*" --exclude "*.mo" --exclude "*.batch" --exclude "translation-ipkgs.txt" * ) | (cd ../$(PACKAGE)-$(VERSION); tar xf -) ++ ( if [ -f linguas ]; then LINGUAS=`cat linguas`; PATCH_LINGUAS="s:^LINGUAS =.*:LINGUAS = $${LINGUAS}:"; fi; cd ../$(PACKAGE)-$(VERSION) && mkdir build && cp $(BUILD)/Makefile.dpkg_ipkg $(BUILD)/Makefile.translation build/ && sed "s:^CVSBUILD =.*:CVSBUILD = no:;s:^DEBUG =.*:DEBUG = no:;s:Makefile.translation-auto-linguas:Makefile.translation:;$${PATCH_LINGUAS}" < Makefile > Makefile.new && mv Makefile.new Makefile ) ++ ( cd .. ; tar cf - $(PACKAGE)-$(VERSION) | gzip -9 >$(PACKAGE)-$(VERSION).tar.gz ) ++ rm -rf ../$(PACKAGE)-$(VERSION) ++ $(MAKE) printinfo ++ ++dist-upload: dist ++ scp ../$(PACKAGE)-$(VERSION).tar.gz $(USER)@linuxtogo.org:/media/data/projects/gpe/source/ ++ ++dist-prep: ++ipkg-prep: ++install-mo: ++# empty, can be filled in Makefile.translation ++ ++install: install-program install-mo ++ ++clean-dist: ++ rm -rf familiar/dist familiar/dist.list ++ ++clean: clean-dist ++ ++check-source: ++ @if [ -f familiar/$(CONTROL) ] && ! grep -q '^Source:' familiar/$(CONTROL); then echo -e "\nNo Source: field in control file. Aborting.\n"; exit 1; fi ++ ++ipkg: check-source ipkg-prep clean ++ rm -rf familiar/dist ++ mkdir -p familiar/dist/CONTROL ++ sed 's:VERSION:$(VERSION):;s$$SOURCE$$$(SOURCE)$$' < familiar/$(CONTROL) > familiar/dist/CONTROL/control ++ if test -e familiar/conffiles; then install -m 644 familiar/conffiles familiar/dist/CONTROL; fi ++ if test -e familiar/preinst; then install familiar/preinst familiar/dist/CONTROL; fi ++ if test -e familiar/postinst; then install familiar/postinst familiar/dist/CONTROL; fi ++ if test -e familiar/prerm; then install familiar/prerm familiar/dist/CONTROL; fi ++ if test -e familiar/postrm; then install familiar/postrm familiar/dist/CONTROL; fi ++ $(MAKE) DESTDIR=`pwd`/familiar/dist PREFIX=/usr prefix=/usr DEBUG=no install-program ++ rm -rf familiar/dist.list ++ ipkg-build -o 0 -g 0 familiar/dist | sed 's/^Packaged .*into //; t 1; d; : 1; s:.*/::' >> familiar/dist.list ++ if [ "x$(LINGUAS)" != "x" ]; then make translation-ipkg; tr ' ' '\n' < translation-ipkgs.txt >> familiar/dist.list; fi ++ md5sum `cat familiar/dist.list` > $(PACKAGE)_$(VERSION).batch ++ rm -rf familiar/dist familiar/dist.list ++ $(MAKE) printinfo ++ ++dpkg: dist ++ mkdir -p $(DEB_PATH) ++ ( olddir=`pwd`; cd $(DEB_PATH); rm -rf $(PACKAGE)-$(VERSION); ln -s $$olddir/../$(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)_$(VERSION).orig.tar.gz ; tar xzf $(PACKAGE)_$(VERSION).orig.tar.gz ) ++ mkdir -p $(DEB_PATH)/$(PACKAGE)-$(VERSION)/debian ++ for i in debian/*; do if test -f $$i; then cp $$i $(DEB_PATH)/$(PACKAGE)-$(VERSION)/debian/; fi; done ++ ++CVSTAG := $(shell echo $(PACKAGE)-$(VERSION) | tr [a-z.] [A-Z_]) ++printinfo: ++ @printf '-------------------------------------------------------------------------------\n' ++ @printf "If this becomes a package release, please add a CVS tag.\n" ++ @printf "You can use 'make tag' for that, it will execute\n" ++ @printf " cvs tag %s\n" $(CVSTAG) ++ @printf "Please upload a tarball (created with 'make dist') to\n" ++ @printf " ftp://ftp.handhelds.org/pub/projects/gpe/\n" ++ @printf " (handhelds.org:~ftp/pub/projects/gpe/source)\n" ++ @printf "You can use 'make dist-upload' to do that.\n" ++ @printf "You are currently known as USER %s.\n" $(USER) ++ @printf '-------------------------------------------------------------------------------\n' ++ ++tag: check-source ++ cvs tag $(CVSTAG) ++ ++retag: check-source ++ cvs tag -F $(CVSTAG) ++ ++source: tag dist-upload ++ ++%.pc: %.pc.in ++ sed 's:PREFIX:$(PREFIX):;s:BUILDDIR:$(shell pwd):;s:VERSION:$(VERSION):' < $< > $@ ++ ++.c.o:; ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(PACKAGE_CFLAGS) $(PACKAGE_CPPFLAGS) -c $< -o $@ +diff -Naur blueprobe.orig/Makefile.translation blueprobe/Makefile.translation +--- blueprobe.orig/Makefile.translation 1970-01-01 02:00:00.000000000 +0200 ++++ blueprobe/Makefile.translation 2007-02-10 16:28:17.996104169 +0200 +@@ -0,0 +1,107 @@ ++.SUFFIXES: .mo .po .pot .po8 ++ ++CONTROL = `if test -e familiar/control1; then echo control1; else echo control; fi` ++ ++# use ipkg-build or ipkg-deb-build ++IPKG_BUILD := ipkg-build ++ ++TRANSLATION_SITE := http://www.iro.umontreal.ca/~gnutra/maint ++ ++ifeq ($(DIR_PO),) ++DIR_PO := po ++endif ++ ++ifeq ($(BINPACKAGE),) ++BINPACKAGE := $(PACKAGE) ++endif ++ ++mo-files = $(patsubst %,$(DIR_PO)/%.mo,$(LINGUAS)) ++po-files = $(patsubst %,$(DIR_PO)/%.po,$(LINGUAS)) ++ ++ifeq ($(shell if [ -f $(PACKAGE).desktop.in ]; then echo present; fi;),present) ++desktop-files += $(PACKAGE).desktop ++endif ++ ++ifneq ($(EXTRA_DESKTOPS),) ++desktop-files += $(patsubst %.desktop.in,%.desktop,$(EXTRA_DESKTOPS)) ++endif ++ ++all-mo: $(mo-files) ++ ++all-desktop: $(desktop-files) ++ ++install-mo: all-mo ++ if [ "$(ENABLE_NLS)" != "no" ]; then \ ++ if [ "x$(LINGUAS)" != "x" ]; then \ ++ for i in $(LINGUAS); do mkdir -p $(DESTDIR)$(PREFIX)/share/locale/$$i/LC_MESSAGES; install -m 644 $(DIR_PO)/$$i.mo $(DESTDIR)$(PREFIX)/share/locale/$$i/LC_MESSAGES/$(PACKAGE).mo; done \ ++ fi; \ ++ fi; ++ ++.po8.mo:; ++ if [ "$(ENABLE_NLS)" != "no" ]; then \ ++ msgfmt -o $@ $<; \ ++ fi; ++ ++.po.po8:; ++ CTYPE=`grep "^\"Content-Type:" $< | sed 's/^.*charset=//;s/\\\\.*//'`; sed "s/\(Content-Type: .*=\)$$CTYPE/\1UTF-8/" < $< | iconv -f $${CTYPE} -t UTF-8 >$@ ++ ++update-po: $(po-files) extract-po ++ ++dist-prep: update-po freshen-po ++# empty ++ ++ifeq ($(CVSBUILD),yes) ++ipkg-prep: freshen-po ++# empty ++endif ++ ++extract-po: ++ mkdir -p $(DIR_PO) ++ ( SOURCES="$(SOURCES)"; for DESK in $(PACKAGE).desktop.in $(EXTRA_DESKTOPS); do if [ -f $$DESK ]; then intltool-extract --type=gettext/ini $$DESK; SOURCES="$$SOURCES $${DESK}.h"; fi; done; if [ "x$$SOURCES" != "x" ]; then xgettext --add-comments=TRANSLATORS: -k_ -kN_ -o $(DIR_PO)/$(PACKAGE).pot.new $$SOURCES; fi ) ++ if [ -f $(DIR_PO)/$(PACKAGE).pot.new ]; then if cmp -s $(DIR_PO)/$(PACKAGE).pot.new $(PACKAGE).pot; then rm $(DIR_PO)/$(PACKAGE).pot.new; else mv $(DIR_PO)/$(PACKAGE).pot.new $(DIR_PO)/$(PACKAGE).pot; fi; fi ++ ++clean: clean-po clean-dist-translation ++ ++clean-po: ++ rm -rf $(DIR_PO)/*.mo ++ for i in $(desktop-files); do if [ -f $$i.in ]; then rm -f $$i; rm -f $$i.in.h; fi; done ++ ++%.desktop: %.desktop.in $(patsubst %,$(DIR_PO)/%.po,$(LINGUAS)) ++ intltool-merge -u -d $(DIR_PO) $< $@ ++ ++freshen-po: ++ rm -rf tmp-po ++ mkdir tmp-po ++ cd tmp-po; for LANG in $(LINGUAS); do wget $(TRANSLATION_SITE)/$(PACKAGE)/$$LANG.po; done ++ for LANG in $(LINGUAS); do if [ ! -f $(DIR_PO)/$$LANG.po ] || ! cmp -s $(DIR_PO)/$$LANG.po tmp-po/$$LANG.po ; then mv tmp-po/$$LANG.po $(DIR_PO)/$$LANG.po; echo "Updated $$LANG translation"; fi; done ++ rm -rf tmp-po ++ ++# ------------------------------------------------------------------------ ++ ++MAINTAINER = $(shell grep 'Maintainer: ' familiar/$(CONTROL) | cut -d ' ' -f 2-) ++ ++ifndef BUILD ++BUILD = ../build ++endif ++ ++transdist := familiar/dist-translation ++templates := $(BUILD)/familiar ++ipkglist := translation-ipkgs.txt ++ ++clean-dist-translation: ++ rm -rf $(transdist) $(ipkglist) ++ ++real-translation-package: all-mo ++ rm -rf $(transdist) $(ipkglist) ++ for LINGUA in $(LINGUAS); do \ ++ i=$$(echo $$LINGUA | tr '[A-Z_]' '[a-z+]'); \ ++ mkdir -p $(transdist)/$$i/CONTROL; \ ++ mkdir -p $(transdist)/$$i$(PREFIX)/share/locale/$$LINGUA/LC_MESSAGES; \ ++ install -m 644 po/$$LINGUA.mo $(transdist)/$$i$(PREFIX)/share/locale/$$LINGUA/LC_MESSAGES/$(PACKAGE).mo; \ ++ sed -e "s/<maintainer>/$(MAINTAINER)/;s/<package>/$(BINPACKAGE)/;s/<version>/$(VERSION)/;s/<language>/$$i/;s!<source>!$(SOURCE)!" $(templates)/control.translation > $(transdist)/$$i/CONTROL/control; \ ++ install $(templates)/postinst.translation $(transdist)/$$i/CONTROL/postinst; \ ++ $(IPKG_BUILD) -g 0 -o 0 $(transdist)/$$i | sed 's/^Packaged .*into //; t 1; d; : 1; s:.*/::' >> $(ipkglist); \ ++ done ++ ++translation-ipkg: ++ make PREFIX=/usr real-translation-package diff --git a/packages/bluesnarfer/bluesnarfer.bb b/packages/bluesnarfer/bluesnarfer.bb index 43d807f828..8ba346e526 100644 --- a/packages/bluesnarfer/bluesnarfer.bb +++ b/packages/bluesnarfer/bluesnarfer.bb @@ -1,4 +1,4 @@ -SECTION = "net/misc" +SECTION = "network/misc" DESCRIPTION = "Bluetooth cellphone information gatherer" PV = "0.1" SRC_URI = "http://www.remote-exploit.org/images/a/a0/Bluesnarfer.tar.gz" diff --git a/packages/bluez/bluez-utils.inc b/packages/bluez/bluez-utils.inc index 21cbea1b70..a22431eaf9 100644 --- a/packages/bluez/bluez-utils.inc +++ b/packages/bluez/bluez-utils.inc @@ -42,6 +42,7 @@ do_install_append() { chmod u+s ${D}${base_sbindir}/hciattach ${D}${base_sbindir}/hciconfig install -m 0644 ${WORKDIR}/hcid.conf ${D}${sysconfdir}/bluetooth/ install -m 0755 ${WORKDIR}/02dtl1_cs.sh ${D}${sysconfdir}/apm/event.d/ + install -m 0755 ${S}/daemon/.libs/passkey-agent ${D}${base_bindir}/ } CONFFILES_${PN} = "${sysconfdir}/bluetooth/hcid.conf ${sysconfdir}/bluetooth/rfcomm.conf \ diff --git a/packages/bluez/bluez-utils_3.9.bb b/packages/bluez/bluez-utils_3.9.bb index 9346fff13b..36410ee2ec 100644 --- a/packages/bluez/bluez-utils_3.9.bb +++ b/packages/bluez/bluez-utils_3.9.bb @@ -1,3 +1,3 @@ require bluez-utils.inc -PR = "r1" +PR = "r2" diff --git a/packages/bmon/bmon_2.1.0.bb b/packages/bmon/bmon_2.1.0.bb index 32e956fb26..d6cd03f614 100644 --- a/packages/bmon/bmon_2.1.0.bb +++ b/packages/bmon/bmon_2.1.0.bb @@ -1,10 +1,9 @@ DESCRIPTION = "Portable Bandwidth Monitor and rate estimator" HOMEPAGE = "http://people.suug.ch/~tgr/bmon/" -SECTION = "console/utilities" +SECTION = "console/utils" LICENSE = "MIT" # only works with libnl-0.5.0 DEPENDS = "libnl" -PR = "r0" SRC_URI = "http://people.suug.ch/~tgr/bmon/files/bmon-2.1.0.tar.gz \ file://no-strip.patch;patch=1" diff --git a/packages/busybox/busybox.inc b/packages/busybox/busybox.inc index 37a9676257..ab17d96db4 100644 --- a/packages/busybox/busybox.inc +++ b/packages/busybox/busybox.inc @@ -42,8 +42,8 @@ INITSCRIPT_NAME_${PN}-udhcpd = "busybox-udhcpd" INITSCRIPT_NAME_${PN} = "syslog" CONFFILES_${PN} = "${sysconfdir}/syslog.conf" -# This disables the syslog startup links in openslug (see openslug-init) -INITSCRIPT_PARAMS_${PN}_openslug = "start 20 ." +# This disables the syslog startup links in slugos (see slugos-init) +INITSCRIPT_PARAMS_${PN}_slugos = "start 20 ." inherit cml1 update-rc.d diff --git a/packages/cairo/cairo_1.3.12.bb b/packages/cairo/cairo_1.3.14.bb index cb83b8e4a2..6bc0cb37f7 100644 --- a/packages/cairo/cairo_1.3.12.bb +++ b/packages/cairo/cairo_1.3.14.bb @@ -6,5 +6,5 @@ require cairo.inc SRC_URI = "http://cairographics.org/snapshots/cairo-${PV}.tar.gz \ file://cairo-surface-cache-3.patch;patch=1" -PR = "r2" +PR = "r0" diff --git a/packages/ccxstream/ccxstream_1.0.15.bb b/packages/ccxstream/ccxstream_1.0.15.bb index cc42d895ca..466a116ec2 100644 --- a/packages/ccxstream/ccxstream_1.0.15.bb +++ b/packages/ccxstream/ccxstream_1.0.15.bb @@ -1,6 +1,6 @@ DESCRIPTION = "XStream Server" DEPENDS = "readline" -LICENSE = "GPL-2" +LICENSE = "GPLv2" PR = "r2" SRC_URI = "http://surfnet.dl.sourceforge.net/sourceforge/xbplayer/${P}.tar.gz \ diff --git a/packages/contacts/contacts_0.2.bb b/packages/contacts/contacts_0.2.bb index 071c827709..0f1b0d29ae 100644 --- a/packages/contacts/contacts_0.2.bb +++ b/packages/contacts/contacts_0.2.bb @@ -2,7 +2,7 @@ LICENSE = "LGPL" SECTION = "x11" DEPENDS = "glib-2.0 gtk+ libglade libbacon eds-dbus" DESCRIPTION = "Contacts is an address-book application." -PR = "r0" +PR = "r1" SRC_URI = "http://projects.o-hand.com/sources/contacts/contacts-0.2.tar.gz \ file://stock_contact.png \ diff --git a/packages/cups/cups_1.2.7.bb b/packages/cups/cups_1.2.7.bb index acd735705c..22034f9a23 100644 --- a/packages/cups/cups_1.2.7.bb +++ b/packages/cups/cups_1.2.7.bb @@ -52,7 +52,15 @@ do_stage () { oe_libinstall -C filter -so libcupsimage ${STAGING_LIBDIR} } +FILES_${PN}-dbg += "${libdir}/cups/backend/.debug \ + ${libdir}/cups/cgi-bin/.debug \ + ${libdir}/cups/filter/.debug \ + ${libdir}/cups/monitor/.debug \ + ${libdir}/cups/notifier/.debug \ + ${libdir}/cups/daemon/.debug \ + " #package the html for the webgui inside the main packages (~1MB uncompressed) + FILES_${PN} += "${datadir}/doc/cups/images \ ${datadir}/doc/cups/*html \ ${datadir}/doc/cups/*.css \ diff --git a/packages/cyrus-imapd/cyrus-imapd-2.2.12/remove-install-strip.patch b/packages/cyrus-imapd/cyrus-imapd-2.2.12/remove-install-strip.patch new file mode 100644 index 0000000000..bb43d16516 --- /dev/null +++ b/packages/cyrus-imapd/cyrus-imapd-2.2.12/remove-install-strip.patch @@ -0,0 +1,45 @@ +--- + cyrus-imapd-2.2.12/imtest/Makefile.in | 2 +- + cyrus-imapd-2.2.12/installsieve/Makefile.in | 2 +- + cyrus-imapd-2.2.12/netnews/Makefile.in | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +Index: cyrus-imapd-2.2.12/imtest/Makefile.in +=================================================================== +--- cyrus-imapd-2.2.12.orig/imtest/Makefile.in ++++ cyrus-imapd-2.2.12/imtest/Makefile.in +@@ -72,7 +72,7 @@ + all: imtest + + install: +- $(INSTALL) -s -m 755 imtest $(DESTDIR)$(exec_prefix)/bin ++ $(INSTALL) -m 755 imtest $(DESTDIR)$(exec_prefix)/bin + ln -f $(DESTDIR)$(exec_prefix)/bin/imtest $(DESTDIR)$(exec_prefix)/bin/pop3test + ln -f $(DESTDIR)$(exec_prefix)/bin/imtest $(DESTDIR)$(exec_prefix)/bin/nntptest + ln -f $(DESTDIR)$(exec_prefix)/bin/imtest $(DESTDIR)$(exec_prefix)/bin/lmtptest +Index: cyrus-imapd-2.2.12/installsieve/Makefile.in +=================================================================== +--- cyrus-imapd-2.2.12.orig/installsieve/Makefile.in ++++ cyrus-imapd-2.2.12/installsieve/Makefile.in +@@ -66,7 +66,7 @@ + all: installsieve + + install: +- $(INSTALL) -s -m 755 installsieve $(DESTDIR)$(exec_prefix)/bin ++ $(INSTALL) -m 755 installsieve $(DESTDIR)$(exec_prefix)/bin + + OBJS=lex.o mystring.o request.o isieve.o + +Index: cyrus-imapd-2.2.12/netnews/Makefile.in +=================================================================== +--- cyrus-imapd-2.2.12.orig/netnews/Makefile.in ++++ cyrus-imapd-2.2.12/netnews/Makefile.in +@@ -69,7 +69,7 @@ + all: remotepurge + + install: +- $(INSTALL) -s -m 755 remotepurge $(DESTDIR)$(service_path) ++ $(INSTALL) -m 755 remotepurge $(DESTDIR)$(service_path) + + .c.o: + $(CC) -c $(CPPFLAGS) $(DEFS) $(CFLAGS) $< diff --git a/packages/cyrus-imapd/cyrus-imapd_2.2.12.bb b/packages/cyrus-imapd/cyrus-imapd_2.2.12.bb index e72253d4eb..8167719aab 100644 --- a/packages/cyrus-imapd/cyrus-imapd_2.2.12.bb +++ b/packages/cyrus-imapd/cyrus-imapd_2.2.12.bb @@ -1,7 +1,7 @@ SECTION = "console/network" DEPENDS = "cyrus-sasl virtual/db" LICENSE = "BSD" -PR = "r10" +PR = "r11" DEPENDS += "install-native" SRC_URI = "ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-imapd-${PV}.tar.gz \ @@ -13,6 +13,7 @@ SRC_URI = "ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-imapd-${PV}.tar.gz \ file://cyrus.conf_2.2 \ file://imapd.conf_2.2 \ file://volatiles \ + file://remove-install-strip.patch;patch=1 \ " inherit autotools update-rc.d diff --git a/packages/dates/dates_0.3.1.bb b/packages/dates/dates_0.3.1.bb index 0870313df1..8dab1db54b 100644 --- a/packages/dates/dates_0.3.1.bb +++ b/packages/dates/dates_0.3.1.bb @@ -1,6 +1,7 @@ DESCRIPTION = "Dates is a calendar application." SECTION = "x11" LICENSE = "LGPL" +PR = "r1" DEPENDS = "glib-2.0 gtk+ libglade eds-dbus" diff --git a/packages/dcop/dcopidl-native_3.5.4.bb b/packages/dcop/dcopidl-native_3.5.4.bb index 820700d56e..5f47effd24 100644 --- a/packages/dcop/dcopidl-native_3.5.4.bb +++ b/packages/dcop/dcopidl-native_3.5.4.bb @@ -1,15 +1,13 @@ DESCRIPTION = "DCOP IDL parser" -SECTION = "kde/dev" +SECTION = "kde/devel" PRIORITY = "optional" LICENSE = "GPL" DEPENDS = "uicmoc3-native" - SRC_URI = "svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/kdelibs/dcop/;module=dcopidl \ file://dcopidl-compile.patch;patch=1 " S = "${WORKDIR}/dcopidl" - inherit native qmake qt3e export OE_QMAKE_LINK="${CXX}" diff --git a/packages/dcop/dcopidl2cpp-native_3.5.4.bb b/packages/dcop/dcopidl2cpp-native_3.5.4.bb index 29a4f71d3c..2b5cd126d7 100644 --- a/packages/dcop/dcopidl2cpp-native_3.5.4.bb +++ b/packages/dcop/dcopidl2cpp-native_3.5.4.bb @@ -1,16 +1,14 @@ DESCRIPTION = "DCOP IDL parser" -SECTION = "kde/dev" +SECTION = "kde/devel" PRIORITY = "optional" LICENSE = "GPL" DEPENDS = "uicmoc3-native" - SRC_URI = "svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/kdelibs/dcop/;module=dcopidl2cpp " #\ # file://dcopidl-compile.patch;patch=1 " S = "${WORKDIR}/dcopidl2cpp" - inherit native qmake qt3e export OE_QMAKE_LINK="${CXX}" diff --git a/packages/detect-stylus/detect-stylus_svn.bb b/packages/detect-stylus/detect-stylus_svn.bb new file mode 100644 index 0000000000..7f4385473c --- /dev/null +++ b/packages/detect-stylus/detect-stylus_svn.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "Touchscreen detection utility" +SECTION = "gpe" +LICENSE = "GPL" +DEPENDS = "virtual/libx11 xcursor-transparent-theme xrdb" +RDEPENDS = "xrdb" +PV = "0.13+svn${SRCDATE}" +PR = "r0" + +inherit gpe pkgconfig + +SRC_URI = "${GPE_SVN} \ + file://detect-stylus-svn-build.patch;patch=1" + +S = "${WORKDIR}/${PN}" + +export CVSBUILD="no" + +DEFAULT_PREFERENCE = "-1" diff --git a/packages/lighttpd/conf/etc/init.d/.mtn2git_empty b/packages/detect-stylus/files/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/lighttpd/conf/etc/init.d/.mtn2git_empty +++ b/packages/detect-stylus/files/.mtn2git_empty diff --git a/packages/detect-stylus/files/detect-stylus-svn-build.patch b/packages/detect-stylus/files/detect-stylus-svn-build.patch new file mode 100644 index 0000000000..ea1d67af6b --- /dev/null +++ b/packages/detect-stylus/files/detect-stylus-svn-build.patch @@ -0,0 +1,229 @@ +diff -Naur detect-stylus.orig/build/Makefile.dpkg_ipkg detect-stylus/build/Makefile.dpkg_ipkg +--- detect-stylus.orig/build/Makefile.dpkg_ipkg 1970-01-01 02:00:00.000000000 +0200 ++++ detect-stylus/build/Makefile.dpkg_ipkg 2007-02-10 17:21:40.154584782 +0200 +@@ -0,0 +1,114 @@ ++## Please read the README in this directory to see how to use this ++## Makefile snippet ++ ++# Let's use whatever clean target the specific app provides ++ ++CONTROL = `if test -e familiar/control1; then echo control1; else echo control; fi` ++ ++# URL to source tarball ++SOURCE = http://gpe.linuxtogo.org/download/source/$(PACKAGE)-$(VERSION).tar.gz ++ ++# can change this to e.g. /var/tmp/deb ++DEB_PATH = ../deb ++ ++ifeq ($(CVSBUILD),yes) ++LIBGPEWIDGET_PC = libgpewidget-uninstalled ++PC_EXTRA=PKG_CONFIG_PATH=../../base/libgpewidget ++else ++LIBGPEWIDGET_PC = libgpewidget ++endif ++ ++ifeq ($(IN_LIBGPEWIDGET),) ++GPECFLAGS = $(shell $(PC_EXTRA) pkg-config --cflags $(LIBGPEWIDGET_PC)) ++GPELIBS = $(shell $(PC_EXTRA) pkg-config --libs $(LIBGPEWIDGET_PC)) ++endif ++ ++GTKCFLAGS = $(shell pkg-config --cflags gtk+-2.0) ++GTKLIBS = $(shell pkg-config --libs gtk+-2.0) ++ ++STANDARD_CPPFLAGS = -D_GNU_SOURCE -DPACKAGE=\"$(PACKAGE)\" -DPREFIX=\"$(PREFIX)\" -DPACKAGE_LOCALE_DIR=\"$(PREFIX)/share/locale\" ++STANDARD_CFLAGS = -MD -Wall ++ ++ifeq ($(DEBUG),yes) ++CFLAGS += -O2 -g ++LDFLAGS = -g ++else ++CFLAGS += -Os -fomit-frame-pointer ++endif ++ ++dist: check-source clean dist-prep ++ rm -rf ../$(PACKAGE)-$(VERSION) ++ mkdir ../$(PACKAGE)-$(VERSION) ++ ( tar cf - --exclude "*/CVS" --exclude CVS --exclude "*~" --exclude "#*#" --exclude "debian" --exclude ".*" --exclude "*.ipk" --exclude "*.ipk.*" --exclude "*.mo" --exclude "*.batch" --exclude "translation-ipkgs.txt" * ) | (cd ../$(PACKAGE)-$(VERSION); tar xf -) ++ ( if [ -f linguas ]; then LINGUAS=`cat linguas`; PATCH_LINGUAS="s:^LINGUAS =.*:LINGUAS = $${LINGUAS}:"; fi; cd ../$(PACKAGE)-$(VERSION) && mkdir build && cp $(BUILD)/Makefile.dpkg_ipkg $(BUILD)/Makefile.translation build/ && sed "s:^CVSBUILD =.*:CVSBUILD = no:;s:^DEBUG =.*:DEBUG = no:;s:Makefile.translation-auto-linguas:Makefile.translation:;$${PATCH_LINGUAS}" < Makefile > Makefile.new && mv Makefile.new Makefile ) ++ ( cd .. ; tar cf - $(PACKAGE)-$(VERSION) | gzip -9 >$(PACKAGE)-$(VERSION).tar.gz ) ++ rm -rf ../$(PACKAGE)-$(VERSION) ++ $(MAKE) printinfo ++ ++dist-upload: dist ++ scp ../$(PACKAGE)-$(VERSION).tar.gz $(USER)@linuxtogo.org:/media/data/projects/gpe/source/ ++ ++dist-prep: ++ipkg-prep: ++install-mo: ++# empty, can be filled in Makefile.translation ++ ++install: install-program install-mo ++ ++clean-dist: ++ rm -rf familiar/dist familiar/dist.list ++ ++clean: clean-dist ++ ++check-source: ++ @if [ -f familiar/$(CONTROL) ] && ! grep -q '^Source:' familiar/$(CONTROL); then echo -e "\nNo Source: field in control file. Aborting.\n"; exit 1; fi ++ ++ipkg: check-source ipkg-prep clean ++ rm -rf familiar/dist ++ mkdir -p familiar/dist/CONTROL ++ sed 's:VERSION:$(VERSION):;s$$SOURCE$$$(SOURCE)$$' < familiar/$(CONTROL) > familiar/dist/CONTROL/control ++ if test -e familiar/conffiles; then install -m 644 familiar/conffiles familiar/dist/CONTROL; fi ++ if test -e familiar/preinst; then install familiar/preinst familiar/dist/CONTROL; fi ++ if test -e familiar/postinst; then install familiar/postinst familiar/dist/CONTROL; fi ++ if test -e familiar/prerm; then install familiar/prerm familiar/dist/CONTROL; fi ++ if test -e familiar/postrm; then install familiar/postrm familiar/dist/CONTROL; fi ++ $(MAKE) DESTDIR=`pwd`/familiar/dist PREFIX=/usr prefix=/usr DEBUG=no install-program ++ rm -rf familiar/dist.list ++ ipkg-build -o 0 -g 0 familiar/dist | sed 's/^Packaged .*into //; t 1; d; : 1; s:.*/::' >> familiar/dist.list ++ if [ "x$(LINGUAS)" != "x" ]; then make translation-ipkg; tr ' ' '\n' < translation-ipkgs.txt >> familiar/dist.list; fi ++ md5sum `cat familiar/dist.list` > $(PACKAGE)_$(VERSION).batch ++ rm -rf familiar/dist familiar/dist.list ++ $(MAKE) printinfo ++ ++dpkg: dist ++ mkdir -p $(DEB_PATH) ++ ( olddir=`pwd`; cd $(DEB_PATH); rm -rf $(PACKAGE)-$(VERSION); ln -s $$olddir/../$(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)_$(VERSION).orig.tar.gz ; tar xzf $(PACKAGE)_$(VERSION).orig.tar.gz ) ++ mkdir -p $(DEB_PATH)/$(PACKAGE)-$(VERSION)/debian ++ for i in debian/*; do if test -f $$i; then cp $$i $(DEB_PATH)/$(PACKAGE)-$(VERSION)/debian/; fi; done ++ ++CVSTAG := $(shell echo $(PACKAGE)-$(VERSION) | tr [a-z.] [A-Z_]) ++printinfo: ++ @printf '-------------------------------------------------------------------------------\n' ++ @printf "If this becomes a package release, please add a CVS tag.\n" ++ @printf "You can use 'make tag' for that, it will execute\n" ++ @printf " cvs tag %s\n" $(CVSTAG) ++ @printf "Please upload a tarball (created with 'make dist') to\n" ++ @printf " ftp://ftp.handhelds.org/pub/projects/gpe/\n" ++ @printf " (handhelds.org:~ftp/pub/projects/gpe/source)\n" ++ @printf "You can use 'make dist-upload' to do that.\n" ++ @printf "You are currently known as USER %s.\n" $(USER) ++ @printf '-------------------------------------------------------------------------------\n' ++ ++tag: check-source ++ cvs tag $(CVSTAG) ++ ++retag: check-source ++ cvs tag -F $(CVSTAG) ++ ++source: tag dist-upload ++ ++%.pc: %.pc.in ++ sed 's:PREFIX:$(PREFIX):;s:BUILDDIR:$(shell pwd):;s:VERSION:$(VERSION):' < $< > $@ ++ ++.c.o:; ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(PACKAGE_CFLAGS) $(PACKAGE_CPPFLAGS) -c $< -o $@ +diff -Naur detect-stylus.orig/build/Makefile.translation detect-stylus/build/Makefile.translation +--- detect-stylus.orig/build/Makefile.translation 1970-01-01 02:00:00.000000000 +0200 ++++ detect-stylus/build/Makefile.translation 2007-02-10 17:21:46.170927636 +0200 +@@ -0,0 +1,107 @@ ++.SUFFIXES: .mo .po .pot .po8 ++ ++CONTROL = `if test -e familiar/control1; then echo control1; else echo control; fi` ++ ++# use ipkg-build or ipkg-deb-build ++IPKG_BUILD := ipkg-build ++ ++TRANSLATION_SITE := http://www.iro.umontreal.ca/~gnutra/maint ++ ++ifeq ($(DIR_PO),) ++DIR_PO := po ++endif ++ ++ifeq ($(BINPACKAGE),) ++BINPACKAGE := $(PACKAGE) ++endif ++ ++mo-files = $(patsubst %,$(DIR_PO)/%.mo,$(LINGUAS)) ++po-files = $(patsubst %,$(DIR_PO)/%.po,$(LINGUAS)) ++ ++ifeq ($(shell if [ -f $(PACKAGE).desktop.in ]; then echo present; fi;),present) ++desktop-files += $(PACKAGE).desktop ++endif ++ ++ifneq ($(EXTRA_DESKTOPS),) ++desktop-files += $(patsubst %.desktop.in,%.desktop,$(EXTRA_DESKTOPS)) ++endif ++ ++all-mo: $(mo-files) ++ ++all-desktop: $(desktop-files) ++ ++install-mo: all-mo ++ if [ "$(ENABLE_NLS)" != "no" ]; then \ ++ if [ "x$(LINGUAS)" != "x" ]; then \ ++ for i in $(LINGUAS); do mkdir -p $(DESTDIR)$(PREFIX)/share/locale/$$i/LC_MESSAGES; install -m 644 $(DIR_PO)/$$i.mo $(DESTDIR)$(PREFIX)/share/locale/$$i/LC_MESSAGES/$(PACKAGE).mo; done \ ++ fi; \ ++ fi; ++ ++.po8.mo:; ++ if [ "$(ENABLE_NLS)" != "no" ]; then \ ++ msgfmt -o $@ $<; \ ++ fi; ++ ++.po.po8:; ++ CTYPE=`grep "^\"Content-Type:" $< | sed 's/^.*charset=//;s/\\\\.*//'`; sed "s/\(Content-Type: .*=\)$$CTYPE/\1UTF-8/" < $< | iconv -f $${CTYPE} -t UTF-8 >$@ ++ ++update-po: $(po-files) extract-po ++ ++dist-prep: update-po freshen-po ++# empty ++ ++ifeq ($(CVSBUILD),yes) ++ipkg-prep: freshen-po ++# empty ++endif ++ ++extract-po: ++ mkdir -p $(DIR_PO) ++ ( SOURCES="$(SOURCES)"; for DESK in $(PACKAGE).desktop.in $(EXTRA_DESKTOPS); do if [ -f $$DESK ]; then intltool-extract --type=gettext/ini $$DESK; SOURCES="$$SOURCES $${DESK}.h"; fi; done; if [ "x$$SOURCES" != "x" ]; then xgettext --add-comments=TRANSLATORS: -k_ -kN_ -o $(DIR_PO)/$(PACKAGE).pot.new $$SOURCES; fi ) ++ if [ -f $(DIR_PO)/$(PACKAGE).pot.new ]; then if cmp -s $(DIR_PO)/$(PACKAGE).pot.new $(PACKAGE).pot; then rm $(DIR_PO)/$(PACKAGE).pot.new; else mv $(DIR_PO)/$(PACKAGE).pot.new $(DIR_PO)/$(PACKAGE).pot; fi; fi ++ ++clean: clean-po clean-dist-translation ++ ++clean-po: ++ rm -rf $(DIR_PO)/*.mo ++ for i in $(desktop-files); do if [ -f $$i.in ]; then rm -f $$i; rm -f $$i.in.h; fi; done ++ ++%.desktop: %.desktop.in $(patsubst %,$(DIR_PO)/%.po,$(LINGUAS)) ++ intltool-merge -u -d $(DIR_PO) $< $@ ++ ++freshen-po: ++ rm -rf tmp-po ++ mkdir tmp-po ++ cd tmp-po; for LANG in $(LINGUAS); do wget $(TRANSLATION_SITE)/$(PACKAGE)/$$LANG.po; done ++ for LANG in $(LINGUAS); do if [ ! -f $(DIR_PO)/$$LANG.po ] || ! cmp -s $(DIR_PO)/$$LANG.po tmp-po/$$LANG.po ; then mv tmp-po/$$LANG.po $(DIR_PO)/$$LANG.po; echo "Updated $$LANG translation"; fi; done ++ rm -rf tmp-po ++ ++# ------------------------------------------------------------------------ ++ ++MAINTAINER = $(shell grep 'Maintainer: ' familiar/$(CONTROL) | cut -d ' ' -f 2-) ++ ++ifndef BUILD ++BUILD = ../build ++endif ++ ++transdist := familiar/dist-translation ++templates := $(BUILD)/familiar ++ipkglist := translation-ipkgs.txt ++ ++clean-dist-translation: ++ rm -rf $(transdist) $(ipkglist) ++ ++real-translation-package: all-mo ++ rm -rf $(transdist) $(ipkglist) ++ for LINGUA in $(LINGUAS); do \ ++ i=$$(echo $$LINGUA | tr '[A-Z_]' '[a-z+]'); \ ++ mkdir -p $(transdist)/$$i/CONTROL; \ ++ mkdir -p $(transdist)/$$i$(PREFIX)/share/locale/$$LINGUA/LC_MESSAGES; \ ++ install -m 644 po/$$LINGUA.mo $(transdist)/$$i$(PREFIX)/share/locale/$$LINGUA/LC_MESSAGES/$(PACKAGE).mo; \ ++ sed -e "s/<maintainer>/$(MAINTAINER)/;s/<package>/$(BINPACKAGE)/;s/<version>/$(VERSION)/;s/<language>/$$i/;s!<source>!$(SOURCE)!" $(templates)/control.translation > $(transdist)/$$i/CONTROL/control; \ ++ install $(templates)/postinst.translation $(transdist)/$$i/CONTROL/postinst; \ ++ $(IPKG_BUILD) -g 0 -o 0 $(transdist)/$$i | sed 's/^Packaged .*into //; t 1; d; : 1; s:.*/::' >> $(ipkglist); \ ++ done ++ ++translation-ipkg: ++ make PREFIX=/usr real-translation-package diff --git a/packages/dhcdbd/dhcdbd_1.14.bb b/packages/dhcdbd/dhcdbd_1.14.bb index 8c05470f06..2da37f4466 100644 --- a/packages/dhcdbd/dhcdbd_1.14.bb +++ b/packages/dhcdbd/dhcdbd_1.14.bb @@ -1,16 +1,15 @@ -DESCRIPTION="DBus-enabled dhcp client" -SECTION="net" -LICENSE="GPL" -HOMEPAGE="http://people.redhat.com/jvdias/dhcdbd/" - +DESCRIPTION = "DBus-enabled dhcp client" +HOMEPAGE = "http://people.redhat.com/jvdias/dhcdbd/" +SECTION = "net" +LICENSE = "GPL" DEPENDS = "dbus" PR = "r1" -SRC_URI="http://people.redhat.com/jvdias/dhcdbd/dhcdbd-${PV}.tar.gz \ - file://dhcdbd-1.14-pkgconfig_dbus.patch;patch=1 \ - file://dbus-api-fix.patch;patch=1 \ - file://dhcdbd" +SRC_URI = "http://people.redhat.com/jvdias/dhcdbd/dhcdbd-${PV}.tar.gz \ + file://dhcdbd-1.14-pkgconfig_dbus.patch;patch=1 \ + file://dbus-api-fix.patch;patch=1 \ + file://dhcdbd" do_compile() { CC=${TARGET_SYS}-gcc DESTDIR=${prefix} make diff --git a/packages/dhcdbd/dhcdbd_1.16.bb b/packages/dhcdbd/dhcdbd_1.16.bb index a510c49286..d2ef7288c8 100644 --- a/packages/dhcdbd/dhcdbd_1.16.bb +++ b/packages/dhcdbd/dhcdbd_1.16.bb @@ -1,15 +1,12 @@ -DESCRIPTION="DBus-enabled dhcp client" -SECTION="net" -LICENSE="GPL" -HOMEPAGE="http://people.redhat.com/jvdias/dhcdbd/" - +DESCRIPTION = "DBus-enabled dhcp client" +HOMEPAGE = "http://people.redhat.com/jvdias/dhcdbd/" +SECTION = "net" +LICENSE = "GPL" DEPENDS = "dbus" -PR = "r0" - -SRC_URI="http://people.redhat.com/dcantrel/dhcdbd/dhcdbd-${PV}.tar.gz \ - file://dhcdbd-1.14-pkgconfig_dbus.patch;patch=1 \ - file://dhcdbd" +SRC_URI = "http://people.redhat.com/dcantrel/dhcdbd/dhcdbd-${PV}.tar.gz \ + file://dhcdbd-1.14-pkgconfig_dbus.patch;patch=1 \ + file://dhcdbd" do_compile() { CC=${TARGET_SYS}-gcc DESTDIR=${prefix} make diff --git a/packages/dhcdbd/dhcdbd_2.0.bb b/packages/dhcdbd/dhcdbd_2.0.bb index de9e24abd5..8495275ecb 100644 --- a/packages/dhcdbd/dhcdbd_2.0.bb +++ b/packages/dhcdbd/dhcdbd_2.0.bb @@ -1,16 +1,13 @@ -DESCRIPTION="DBus-enabled dhcp client" -SECTION="net" -LICENSE="GPL" -HOMEPAGE="http://people.redhat.com/jvdias/dhcdbd/" - +DESCRIPTION = "DBus-enabled dhcp client" +HOMEPAGE = "http://people.redhat.com/jvdias/dhcdbd/" +SECTION = "net" +LICENSE = "GPL" DEPENDS = "dbus" RDEPENDS = "dhcp-client" -PR = "r0" - -SRC_URI="http://people.redhat.com/dcantrel/dhcdbd/dhcdbd-${PV}.tar.bz2 \ - file://no-ext-options.patch;patch=1 \ - file://dhcdbd" +SRC_URI = "http://people.redhat.com/dcantrel/dhcdbd/dhcdbd-${PV}.tar.bz2 \ + file://no-ext-options.patch;patch=1 \ + file://dhcdbd" do_compile() { CC=${TARGET_SYS}-gcc DESTDIR=${prefix} make diff --git a/packages/directfb/fusionsound_0.9.26+cvs20070207.bb b/packages/directfb/fusionsound_0.9.26+cvs20070207.bb new file mode 100644 index 0000000000..fe04a195c1 --- /dev/null +++ b/packages/directfb/fusionsound_0.9.26+cvs20070207.bb @@ -0,0 +1,37 @@ +DESCRIPTION = "FusionSound for DirectFB" +DEPENDS = "directfb" +SECTION = "libs" +LICENSE = "LGPL" + +# this is a CVS only release + +SRC_URI = "cvs://anonymous@cvs.directfb.org/cvs/directfb;method=pserver;module=FusionSound;date=${@bb.data.getVar('PV', d, 1)[9:]}" + +S = "${WORKDIR}/FusionSound" + +inherit autotools pkgconfig + +do_configure_append() { + find ${S} -type f | xargs sed -i 's:I/usr/include:I${STAGING_INCDIR}:g' +} + +do_stage() { + autotools_stage_all +} + +do_install() { + oe_runmake 'DESTDIR=${D}' install +} + +FILES_fusionsound-dbg_append = " ${libdir}/directfb-1.0-0/*/*/.debug/*.so \ + ${libdir}/directfb-1.0-0/*/.debug/*.so \ + " + +FILES_fusionsound-dev_append = " ${libdir}/directfb-1.0-0/interfaces/*/*.la \ + ${libdir}/directfb-1.0-0/snddrivers/*.la \ + " + +FILES_fusionsound_append = " ${libdir}/directfb-1.0-0/interfaces/*/*.so \ + ${libdir}/directfb-1.0-0/snddrivers/*.so \ + " + diff --git a/packages/directfb/lite_0.9.26+cvs20070207.bb b/packages/directfb/lite_0.9.26+cvs20070207.bb new file mode 100644 index 0000000000..2f43627829 --- /dev/null +++ b/packages/directfb/lite_0.9.26+cvs20070207.bb @@ -0,0 +1,40 @@ +DESCRIPTION = "LiTE stands for Lightweight Toolkit Enabler. Its role is to \ + facilitate the functions of DirectFB so that a toolbox could \ + be written on top of DirectFB with less effort. As such LiTE \ + has abstractions for the underlying graphics and event systems." + +DEPENDS = "directfb" +SECTION = "libs" +LICENSE = "LGPL" + +# this is a CVS only release + +SRC_URI = "cvs://anonymous@cvs.directfb.org/cvs/directfb;method=pserver;module=lite;date=${@bb.data.getVar('PV', d, 1)[9:]}" + +S = "${WORKDIR}/lite" + +inherit autotools pkgconfig + +do_configure_append() { + find ${S} -type f | xargs sed -i 's:I/usr/include:I${STAGING_INCDIR}:g' +} + +do_stage() { + autotools_stage_all +} + +do_install() { + oe_runmake 'DESTDIR=${D}' install +} + +FILES_lite-dbg_append = " ${libdir}/directfb-1.0-0/*/*/.debug/*.so \ + ${libdir}/directfb-1.0-0/*/.debug/*.so \ + " +FILES_lite-dev_append = " ${libdir}/directfb-1.0-0/interfaces/*/*.la \ + " + +FILES_lite_append = " ${libdir}/directfb-1.0-0/interfaces/*/*.so \ + ${datadir}/LiTE/* \ + ${datadir}/fonts/truetype/* \ + " + diff --git a/packages/e2fsprogs/e2fsprogs/e2fsprogs_1.34.bb b/packages/e2fsprogs/e2fsprogs/e2fsprogs_1.34.bb index a0a449042f..6558236ae4 100644 --- a/packages/e2fsprogs/e2fsprogs/e2fsprogs_1.34.bb +++ b/packages/e2fsprogs/e2fsprogs/e2fsprogs_1.34.bb @@ -1,14 +1,14 @@ -DESCRIPTION="EXT2 Filesystem Utilities" -SECTION="base" -PRIORITY="optional" -RDEPENDS="libc6" -DEPENDS=virtual/libc +DESCRIPTION = "EXT2 Filesystem Utilities" +SECTION = "base" +PRIORITY = "optional" +DEPENDS = "virtual/libc" +RDEPENDS = "libc6" -SRC_URI=${SOURCEFORGE_MIRROR}/e2fsprogs/e2fsprogs-${PV}.tar.gz \ - file://${FILESDIR}/ln.patch;patch=1 \ - file://${FILESDIR}/configure.patch;patch=1 \ - file://${FILESDIR}/compile-subst.patch;patch=1 \ - file://${FILESDIR}/m4.patch;patch=1 +SRC_URI = "${SOURCEFORGE_MIRROR}/e2fsprogs/e2fsprogs-${PV}.tar.gz \ + file://${FILESDIR}/ln.patch;patch=1 \ + file://${FILESDIR}/configure.patch;patch=1 \ + file://${FILESDIR}/compile-subst.patch;patch=1 \ + file://${FILESDIR}/m4.patch;patch=1 inherit autotools diff --git a/packages/e2fsprogs/e2fsprogs_1.38.bb b/packages/e2fsprogs/e2fsprogs_1.38.bb index 4e3038577f..32e5f7b534 100644 --- a/packages/e2fsprogs/e2fsprogs_1.38.bb +++ b/packages/e2fsprogs/e2fsprogs_1.38.bb @@ -1,6 +1,6 @@ require e2fsprogs.inc -PR = "r7" +PR = "r8" SRC_URI += "file://no-hardlinks.patch;patch=1" S = "${WORKDIR}/e2fsprogs-${PV}" @@ -41,8 +41,51 @@ RDEPENDS_e2fsprogs = "e2fsprogs-blkid e2fsprogs-uuidgen e2fsprogs-badblocks" PACKAGES =+ "e2fsprogs-blkid e2fsprogs-uuidgen e2fsprogs-e2fsck e2fsprogs-mke2fs e2fsprogs-fsck e2fsprogs-tune2fs e2fsprogs-badblocks" FILES_e2fsprogs-blkid = "${base_sbindir}/blkid" FILES_e2fsprogs-uuidgen = "${bindir}/uuidgen" -FILES_e2fsprogs-fsck = "${base_sbindir}/fsck" -FILES_e2fsprogs-e2fsck = "${base_sbindir}/e2fsck ${base_sbindir}/fsck.ext*" -FILES_e2fsprogs-mke2fs = "${base_sbindir}/mke2fs ${base_sbindir}/mkfs.ext*" +FILES_e2fsprogs-fsck = "${base_sbindir}/fsck.${PN}" +FILES_e2fsprogs-e2fsck = "${base_sbindir}/e2fsck.${PN} ${base_sbindir}/fsck.ext*.${PN}" +FILES_e2fsprogs-mke2fs = "${base_sbindir}/mke2fs.${PN} ${base_sbindir}/mkfs.ext*.${PN}" FILES_e2fsprogs-tune2fs = "${base_sbindir}/tune2fs ${base_sbindir}/e2label ${base_sbindir}/findfs" FILES_e2fsprogs-badblocks = "${base_sbindir}/badblocks" + +do_install_append () { + mv ${D}${base_sbindir}/fsck ${D}${base_sbindir}/fsck.${PN} + mv ${D}${base_sbindir}/e2fsck ${D}${base_sbindir}/e2fsck.${PN} + mv ${D}${base_sbindir}/fsck.ext2 ${D}${base_sbindir}/fsck.ext2.${PN} + mv ${D}${base_sbindir}/fsck.ext3 ${D}${base_sbindir}/fsck.ext3.${PN} + mv ${D}${base_sbindir}/mke2fs ${D}${base_sbindir}/mke2fs.${PN} + mv ${D}${base_sbindir}/mkfs.ext2 ${D}${base_sbindir}/mkfs.ext2.${PN} + mv ${D}${base_sbindir}/mkfs.ext3 ${D}${base_sbindir}/mkfs.ext3.${PN} +} + +pkg_postinst_e2fsprogs-fsck () { + update-alternatives --install ${base_sbindir}/fsck fsck fsck.${PN} 100 +} + +pkg_prerm_e2fsprogs-fsck () { + update-alternatives --remove fsck fsck.${PN} +} + +pkg_postinst_e2fsprogs-e2fsck () { + update-alternatives --install ${base_sbindir}/e2fsck e2fsck e2fsck.${PN} 100 + update-alternatives --install ${base_sbindir}/fsck.ext2 fsck.ext2 fsck.ext2.${PN} 100 + update-alternatives --install ${base_sbindir}/fsck.ext3 fsck.ext3 fsck.ext3.${PN} 100 +} + +pkg_prerm_e2fsprogs-e2fsck () { + update-alternatives --remove e2fsck e2fsck.${PN} + update-alternatives --remove fsck.ext2 fsck.ext2.${PN} + update-alternatives --remove fsck.ext3 fsck.ext3.${PN} +} + +pkg_postinst_e2fsprogs-mke2fs () { + update-alternatives --install ${base_sbindir}/mke2fs mke2fs mke2fs.${PN} 100 + update-alternatives --install ${base_sbindir}/mkfs.ext2 mkfs.ext2 mkfs.ext2.${PN} 100 + update-alternatives --install ${base_sbindir}/mkfs.ext3 mkfs.ext3 mkfs.ext3.${PN} 100 +} + +pkg_prerm_e2fsprogs-mke2fs () { + update-alternatives --remove mke2fs mke2fs.${PN} + update-alternatives --remove mkfs.ext2 mkfs.ext2.${PN} + update-alternatives --remove mkfs.ext3 mkfs.ext3.${PN} +} + diff --git a/packages/eds/eds-dbus_svn.bb b/packages/eds/eds-dbus_svn.bb index f5bef2e859..6563f1c867 100644 --- a/packages/eds/eds-dbus_svn.bb +++ b/packages/eds/eds-dbus_svn.bb @@ -1,18 +1,15 @@ DESCRIPTION = "Evolution database backend server" HOMEPAGE = "http://projects.o-hand.com/eds" LICENSE = "LGPL" -DEPENDS = "intltool-native glib-2.0 gtk+ gconf dbus db gnome-common libglade virtual/libiconv zlib intltool" +DEPENDS = "intltool-native glib-2.0 gtk+ gconf dbus db gnome-common virtual/libiconv zlib intltool" PV = "1.4.0+svn${SRCDATE}" -PR = "r2" +PR = "r5" SRC_URI = "svn://svn.o-hand.com/repos/${PN};module=trunk;proto=http \ file://no_libdb.patch;patch=1 \ file://no_iconv_test.patch;patch=1 \ - file://no_libedataserverui-20060126.patch;patch=1;maxdate=20061214 \ - file://no_libedataserverui.patch;patch=1;mindate=20061215 \ - file://disable_orbit.patch;patch=1;maxdate=20061214 \ - file://fix-bindig-tool.patch;patch=1;maxdate=20061223 \ + file://no_libedataserverui.patch;patch=1 \ file://iconv-detect.h" S = "${WORKDIR}/trunk" @@ -26,37 +23,32 @@ EXTRA_OECONF = "--without-openldap --with-dbus --without-bug-buddy --without-sou acpaths = " -I ${STAGING_DATADIR}/aclocal/gnome-macros " -PACKAGES =+ "eds-pixmaps eds-zoneinfo eds-camel-providers eds-camel-lock-helper eds-camel-index-control libcamel-provider libcamel libebook libecal libedata-book libedata-cal libedataserver" - -RDEPENDS_${PN} += "eds-pixmaps eds-zoneinfo" - -FILES_eds-pixmaps = "${datadir}/pixmaps" -FILES_eds-zoneinfo = "${datadir}/evolution-data-server-1.4/zoneinfo/" -FILES_eds-camel-providers = "${libdir}/evolution-data-server-1.2/camel-providers/*.so ${libdir}/evolution-data-server-1.2/camel-providers/*.urls" -FILES_eds-camel-lock-helper = "${libexecdir}/camel-lock-helper-1.2" -FILES_eds-camel-index-control = "${libexecdir}/camel-index-control-1.2" -FILES_libcamel-provider = "${libdir}/libcamel-provider-1.2.so.*" -FILES_libcamel = "${libdir}/libcamel-1.2.so.*" -FILES_libebook = "${libdir}/libebook-1.2*" -FILES_libecal = "${libdir}/libecal-1.2.so.*" -FILES_libedata-book = "${libdir}/libedata-book-1.2.so.*" -FILES_libedata-cal = "${libdir}/libedata-cal-1.2.so.*" -FILES_libedataserver = "${libdir}/libedataserver-1.2.so.*" - -FILES_${PN} += "${libdir}/evolution-data-server-1.2/extensions/*.so \ - ${libdir}/evolution-data-server-1.2/camel-providers/*.so \ - ${libdir}/evolution-data-server-1.2/camel-providers/*.urls \ - ${datadir}/evolution-data-server-1.4/zoneinfo/zones.tab \ - ${datadir}/evolution-data-server-1.4/zoneinfo/*/*.ics \ - ${datadir}/evolution-data-server-1.4/zoneinfo/*/*/*.ics \ - ${datadir}/dbus-1/services/*.service" -FILES_${PN}-dev += "${libdir}/evolution-data-server-1.2/extensions/*.la \ - ${libdir}/evolution-data-server-1.2/camel-providers/*.la" +PACKAGES =+ "libcamel-collateral libcamel libcamel-dev libebook libebook-dev libecal libecal-dev libedata-book libedata-book-dev libedata-cal libedata-cal-dev libedataserver libedataserver-dev" +FILES_${PN}-dev =+ "${libdir}/pkgconfig/evolution-data-server-*.pc" +FILES_${PN}-dbg =+ "${libdir}/evolution-data-server-*/camel-providers/.debug ${libdir}/evolution-data-server*/extensions/.debug/" + +FILES_libcamel = "${libdir}/libcamel-*.so.* ${libexecdir}/camel-*" +FILES_libcamel-dev = "${libdir}/libcamel-*.so ${libdir}/libcamel-provider-*.so ${libdir}/pkgconfig/camel*pc ${includedir}/evolution-data-server*/camel" +FILES_libcamel-collateral = "${libdir}/libcamel-provider-*.so.* ${libdir}/evolution-data-server-*/camel-providers/*.so ${libdir}/evolution-data-server-*/camel-providers/*.urls" + +FILES_libebook = "${libdir}/libebook-*.so.*" +FILES_libebook-dev = "${libdir}/libebook-1.2.so ${libdir}/pkgconfig/libebook-*.pc ${includedir}/evolution-data-server*/libebook/*.h" + +FILES_libecal = "${libdir}/libecal-*.so.* ${datadir}/evolution-data-server-1.4/zoneinfo" +FILES_libecal-dev = "${libdir}/libecal-*.so ${libdir}/pkgconfig/libecal-*.pc ${includedir}/evolution-data-server*/libecal/*.h ${includedir}/evolution-data-server*/libical/*.h" + +FILES_libedata-book = "${libexecdir}/e-addressbook-factory ${datadir}/dbus-1/services/*.AddressBook.service ${libdir}/libedata-book-*.so.* ${libdir}/evolution-data-server-*/extensions/libebook*.so" +FILES_libedata-book-dev = "${libdir}/libedata-book-*.so ${libdir}/pkgconfig/libedata-book-*.pc ${includedir}/evolution-data-server-*/libedata-book" + +FILES_libedata-cal = "${libexecdir}/e-calendar-factory ${datadir}/dbus-1/services/*.Calendar.service ${libdir}/libedata-cal-*.so.* ${libdir}/evolution-data-server-*/extensions/libecal*.so" +FILES_libedata-cal-dev = "${libdir}/libedata-cal-*.so ${libdir}/pkgconfig/libedata-cal-*.pc ${includedir}/evolution-data-server-*/libedata-cal" + +FILES_libedataserver = "${libdir}/libedataserver-*.so.*" +FILES_libedataserver-dev = "${libdir}/libedataserver-*.so ${libdir}/pkgconfig/libedataserver-*.pc ${includedir}/evolution-data-server-*/libedataserver/*.h" do_configure_append = " cp ${WORKDIR}/iconv-detect.h ${S} " do_stage () { autotools_stage_all } - diff --git a/packages/enchant/enchant_1.1.3.bb b/packages/enchant/enchant_1.1.3.bb index a1e70852b0..c33a1a3927 100644 --- a/packages/enchant/enchant_1.1.3.bb +++ b/packages/enchant/enchant_1.1.3.bb @@ -1,6 +1,6 @@ DESCRIPTION = "Enchant Spell checker API Library" PRIORITY = "optional" -SECTION = "libs" +SECTION = "libs" DEPENDS = "aspell" RDEPENDS = "aspell" diff --git a/packages/enchant/enchant_1.2.5.bb b/packages/enchant/enchant_1.2.5.bb index 5045a762b0..5896d1275a 100644 --- a/packages/enchant/enchant_1.2.5.bb +++ b/packages/enchant/enchant_1.2.5.bb @@ -1,6 +1,6 @@ DESCRIPTION = "Enchant Spell checker API Library" PRIORITY = "optional" -SECTION = "libs" +SECTION = "libs" LICENSE = "LGPL" DEPENDS = "aspell" RDEPENDS = "aspell" diff --git a/packages/fbvncserver/fbvncserver-kmodule_0.9.4.bb b/packages/fbvncserver/fbvncserver-kmodule_0.9.4.bb index 9e1fc13da6..4abdb6c7b0 100644 --- a/packages/fbvncserver/fbvncserver-kmodule_0.9.4.bb +++ b/packages/fbvncserver/fbvncserver-kmodule_0.9.4.bb @@ -1,5 +1,5 @@ DESCRIPTION = "Framebuffer VNC server keyboard events module" -SECTION = "kernel/module" +SECTION = "kernel/modules" LICENSE = "GPL" PR = "r1" diff --git a/packages/fftw/fftw_3.1.2.bb b/packages/fftw/fftw_3.1.2.bb index e6bc885b77..58603ef24c 100644 --- a/packages/fftw/fftw_3.1.2.bb +++ b/packages/fftw/fftw_3.1.2.bb @@ -1,8 +1,7 @@ DESCRIPTION = "FFTW" -SECTION = "libs" +SECTION = "libs" PRIORITY = "optional" LICENSE = "GPL" -PR = "r0" SRC_URI = "http://www.fftw.org/fftw-${PV}.tar.gz" diff --git a/packages/freeze/freeze.bb b/packages/freeze/freeze.bb index 48a0ba63d2..fa11fecb97 100644 --- a/packages/freeze/freeze.bb +++ b/packages/freeze/freeze.bb @@ -13,7 +13,7 @@ # as appropriate, directory is the sub-directory of 'packages'. # DESCRIPTION = "Freeze the bitbake files in the build" -SECTION = "console/networking" +SECTION = "console/network" PRIORITY = "optional" LICENSE = "MIT" PR = "r1" diff --git a/packages/freeze/unfreeze.bb b/packages/freeze/unfreeze.bb index ff280dee9c..f2232c304f 100644 --- a/packages/freeze/unfreeze.bb +++ b/packages/freeze/unfreeze.bb @@ -2,7 +2,7 @@ # configuration fails empty (they just contain a comment). # DESCRIPTION = "Unfreeze the bitbake files in the build" -SECTION = "console/networking" +SECTION = "console/network" PRIORITY = "optional" LICENSE = "MIT" PR = "r1" diff --git a/packages/galago/eds-feed_0.3.2.bb b/packages/galago/eds-feed_0.3.2.bb index 5ad9a822a6..59dc914eb2 100644 --- a/packages/galago/eds-feed_0.3.2.bb +++ b/packages/galago/eds-feed_0.3.2.bb @@ -1,11 +1,11 @@ -DESCRIPTION = "Galago linkage to the Evolution Data Server." -HOMEPAGE = "http://www.galago-project.org/" -LICENSE = "GPL" -DEPENDS = "gettext libgalago dbus glib-2.0 eds-dbus" - -SRC_URI = "http://www.galago-project.org/files/releases/source/${PN}/${P}.tar.gz \ - file://disable-bonobo.patch;patch=1" -# file://no-check.patch;patch=1" +DESCRIPTION = "Galago linkage to the Evolution Data Server." +HOMEPAGE = "http://www.galago-project.org/" +LICENSE = "GPL" +DEPENDS = "gettext libgalago dbus glib-2.0 eds-dbus" + +SRC_URI = "http://www.galago-project.org/files/releases/source/${PN}/${P}.tar.gz \ + file://disable-bonobo.patch;patch=1" +# file://no-check.patch;patch=1" #EXTRA_OECONF = "--disable-binreloc" FILES_${PN} += "${libdir}/galago/eds-feed" diff --git a/packages/galago/galago-daemon_0.3.4.bb b/packages/galago/galago-daemon_0.3.4.bb index 9e27f72605..243e42da4e 100644 --- a/packages/galago/galago-daemon_0.3.4.bb +++ b/packages/galago/galago-daemon_0.3.4.bb @@ -1,11 +1,11 @@ -DESCRIPTION = "Galago is a desktop presence framework, designed to transmit presence information between programs." -HOMEPAGE = "http://www.galago-project.org/" -LICENSE = "GPL" -DEPENDS = "gettext libgalago dbus glib-2.0" +DESCRIPTION = "Galago is a desktop presence framework, designed to transmit presence information between programs." +HOMEPAGE = "http://www.galago-project.org/" +LICENSE = "GPL" +DEPENDS = "gettext libgalago dbus glib-2.0" PR = "r1" -SRC_URI = "http://www.galago-project.org/files/releases/source/${PN}/${P}.tar.gz \ - file://no-check.patch;patch=1" +SRC_URI = "http://www.galago-project.org/files/releases/source/${PN}/${P}.tar.gz \ + file://no-check.patch;patch=1" EXTRA_OECONF = "--disable-binreloc" FILES_${PN} += "${datadir}/dbus-1/services/" diff --git a/packages/ghettotooth/ghettotooth.bb b/packages/ghettotooth/ghettotooth.bb index 413d81a819..426a657848 100644 --- a/packages/ghettotooth/ghettotooth.bb +++ b/packages/ghettotooth/ghettotooth.bb @@ -1,4 +1,4 @@ -SECTION = "net/misc" +SECTION = "network/misc" DESCRIPTION = "Bluetooth scanner" LICENSE = "GPL" RDEPENDS = "perl" diff --git a/packages/glibc/glibc.inc b/packages/glibc/glibc.inc index 4e785d8275..7078a1c09f 100644 --- a/packages/glibc/glibc.inc +++ b/packages/glibc/glibc.inc @@ -3,3 +3,7 @@ HOMEPAGE = "http://www.gnu.org/software/libc/libc.html" SECTION = "libs" PRIORITY = "required" LICENSE = "LGPL" +PACKAGES = "glibc catchsegv sln nscd ldd localedef glibc-utils glibc-dev glibc-doc glibc-locale libsegfault glibc-extra-nss glibc-thread-db glibc-pcprofile" + +#this leads to circular deps, so lets not add it yet +#RDEPENDS_ldd += " bash" diff --git a/packages/glibc/glibc_2.2.5.bb b/packages/glibc/glibc_2.2.5.bb index 6f00011d00..75f08be942 100644 --- a/packages/glibc/glibc_2.2.5.bb +++ b/packages/glibc/glibc_2.2.5.bb @@ -24,8 +24,6 @@ python __anonymous () { bb.data.getVar('TARGET_OS', d, 1)) } -PACKAGES = "glibc catchsegv sln nscd ldd localedef glibc-utils glibc-dev glibc-doc glibc-locale libsegfault glibc-extra-nss glibc-thread-db glibc-pcprofile" - # nptl needs unwind support in gcc, which can't be built without glibc. PROVIDES = "virtual/libc ${@['virtual/${TARGET_PREFIX}libc-for-gcc', '']['nptl' in '${GLIBC_ADDONS}']}" PROVIDES_unslung = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc" diff --git a/packages/glibc/glibc_2.3.2.bb b/packages/glibc/glibc_2.3.2.bb index 12db1928c6..1dba326201 100644 --- a/packages/glibc/glibc_2.3.2.bb +++ b/packages/glibc/glibc_2.3.2.bb @@ -23,7 +23,6 @@ python __anonymous () { bb.data.getVar('TARGET_OS', d, 1)) } -PACKAGES = "glibc catchsegv sln nscd ldd localedef glibc-utils glibc-dev glibc-doc glibc-locale libsegfault glibc-extra-nss glibc-thread-db glibc-pcprofile" PROVIDES += "virtual/libintl virtual/libiconv" # nptl needs unwind support in gcc, which can't be built without glibc. diff --git a/packages/glibc/glibc_2.3.3.bb b/packages/glibc/glibc_2.3.3.bb index 7c2bf09e4e..0db2616a75 100644 --- a/packages/glibc/glibc_2.3.3.bb +++ b/packages/glibc/glibc_2.3.3.bb @@ -26,8 +26,6 @@ python __anonymous () { bb.data.getVar('TARGET_OS', d, 1)) } -PACKAGES = "glibc catchsegv sln nscd ldd localedef glibc-utils glibc-dev glibc-doc glibc-locale libsegfault glibc-extra-nss glibc-thread-db glibc-pcprofile" - # nptl needs unwind support in gcc, which can't be built without glibc. PROVIDES = "virtual/libc ${@['virtual/${TARGET_PREFIX}libc-for-gcc', '']['nptl' in '${GLIBC_ADDONS}']}" PROVIDES += "virtual/libintl virtual/libiconv" diff --git a/packages/glibc/glibc_2.5.bb b/packages/glibc/glibc_2.5.bb index 23230392e9..f9f24bbe7f 100644 --- a/packages/glibc/glibc_2.5.bb +++ b/packages/glibc/glibc_2.5.bb @@ -2,6 +2,9 @@ require glibc.inc ARM_INSTRUCTION_SET = "arm" +PACKAGES_DYNAMIC = "libc6*" +RPROVIDES_${PN}-dev = "libc6-dev" + PR = "r4" # the -isystem in bitbake.conf screws up glibc do_stage diff --git a/packages/gnome/gnome-vfs_2.16.3.bb b/packages/gnome/gnome-vfs_2.16.3.bb index 0c6176428e..b1f634c0e9 100644 --- a/packages/gnome/gnome-vfs_2.16.3.bb +++ b/packages/gnome/gnome-vfs_2.16.3.bb @@ -17,7 +17,8 @@ EXTRA_OECONF = " \ --disable-openssl \ --enable-gnutls \ --enable-avahi \ - " + --with-samba-includes=${STAGING_INCDIR} \ + " FILES_${PN} += " ${libdir}/vfs" FILES_${PN}-dev += " ${libdir}/gnome-vfs-2.0/include" diff --git a/packages/gnuplot/qtplot_0.2.bb b/packages/gnuplot/qtplot_0.2.bb index 8b22c0e5d5..80b3e4a603 100644 --- a/packages/gnuplot/qtplot_0.2.bb +++ b/packages/gnuplot/qtplot_0.2.bb @@ -1,6 +1,6 @@ DESCRIPTION = "QT Gnuplot is a front end for Gnuplot. Install Opie-Embedded \ console to enable the Launch Gnuplot menu option." -SECTION = "opie/applications" +SECTION = "opie/applications" PRIORITY = "optional" LICENSE = "GPL" PRIORITY = "optional" diff --git a/packages/gpe-appmgr/files/svn-build.patch b/packages/gpe-appmgr/files/svn-build.patch new file mode 100644 index 0000000000..ea1d67af6b --- /dev/null +++ b/packages/gpe-appmgr/files/svn-build.patch @@ -0,0 +1,229 @@ +diff -Naur detect-stylus.orig/build/Makefile.dpkg_ipkg detect-stylus/build/Makefile.dpkg_ipkg +--- detect-stylus.orig/build/Makefile.dpkg_ipkg 1970-01-01 02:00:00.000000000 +0200 ++++ detect-stylus/build/Makefile.dpkg_ipkg 2007-02-10 17:21:40.154584782 +0200 +@@ -0,0 +1,114 @@ ++## Please read the README in this directory to see how to use this ++## Makefile snippet ++ ++# Let's use whatever clean target the specific app provides ++ ++CONTROL = `if test -e familiar/control1; then echo control1; else echo control; fi` ++ ++# URL to source tarball ++SOURCE = http://gpe.linuxtogo.org/download/source/$(PACKAGE)-$(VERSION).tar.gz ++ ++# can change this to e.g. /var/tmp/deb ++DEB_PATH = ../deb ++ ++ifeq ($(CVSBUILD),yes) ++LIBGPEWIDGET_PC = libgpewidget-uninstalled ++PC_EXTRA=PKG_CONFIG_PATH=../../base/libgpewidget ++else ++LIBGPEWIDGET_PC = libgpewidget ++endif ++ ++ifeq ($(IN_LIBGPEWIDGET),) ++GPECFLAGS = $(shell $(PC_EXTRA) pkg-config --cflags $(LIBGPEWIDGET_PC)) ++GPELIBS = $(shell $(PC_EXTRA) pkg-config --libs $(LIBGPEWIDGET_PC)) ++endif ++ ++GTKCFLAGS = $(shell pkg-config --cflags gtk+-2.0) ++GTKLIBS = $(shell pkg-config --libs gtk+-2.0) ++ ++STANDARD_CPPFLAGS = -D_GNU_SOURCE -DPACKAGE=\"$(PACKAGE)\" -DPREFIX=\"$(PREFIX)\" -DPACKAGE_LOCALE_DIR=\"$(PREFIX)/share/locale\" ++STANDARD_CFLAGS = -MD -Wall ++ ++ifeq ($(DEBUG),yes) ++CFLAGS += -O2 -g ++LDFLAGS = -g ++else ++CFLAGS += -Os -fomit-frame-pointer ++endif ++ ++dist: check-source clean dist-prep ++ rm -rf ../$(PACKAGE)-$(VERSION) ++ mkdir ../$(PACKAGE)-$(VERSION) ++ ( tar cf - --exclude "*/CVS" --exclude CVS --exclude "*~" --exclude "#*#" --exclude "debian" --exclude ".*" --exclude "*.ipk" --exclude "*.ipk.*" --exclude "*.mo" --exclude "*.batch" --exclude "translation-ipkgs.txt" * ) | (cd ../$(PACKAGE)-$(VERSION); tar xf -) ++ ( if [ -f linguas ]; then LINGUAS=`cat linguas`; PATCH_LINGUAS="s:^LINGUAS =.*:LINGUAS = $${LINGUAS}:"; fi; cd ../$(PACKAGE)-$(VERSION) && mkdir build && cp $(BUILD)/Makefile.dpkg_ipkg $(BUILD)/Makefile.translation build/ && sed "s:^CVSBUILD =.*:CVSBUILD = no:;s:^DEBUG =.*:DEBUG = no:;s:Makefile.translation-auto-linguas:Makefile.translation:;$${PATCH_LINGUAS}" < Makefile > Makefile.new && mv Makefile.new Makefile ) ++ ( cd .. ; tar cf - $(PACKAGE)-$(VERSION) | gzip -9 >$(PACKAGE)-$(VERSION).tar.gz ) ++ rm -rf ../$(PACKAGE)-$(VERSION) ++ $(MAKE) printinfo ++ ++dist-upload: dist ++ scp ../$(PACKAGE)-$(VERSION).tar.gz $(USER)@linuxtogo.org:/media/data/projects/gpe/source/ ++ ++dist-prep: ++ipkg-prep: ++install-mo: ++# empty, can be filled in Makefile.translation ++ ++install: install-program install-mo ++ ++clean-dist: ++ rm -rf familiar/dist familiar/dist.list ++ ++clean: clean-dist ++ ++check-source: ++ @if [ -f familiar/$(CONTROL) ] && ! grep -q '^Source:' familiar/$(CONTROL); then echo -e "\nNo Source: field in control file. Aborting.\n"; exit 1; fi ++ ++ipkg: check-source ipkg-prep clean ++ rm -rf familiar/dist ++ mkdir -p familiar/dist/CONTROL ++ sed 's:VERSION:$(VERSION):;s$$SOURCE$$$(SOURCE)$$' < familiar/$(CONTROL) > familiar/dist/CONTROL/control ++ if test -e familiar/conffiles; then install -m 644 familiar/conffiles familiar/dist/CONTROL; fi ++ if test -e familiar/preinst; then install familiar/preinst familiar/dist/CONTROL; fi ++ if test -e familiar/postinst; then install familiar/postinst familiar/dist/CONTROL; fi ++ if test -e familiar/prerm; then install familiar/prerm familiar/dist/CONTROL; fi ++ if test -e familiar/postrm; then install familiar/postrm familiar/dist/CONTROL; fi ++ $(MAKE) DESTDIR=`pwd`/familiar/dist PREFIX=/usr prefix=/usr DEBUG=no install-program ++ rm -rf familiar/dist.list ++ ipkg-build -o 0 -g 0 familiar/dist | sed 's/^Packaged .*into //; t 1; d; : 1; s:.*/::' >> familiar/dist.list ++ if [ "x$(LINGUAS)" != "x" ]; then make translation-ipkg; tr ' ' '\n' < translation-ipkgs.txt >> familiar/dist.list; fi ++ md5sum `cat familiar/dist.list` > $(PACKAGE)_$(VERSION).batch ++ rm -rf familiar/dist familiar/dist.list ++ $(MAKE) printinfo ++ ++dpkg: dist ++ mkdir -p $(DEB_PATH) ++ ( olddir=`pwd`; cd $(DEB_PATH); rm -rf $(PACKAGE)-$(VERSION); ln -s $$olddir/../$(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)_$(VERSION).orig.tar.gz ; tar xzf $(PACKAGE)_$(VERSION).orig.tar.gz ) ++ mkdir -p $(DEB_PATH)/$(PACKAGE)-$(VERSION)/debian ++ for i in debian/*; do if test -f $$i; then cp $$i $(DEB_PATH)/$(PACKAGE)-$(VERSION)/debian/; fi; done ++ ++CVSTAG := $(shell echo $(PACKAGE)-$(VERSION) | tr [a-z.] [A-Z_]) ++printinfo: ++ @printf '-------------------------------------------------------------------------------\n' ++ @printf "If this becomes a package release, please add a CVS tag.\n" ++ @printf "You can use 'make tag' for that, it will execute\n" ++ @printf " cvs tag %s\n" $(CVSTAG) ++ @printf "Please upload a tarball (created with 'make dist') to\n" ++ @printf " ftp://ftp.handhelds.org/pub/projects/gpe/\n" ++ @printf " (handhelds.org:~ftp/pub/projects/gpe/source)\n" ++ @printf "You can use 'make dist-upload' to do that.\n" ++ @printf "You are currently known as USER %s.\n" $(USER) ++ @printf '-------------------------------------------------------------------------------\n' ++ ++tag: check-source ++ cvs tag $(CVSTAG) ++ ++retag: check-source ++ cvs tag -F $(CVSTAG) ++ ++source: tag dist-upload ++ ++%.pc: %.pc.in ++ sed 's:PREFIX:$(PREFIX):;s:BUILDDIR:$(shell pwd):;s:VERSION:$(VERSION):' < $< > $@ ++ ++.c.o:; ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(PACKAGE_CFLAGS) $(PACKAGE_CPPFLAGS) -c $< -o $@ +diff -Naur detect-stylus.orig/build/Makefile.translation detect-stylus/build/Makefile.translation +--- detect-stylus.orig/build/Makefile.translation 1970-01-01 02:00:00.000000000 +0200 ++++ detect-stylus/build/Makefile.translation 2007-02-10 17:21:46.170927636 +0200 +@@ -0,0 +1,107 @@ ++.SUFFIXES: .mo .po .pot .po8 ++ ++CONTROL = `if test -e familiar/control1; then echo control1; else echo control; fi` ++ ++# use ipkg-build or ipkg-deb-build ++IPKG_BUILD := ipkg-build ++ ++TRANSLATION_SITE := http://www.iro.umontreal.ca/~gnutra/maint ++ ++ifeq ($(DIR_PO),) ++DIR_PO := po ++endif ++ ++ifeq ($(BINPACKAGE),) ++BINPACKAGE := $(PACKAGE) ++endif ++ ++mo-files = $(patsubst %,$(DIR_PO)/%.mo,$(LINGUAS)) ++po-files = $(patsubst %,$(DIR_PO)/%.po,$(LINGUAS)) ++ ++ifeq ($(shell if [ -f $(PACKAGE).desktop.in ]; then echo present; fi;),present) ++desktop-files += $(PACKAGE).desktop ++endif ++ ++ifneq ($(EXTRA_DESKTOPS),) ++desktop-files += $(patsubst %.desktop.in,%.desktop,$(EXTRA_DESKTOPS)) ++endif ++ ++all-mo: $(mo-files) ++ ++all-desktop: $(desktop-files) ++ ++install-mo: all-mo ++ if [ "$(ENABLE_NLS)" != "no" ]; then \ ++ if [ "x$(LINGUAS)" != "x" ]; then \ ++ for i in $(LINGUAS); do mkdir -p $(DESTDIR)$(PREFIX)/share/locale/$$i/LC_MESSAGES; install -m 644 $(DIR_PO)/$$i.mo $(DESTDIR)$(PREFIX)/share/locale/$$i/LC_MESSAGES/$(PACKAGE).mo; done \ ++ fi; \ ++ fi; ++ ++.po8.mo:; ++ if [ "$(ENABLE_NLS)" != "no" ]; then \ ++ msgfmt -o $@ $<; \ ++ fi; ++ ++.po.po8:; ++ CTYPE=`grep "^\"Content-Type:" $< | sed 's/^.*charset=//;s/\\\\.*//'`; sed "s/\(Content-Type: .*=\)$$CTYPE/\1UTF-8/" < $< | iconv -f $${CTYPE} -t UTF-8 >$@ ++ ++update-po: $(po-files) extract-po ++ ++dist-prep: update-po freshen-po ++# empty ++ ++ifeq ($(CVSBUILD),yes) ++ipkg-prep: freshen-po ++# empty ++endif ++ ++extract-po: ++ mkdir -p $(DIR_PO) ++ ( SOURCES="$(SOURCES)"; for DESK in $(PACKAGE).desktop.in $(EXTRA_DESKTOPS); do if [ -f $$DESK ]; then intltool-extract --type=gettext/ini $$DESK; SOURCES="$$SOURCES $${DESK}.h"; fi; done; if [ "x$$SOURCES" != "x" ]; then xgettext --add-comments=TRANSLATORS: -k_ -kN_ -o $(DIR_PO)/$(PACKAGE).pot.new $$SOURCES; fi ) ++ if [ -f $(DIR_PO)/$(PACKAGE).pot.new ]; then if cmp -s $(DIR_PO)/$(PACKAGE).pot.new $(PACKAGE).pot; then rm $(DIR_PO)/$(PACKAGE).pot.new; else mv $(DIR_PO)/$(PACKAGE).pot.new $(DIR_PO)/$(PACKAGE).pot; fi; fi ++ ++clean: clean-po clean-dist-translation ++ ++clean-po: ++ rm -rf $(DIR_PO)/*.mo ++ for i in $(desktop-files); do if [ -f $$i.in ]; then rm -f $$i; rm -f $$i.in.h; fi; done ++ ++%.desktop: %.desktop.in $(patsubst %,$(DIR_PO)/%.po,$(LINGUAS)) ++ intltool-merge -u -d $(DIR_PO) $< $@ ++ ++freshen-po: ++ rm -rf tmp-po ++ mkdir tmp-po ++ cd tmp-po; for LANG in $(LINGUAS); do wget $(TRANSLATION_SITE)/$(PACKAGE)/$$LANG.po; done ++ for LANG in $(LINGUAS); do if [ ! -f $(DIR_PO)/$$LANG.po ] || ! cmp -s $(DIR_PO)/$$LANG.po tmp-po/$$LANG.po ; then mv tmp-po/$$LANG.po $(DIR_PO)/$$LANG.po; echo "Updated $$LANG translation"; fi; done ++ rm -rf tmp-po ++ ++# ------------------------------------------------------------------------ ++ ++MAINTAINER = $(shell grep 'Maintainer: ' familiar/$(CONTROL) | cut -d ' ' -f 2-) ++ ++ifndef BUILD ++BUILD = ../build ++endif ++ ++transdist := familiar/dist-translation ++templates := $(BUILD)/familiar ++ipkglist := translation-ipkgs.txt ++ ++clean-dist-translation: ++ rm -rf $(transdist) $(ipkglist) ++ ++real-translation-package: all-mo ++ rm -rf $(transdist) $(ipkglist) ++ for LINGUA in $(LINGUAS); do \ ++ i=$$(echo $$LINGUA | tr '[A-Z_]' '[a-z+]'); \ ++ mkdir -p $(transdist)/$$i/CONTROL; \ ++ mkdir -p $(transdist)/$$i$(PREFIX)/share/locale/$$LINGUA/LC_MESSAGES; \ ++ install -m 644 po/$$LINGUA.mo $(transdist)/$$i$(PREFIX)/share/locale/$$LINGUA/LC_MESSAGES/$(PACKAGE).mo; \ ++ sed -e "s/<maintainer>/$(MAINTAINER)/;s/<package>/$(BINPACKAGE)/;s/<version>/$(VERSION)/;s/<language>/$$i/;s!<source>!$(SOURCE)!" $(templates)/control.translation > $(transdist)/$$i/CONTROL/control; \ ++ install $(templates)/postinst.translation $(transdist)/$$i/CONTROL/postinst; \ ++ $(IPKG_BUILD) -g 0 -o 0 $(transdist)/$$i | sed 's/^Packaged .*into //; t 1; d; : 1; s:.*/::' >> $(ipkglist); \ ++ done ++ ++translation-ipkg: ++ make PREFIX=/usr real-translation-package diff --git a/packages/gpe-appmgr/gpe-appmgr_svn.bb b/packages/gpe-appmgr/gpe-appmgr_svn.bb new file mode 100644 index 0000000000..25492b1bc6 --- /dev/null +++ b/packages/gpe-appmgr/gpe-appmgr_svn.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "GPE application launcher" +SECTION = "gpe" +LICENSE = "GPL" +DEPENDS = "libgpewidget libgpelaunch cairo libxsettings-client" +PV = "2.8+svn${SRCDATE}" +PR = "r0" + +inherit gpe + +SRC_URI = "${GPE_SVN} \ + file://svn-build.patch;patch=1" + +S = "${WORKDIR}/${PN}" + +export CVSBUILD="no" + +DEFAULT_PREFERENCE = "-1" diff --git a/packages/gpe-autostarter/gpe-autostarter_svn.bb b/packages/gpe-autostarter/gpe-autostarter_svn.bb new file mode 100644 index 0000000000..2742952e0f --- /dev/null +++ b/packages/gpe-autostarter/gpe-autostarter_svn.bb @@ -0,0 +1,15 @@ +SECTION = "gpe" +LICENSE = "GPL" +DEPENDS = "glib-2.0 dbus-glib hotplug-dbus virtual/libx11" +RDEPENDS = "hotplug-dbus" + +inherit gpe + +SRC_URI = "${GPE_SVN} \ + file://svn-build.patch;patch=1" + +S = "${WORKDIR}/${PN}" + +export CVSBUILD="no" + +DEFAULT_PREFERENCE = "-1" diff --git a/packages/gpe-autostarter/svn-build.patch b/packages/gpe-autostarter/svn-build.patch new file mode 100644 index 0000000000..ea1d67af6b --- /dev/null +++ b/packages/gpe-autostarter/svn-build.patch @@ -0,0 +1,229 @@ +diff -Naur detect-stylus.orig/build/Makefile.dpkg_ipkg detect-stylus/build/Makefile.dpkg_ipkg +--- detect-stylus.orig/build/Makefile.dpkg_ipkg 1970-01-01 02:00:00.000000000 +0200 ++++ detect-stylus/build/Makefile.dpkg_ipkg 2007-02-10 17:21:40.154584782 +0200 +@@ -0,0 +1,114 @@ ++## Please read the README in this directory to see how to use this ++## Makefile snippet ++ ++# Let's use whatever clean target the specific app provides ++ ++CONTROL = `if test -e familiar/control1; then echo control1; else echo control; fi` ++ ++# URL to source tarball ++SOURCE = http://gpe.linuxtogo.org/download/source/$(PACKAGE)-$(VERSION).tar.gz ++ ++# can change this to e.g. /var/tmp/deb ++DEB_PATH = ../deb ++ ++ifeq ($(CVSBUILD),yes) ++LIBGPEWIDGET_PC = libgpewidget-uninstalled ++PC_EXTRA=PKG_CONFIG_PATH=../../base/libgpewidget ++else ++LIBGPEWIDGET_PC = libgpewidget ++endif ++ ++ifeq ($(IN_LIBGPEWIDGET),) ++GPECFLAGS = $(shell $(PC_EXTRA) pkg-config --cflags $(LIBGPEWIDGET_PC)) ++GPELIBS = $(shell $(PC_EXTRA) pkg-config --libs $(LIBGPEWIDGET_PC)) ++endif ++ ++GTKCFLAGS = $(shell pkg-config --cflags gtk+-2.0) ++GTKLIBS = $(shell pkg-config --libs gtk+-2.0) ++ ++STANDARD_CPPFLAGS = -D_GNU_SOURCE -DPACKAGE=\"$(PACKAGE)\" -DPREFIX=\"$(PREFIX)\" -DPACKAGE_LOCALE_DIR=\"$(PREFIX)/share/locale\" ++STANDARD_CFLAGS = -MD -Wall ++ ++ifeq ($(DEBUG),yes) ++CFLAGS += -O2 -g ++LDFLAGS = -g ++else ++CFLAGS += -Os -fomit-frame-pointer ++endif ++ ++dist: check-source clean dist-prep ++ rm -rf ../$(PACKAGE)-$(VERSION) ++ mkdir ../$(PACKAGE)-$(VERSION) ++ ( tar cf - --exclude "*/CVS" --exclude CVS --exclude "*~" --exclude "#*#" --exclude "debian" --exclude ".*" --exclude "*.ipk" --exclude "*.ipk.*" --exclude "*.mo" --exclude "*.batch" --exclude "translation-ipkgs.txt" * ) | (cd ../$(PACKAGE)-$(VERSION); tar xf -) ++ ( if [ -f linguas ]; then LINGUAS=`cat linguas`; PATCH_LINGUAS="s:^LINGUAS =.*:LINGUAS = $${LINGUAS}:"; fi; cd ../$(PACKAGE)-$(VERSION) && mkdir build && cp $(BUILD)/Makefile.dpkg_ipkg $(BUILD)/Makefile.translation build/ && sed "s:^CVSBUILD =.*:CVSBUILD = no:;s:^DEBUG =.*:DEBUG = no:;s:Makefile.translation-auto-linguas:Makefile.translation:;$${PATCH_LINGUAS}" < Makefile > Makefile.new && mv Makefile.new Makefile ) ++ ( cd .. ; tar cf - $(PACKAGE)-$(VERSION) | gzip -9 >$(PACKAGE)-$(VERSION).tar.gz ) ++ rm -rf ../$(PACKAGE)-$(VERSION) ++ $(MAKE) printinfo ++ ++dist-upload: dist ++ scp ../$(PACKAGE)-$(VERSION).tar.gz $(USER)@linuxtogo.org:/media/data/projects/gpe/source/ ++ ++dist-prep: ++ipkg-prep: ++install-mo: ++# empty, can be filled in Makefile.translation ++ ++install: install-program install-mo ++ ++clean-dist: ++ rm -rf familiar/dist familiar/dist.list ++ ++clean: clean-dist ++ ++check-source: ++ @if [ -f familiar/$(CONTROL) ] && ! grep -q '^Source:' familiar/$(CONTROL); then echo -e "\nNo Source: field in control file. Aborting.\n"; exit 1; fi ++ ++ipkg: check-source ipkg-prep clean ++ rm -rf familiar/dist ++ mkdir -p familiar/dist/CONTROL ++ sed 's:VERSION:$(VERSION):;s$$SOURCE$$$(SOURCE)$$' < familiar/$(CONTROL) > familiar/dist/CONTROL/control ++ if test -e familiar/conffiles; then install -m 644 familiar/conffiles familiar/dist/CONTROL; fi ++ if test -e familiar/preinst; then install familiar/preinst familiar/dist/CONTROL; fi ++ if test -e familiar/postinst; then install familiar/postinst familiar/dist/CONTROL; fi ++ if test -e familiar/prerm; then install familiar/prerm familiar/dist/CONTROL; fi ++ if test -e familiar/postrm; then install familiar/postrm familiar/dist/CONTROL; fi ++ $(MAKE) DESTDIR=`pwd`/familiar/dist PREFIX=/usr prefix=/usr DEBUG=no install-program ++ rm -rf familiar/dist.list ++ ipkg-build -o 0 -g 0 familiar/dist | sed 's/^Packaged .*into //; t 1; d; : 1; s:.*/::' >> familiar/dist.list ++ if [ "x$(LINGUAS)" != "x" ]; then make translation-ipkg; tr ' ' '\n' < translation-ipkgs.txt >> familiar/dist.list; fi ++ md5sum `cat familiar/dist.list` > $(PACKAGE)_$(VERSION).batch ++ rm -rf familiar/dist familiar/dist.list ++ $(MAKE) printinfo ++ ++dpkg: dist ++ mkdir -p $(DEB_PATH) ++ ( olddir=`pwd`; cd $(DEB_PATH); rm -rf $(PACKAGE)-$(VERSION); ln -s $$olddir/../$(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)_$(VERSION).orig.tar.gz ; tar xzf $(PACKAGE)_$(VERSION).orig.tar.gz ) ++ mkdir -p $(DEB_PATH)/$(PACKAGE)-$(VERSION)/debian ++ for i in debian/*; do if test -f $$i; then cp $$i $(DEB_PATH)/$(PACKAGE)-$(VERSION)/debian/; fi; done ++ ++CVSTAG := $(shell echo $(PACKAGE)-$(VERSION) | tr [a-z.] [A-Z_]) ++printinfo: ++ @printf '-------------------------------------------------------------------------------\n' ++ @printf "If this becomes a package release, please add a CVS tag.\n" ++ @printf "You can use 'make tag' for that, it will execute\n" ++ @printf " cvs tag %s\n" $(CVSTAG) ++ @printf "Please upload a tarball (created with 'make dist') to\n" ++ @printf " ftp://ftp.handhelds.org/pub/projects/gpe/\n" ++ @printf " (handhelds.org:~ftp/pub/projects/gpe/source)\n" ++ @printf "You can use 'make dist-upload' to do that.\n" ++ @printf "You are currently known as USER %s.\n" $(USER) ++ @printf '-------------------------------------------------------------------------------\n' ++ ++tag: check-source ++ cvs tag $(CVSTAG) ++ ++retag: check-source ++ cvs tag -F $(CVSTAG) ++ ++source: tag dist-upload ++ ++%.pc: %.pc.in ++ sed 's:PREFIX:$(PREFIX):;s:BUILDDIR:$(shell pwd):;s:VERSION:$(VERSION):' < $< > $@ ++ ++.c.o:; ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(PACKAGE_CFLAGS) $(PACKAGE_CPPFLAGS) -c $< -o $@ +diff -Naur detect-stylus.orig/build/Makefile.translation detect-stylus/build/Makefile.translation +--- detect-stylus.orig/build/Makefile.translation 1970-01-01 02:00:00.000000000 +0200 ++++ detect-stylus/build/Makefile.translation 2007-02-10 17:21:46.170927636 +0200 +@@ -0,0 +1,107 @@ ++.SUFFIXES: .mo .po .pot .po8 ++ ++CONTROL = `if test -e familiar/control1; then echo control1; else echo control; fi` ++ ++# use ipkg-build or ipkg-deb-build ++IPKG_BUILD := ipkg-build ++ ++TRANSLATION_SITE := http://www.iro.umontreal.ca/~gnutra/maint ++ ++ifeq ($(DIR_PO),) ++DIR_PO := po ++endif ++ ++ifeq ($(BINPACKAGE),) ++BINPACKAGE := $(PACKAGE) ++endif ++ ++mo-files = $(patsubst %,$(DIR_PO)/%.mo,$(LINGUAS)) ++po-files = $(patsubst %,$(DIR_PO)/%.po,$(LINGUAS)) ++ ++ifeq ($(shell if [ -f $(PACKAGE).desktop.in ]; then echo present; fi;),present) ++desktop-files += $(PACKAGE).desktop ++endif ++ ++ifneq ($(EXTRA_DESKTOPS),) ++desktop-files += $(patsubst %.desktop.in,%.desktop,$(EXTRA_DESKTOPS)) ++endif ++ ++all-mo: $(mo-files) ++ ++all-desktop: $(desktop-files) ++ ++install-mo: all-mo ++ if [ "$(ENABLE_NLS)" != "no" ]; then \ ++ if [ "x$(LINGUAS)" != "x" ]; then \ ++ for i in $(LINGUAS); do mkdir -p $(DESTDIR)$(PREFIX)/share/locale/$$i/LC_MESSAGES; install -m 644 $(DIR_PO)/$$i.mo $(DESTDIR)$(PREFIX)/share/locale/$$i/LC_MESSAGES/$(PACKAGE).mo; done \ ++ fi; \ ++ fi; ++ ++.po8.mo:; ++ if [ "$(ENABLE_NLS)" != "no" ]; then \ ++ msgfmt -o $@ $<; \ ++ fi; ++ ++.po.po8:; ++ CTYPE=`grep "^\"Content-Type:" $< | sed 's/^.*charset=//;s/\\\\.*//'`; sed "s/\(Content-Type: .*=\)$$CTYPE/\1UTF-8/" < $< | iconv -f $${CTYPE} -t UTF-8 >$@ ++ ++update-po: $(po-files) extract-po ++ ++dist-prep: update-po freshen-po ++# empty ++ ++ifeq ($(CVSBUILD),yes) ++ipkg-prep: freshen-po ++# empty ++endif ++ ++extract-po: ++ mkdir -p $(DIR_PO) ++ ( SOURCES="$(SOURCES)"; for DESK in $(PACKAGE).desktop.in $(EXTRA_DESKTOPS); do if [ -f $$DESK ]; then intltool-extract --type=gettext/ini $$DESK; SOURCES="$$SOURCES $${DESK}.h"; fi; done; if [ "x$$SOURCES" != "x" ]; then xgettext --add-comments=TRANSLATORS: -k_ -kN_ -o $(DIR_PO)/$(PACKAGE).pot.new $$SOURCES; fi ) ++ if [ -f $(DIR_PO)/$(PACKAGE).pot.new ]; then if cmp -s $(DIR_PO)/$(PACKAGE).pot.new $(PACKAGE).pot; then rm $(DIR_PO)/$(PACKAGE).pot.new; else mv $(DIR_PO)/$(PACKAGE).pot.new $(DIR_PO)/$(PACKAGE).pot; fi; fi ++ ++clean: clean-po clean-dist-translation ++ ++clean-po: ++ rm -rf $(DIR_PO)/*.mo ++ for i in $(desktop-files); do if [ -f $$i.in ]; then rm -f $$i; rm -f $$i.in.h; fi; done ++ ++%.desktop: %.desktop.in $(patsubst %,$(DIR_PO)/%.po,$(LINGUAS)) ++ intltool-merge -u -d $(DIR_PO) $< $@ ++ ++freshen-po: ++ rm -rf tmp-po ++ mkdir tmp-po ++ cd tmp-po; for LANG in $(LINGUAS); do wget $(TRANSLATION_SITE)/$(PACKAGE)/$$LANG.po; done ++ for LANG in $(LINGUAS); do if [ ! -f $(DIR_PO)/$$LANG.po ] || ! cmp -s $(DIR_PO)/$$LANG.po tmp-po/$$LANG.po ; then mv tmp-po/$$LANG.po $(DIR_PO)/$$LANG.po; echo "Updated $$LANG translation"; fi; done ++ rm -rf tmp-po ++ ++# ------------------------------------------------------------------------ ++ ++MAINTAINER = $(shell grep 'Maintainer: ' familiar/$(CONTROL) | cut -d ' ' -f 2-) ++ ++ifndef BUILD ++BUILD = ../build ++endif ++ ++transdist := familiar/dist-translation ++templates := $(BUILD)/familiar ++ipkglist := translation-ipkgs.txt ++ ++clean-dist-translation: ++ rm -rf $(transdist) $(ipkglist) ++ ++real-translation-package: all-mo ++ rm -rf $(transdist) $(ipkglist) ++ for LINGUA in $(LINGUAS); do \ ++ i=$$(echo $$LINGUA | tr '[A-Z_]' '[a-z+]'); \ ++ mkdir -p $(transdist)/$$i/CONTROL; \ ++ mkdir -p $(transdist)/$$i$(PREFIX)/share/locale/$$LINGUA/LC_MESSAGES; \ ++ install -m 644 po/$$LINGUA.mo $(transdist)/$$i$(PREFIX)/share/locale/$$LINGUA/LC_MESSAGES/$(PACKAGE).mo; \ ++ sed -e "s/<maintainer>/$(MAINTAINER)/;s/<package>/$(BINPACKAGE)/;s/<version>/$(VERSION)/;s/<language>/$$i/;s!<source>!$(SOURCE)!" $(templates)/control.translation > $(transdist)/$$i/CONTROL/control; \ ++ install $(templates)/postinst.translation $(transdist)/$$i/CONTROL/postinst; \ ++ $(IPKG_BUILD) -g 0 -o 0 $(transdist)/$$i | sed 's/^Packaged .*into //; t 1; d; : 1; s:.*/::' >> $(ipkglist); \ ++ done ++ ++translation-ipkg: ++ make PREFIX=/usr real-translation-package diff --git a/packages/gpe-bluetooth/gpe-bluetooth_0.51.bb b/packages/gpe-bluetooth/gpe-bluetooth_0.51.bb index 2eaa992955..15d8ccafcc 100644 --- a/packages/gpe-bluetooth/gpe-bluetooth_0.51.bb +++ b/packages/gpe-bluetooth/gpe-bluetooth_0.51.bb @@ -1,6 +1,6 @@ LICENSE = "GPL" DESCRIPTION = "GPE bluetooth support user interface tool." -SECTION = "gpe" +SECTION = "gpe" PRIORITY = "optional" PR = "r1" diff --git a/packages/gpe-bluetooth/gpe-bluetooth_0.52.bb b/packages/gpe-bluetooth/gpe-bluetooth_0.52.bb index 7720647cf8..b6dcfcca61 100644 --- a/packages/gpe-bluetooth/gpe-bluetooth_0.52.bb +++ b/packages/gpe-bluetooth/gpe-bluetooth_0.52.bb @@ -1,6 +1,6 @@ LICENSE = "GPL" DESCRIPTION = "GPE bluetooth support user interface tool." -SECTION = "gpe" +SECTION = "gpe" PRIORITY = "optional" PR = "r0" diff --git a/packages/gpe-bluetooth/gpe-bluetooth_0.53.bb b/packages/gpe-bluetooth/gpe-bluetooth_0.53.bb index 7720647cf8..b6dcfcca61 100644 --- a/packages/gpe-bluetooth/gpe-bluetooth_0.53.bb +++ b/packages/gpe-bluetooth/gpe-bluetooth_0.53.bb @@ -1,6 +1,6 @@ LICENSE = "GPL" DESCRIPTION = "GPE bluetooth support user interface tool." -SECTION = "gpe" +SECTION = "gpe" PRIORITY = "optional" PR = "r0" diff --git a/packages/gpe-bluetooth/gpe-bluetooth_0.54.bb b/packages/gpe-bluetooth/gpe-bluetooth_0.54.bb index 24d3ff48ce..e664f51959 100644 --- a/packages/gpe-bluetooth/gpe-bluetooth_0.54.bb +++ b/packages/gpe-bluetooth/gpe-bluetooth_0.54.bb @@ -1,6 +1,6 @@ LICENSE = "GPL" DESCRIPTION = "GPE bluetooth support user interface tool." -SECTION = "gpe" +SECTION = "gpe" PRIORITY = "optional" PR = "r1" diff --git a/packages/gpe-filemanager/gpe-filemanager_0.23.bb b/packages/gpe-filemanager/gpe-filemanager_0.23.bb index 5d0fe7a1b0..e2da6036fc 100644 --- a/packages/gpe-filemanager/gpe-filemanager_0.23.bb +++ b/packages/gpe-filemanager/gpe-filemanager_0.23.bb @@ -5,7 +5,7 @@ PR = "r0" LICENSE = "GPL" DESCRIPTION = "GPE file manager" DEPENDS = "libgpewidget gnome-vfs dbus-glib" -SECTION = "gpe" +SECTION = "gpe" RDEPENDS = "gpe-icons" RRECOMMENDS = "gnome-vfs-plugin-file" diff --git a/packages/gpe-filemanager/gpe-filemanager_0.24.bb b/packages/gpe-filemanager/gpe-filemanager_0.24.bb index 5d0fe7a1b0..e2da6036fc 100644 --- a/packages/gpe-filemanager/gpe-filemanager_0.24.bb +++ b/packages/gpe-filemanager/gpe-filemanager_0.24.bb @@ -5,7 +5,7 @@ PR = "r0" LICENSE = "GPL" DESCRIPTION = "GPE file manager" DEPENDS = "libgpewidget gnome-vfs dbus-glib" -SECTION = "gpe" +SECTION = "gpe" RDEPENDS = "gpe-icons" RRECOMMENDS = "gnome-vfs-plugin-file" diff --git a/packages/gpe-filemanager/gpe-filemanager_0.25.bb b/packages/gpe-filemanager/gpe-filemanager_0.25.bb index 1ccb811490..ac91df6a40 100644 --- a/packages/gpe-filemanager/gpe-filemanager_0.25.bb +++ b/packages/gpe-filemanager/gpe-filemanager_0.25.bb @@ -5,7 +5,7 @@ PR = "r1" LICENSE = "GPL" DESCRIPTION = "GPE file manager" DEPENDS = "libgpewidget gnome-vfs dbus-glib" -SECTION = "gpe" +SECTION = "gpe" RDEPENDS = "gpe-icons" RRECOMMENDS = "gnome-vfs-plugin-file gnome-vfs-plugin-smb gnome-vfs-plugin-ftp gnome-vfs-plugin-computer gnome-vfs-plugin-network gnome-vfs-plugin-sftp gnome-vfs-plugin-http" diff --git a/packages/gpe-login/gpe-login_0.87.bb b/packages/gpe-login/gpe-login_0.87.bb index 1674e0c8be..04839a4412 100644 --- a/packages/gpe-login/gpe-login_0.87.bb +++ b/packages/gpe-login/gpe-login_0.87.bb @@ -2,7 +2,7 @@ LICENSE = "GPL" inherit gpe DESCRIPTION = "GPE user login screen" -SECTION = "gpe" +SECTION = "gpe" PRIORITY = "optional" DEPENDS = "gtk+ libgpewidget gpe-ownerinfo xkbd" RDEPENDS = "xkbd" diff --git a/packages/gpe-mini-browser/gpe-mini-browser_0.17.bb b/packages/gpe-mini-browser/gpe-mini-browser_0.17.bb index 99523c08f8..b8146edbb8 100644 --- a/packages/gpe-mini-browser/gpe-mini-browser_0.17.bb +++ b/packages/gpe-mini-browser/gpe-mini-browser_0.17.bb @@ -2,7 +2,7 @@ require gpe-mini-browser.inc SRC_URI = "ftp://ftp.handhelds.org/projects/gpe/source/gpe-mini-browser-${PV}.tar.gz" DEPENDS = "osb-nrcit sqlite libgpewidget" -RRECOMMENDS = "gdk-pixbuf-loader-gif gdk-pixbuf-loader-png gdk-pixbuf-loader-jpeg" +RRECOMMENDS = "gdk-pixbuf-loader-gif gdk-pixbuf-loader-png gdk-pixbuf-loader-jpeg" S = "${WORKDIR}/gpe-mini-browser-${PV}" diff --git a/packages/gpe-mini-browser/gpe-mini-browser_0.18.bb b/packages/gpe-mini-browser/gpe-mini-browser_0.18.bb index 99523c08f8..b8146edbb8 100644 --- a/packages/gpe-mini-browser/gpe-mini-browser_0.18.bb +++ b/packages/gpe-mini-browser/gpe-mini-browser_0.18.bb @@ -2,7 +2,7 @@ require gpe-mini-browser.inc SRC_URI = "ftp://ftp.handhelds.org/projects/gpe/source/gpe-mini-browser-${PV}.tar.gz" DEPENDS = "osb-nrcit sqlite libgpewidget" -RRECOMMENDS = "gdk-pixbuf-loader-gif gdk-pixbuf-loader-png gdk-pixbuf-loader-jpeg" +RRECOMMENDS = "gdk-pixbuf-loader-gif gdk-pixbuf-loader-png gdk-pixbuf-loader-jpeg" S = "${WORKDIR}/gpe-mini-browser-${PV}" diff --git a/packages/gpe-mini-browser/gpe-mini-browser_svn.bb b/packages/gpe-mini-browser/gpe-mini-browser_svn.bb index 369ea5153d..67c16862e8 100644 --- a/packages/gpe-mini-browser/gpe-mini-browser_svn.bb +++ b/packages/gpe-mini-browser/gpe-mini-browser_svn.bb @@ -1,18 +1,13 @@ -require gpe-mini-browser.inc - -DEFAULT_PREFERENCE = "-1" - DEPENDS = "sqlite gettext gtk+ glib-2.0 osb-nrcit libgpewidget" RRECOMMENDS = "gdk-pixbuf-loader-gif gdk-pixbuf-loader-png gdk-pixbuf-loader-jpeg" - -PV = "0.19+svn${SRCDATE}" +PV = "0.20+svn${SRCDATE}" PR = "r0" -SRC_URI = "svn://projects.linuxtogo.org/svn/gpe/trunk/extra;module=${PN}" +inherit autotools -S = "${WORKDIR}/gpe-mini-browser" +SRC_URI = "${GPE_EXTRA_SVN}" -inherit autotools +S = "${WORKDIR}/gpe-mini-browser" do_install() { install -d ${D}/usr/share/applications @@ -39,7 +34,6 @@ pkg_postinst_${PN}-doc () { fi fi } - pkg_postrm_${PN}-doc () { #!/bin/sh if [ -e /etc/gpe/gpe-help.conf ]; then @@ -54,3 +48,6 @@ pkg_postrm_${PN}-doc () { fi } +require gpe-mini-browser.inc + +DEFAULT_PREFERENCE = "-1" diff --git a/packages/gpe-session-scripts/gpe-session-scripts_0.67.bb b/packages/gpe-session-scripts/gpe-session-scripts_0.67.bb index 85c6a2575a..583fe2f7e3 100644 --- a/packages/gpe-session-scripts/gpe-session-scripts_0.67.bb +++ b/packages/gpe-session-scripts/gpe-session-scripts_0.67.bb @@ -4,14 +4,14 @@ DESCRIPTION = "GPE session startup scripts" LICENSE = "GPL" SECTION = "gpe" PRIORITY = "optional" -RDEPENDS_${PN} = "matchbox-panel (>= 0.9.2-r12) matchbox-desktop (>= 0.9.1-r1) matchbox-common (>= 0.9.1-r2) gpe-session-starter gpe-bluetooth xstroke xtscal gpe-question gpe-clock matchbox-applet-inputmanager xrandr xmodmap xdpyinfo xserver-common" +RDEPENDS_${PN} = "matchbox-panel (>= 0.9.2-r12) matchbox-desktop (>= 0.9.1-r1) matchbox-common (>= 0.9.1-r2) gpe-session-starter xtscal gpe-question matchbox-applet-inputmanager xmodmap xdpyinfo xserver-common" # more rdepends: keylaunch ipaq-sleep apmd blueprobe -DEPENDS = "matchbox-wm matchbox-panel gpe-bluetooth xstroke xtscal gpe-question matchbox-applet-inputmanager gpe-clock xrandr xmodmap xdpyinfo xserver-common" +DEPENDS = "matchbox-wm matchbox-panel xtscal gpe-question matchbox-applet-inputmanager xmodmap xdpyinfo xserver-common" SRC_URI += "file://matchbox-session \ file://disable-composite.xsettings" -PR = "r5" +PR = "r6" #apply a patch to set the fontsize for bigdpi (200+) devices to 5 SRC_URI_append_hx4700 = " file://highdpifontfix.patch;patch=1" diff --git a/packages/gpe-shield/gpe-shield_0.9.bb b/packages/gpe-shield/gpe-shield_0.9.bb index c47e00d52d..aac8899035 100644 --- a/packages/gpe-shield/gpe-shield_0.9.bb +++ b/packages/gpe-shield/gpe-shield_0.9.bb @@ -1,5 +1,5 @@ DESCRIPTION = "GPE network security tool" -SECTION = "gpe" +SECTION = "gpe" LICENSE = "GPL" DEPENDS = "libgpewidget iptables virtual/kernel" diff --git a/packages/gpe-themes/gpe-theme-clearlooks_0.2.bb b/packages/gpe-themes/gpe-theme-clearlooks_0.2.bb index 796fc0ccae..77f8289025 100644 --- a/packages/gpe-themes/gpe-theme-clearlooks_0.2.bb +++ b/packages/gpe-themes/gpe-theme-clearlooks_0.2.bb @@ -1,14 +1,13 @@ -DESCRIPTION = "GTK+ clearlooks theme adjusted for GPE" -LICENSE = "GPL" - -PR= "r1" +DESCRIPTION = "GTK+ clearlooks theme adjusted for GPE" +LICENSE = "GPL" +PR = "r1" #it doesn't really depends on it, but it's nice to make OE build it -DEPENDS = "gtk-engines" -RDEPENDS = "gtk-engine-clearlooks" +DEPENDS = "gtk-engines" +RDEPENDS = "gtk-engine-clearlooks" -FILES_${PN} = "${datadir}/themes/" -SRC_URI = "http://dominion.kabel.utwente.nl/koen/pda/files/${P}.tar.gz" +FILES_${PN} = "${datadir}/themes/" +SRC_URI = "http://dominion.kabel.utwente.nl/koen/pda/files/${P}.tar.gz" do_install() { install -d ${D}${datadir}/themes/ diff --git a/packages/gpe-themes/gpe-theme-clearlooks_0.3.bb b/packages/gpe-themes/gpe-theme-clearlooks_0.3.bb index 8af15beb94..0ec4e10338 100644 --- a/packages/gpe-themes/gpe-theme-clearlooks_0.3.bb +++ b/packages/gpe-themes/gpe-theme-clearlooks_0.3.bb @@ -1,14 +1,12 @@ -DESCRIPTION = "GTK+ clearlooks theme adjusted for GPE" -LICENSE = "GPL" - -PR= "r0" +DESCRIPTION = "GTK+ clearlooks theme adjusted for GPE" +LICENSE = "GPL" #it doesn't really depends on it, but it's nice to make OE build it -DEPENDS = "gtk-engines" -RDEPENDS = "gtk-engine-clearlooks" +DEPENDS = "gtk-engines" +RDEPENDS = "gtk-engine-clearlooks" -FILES_${PN} = "${datadir}/themes/" -SRC_URI = "http://dominion.kabel.utwente.nl/koen/pda/files/${P}.tar.gz" +FILES_${PN} = "${datadir}/themes/" +SRC_URI = "http://dominion.kabel.utwente.nl/koen/pda/files/${P}.tar.gz" do_install() { install -d ${D}${datadir}/themes/ diff --git a/packages/gpe-themes/gpe-theme-industrial_0.2.bb b/packages/gpe-themes/gpe-theme-industrial_0.2.bb index 1a0b8f49a8..02b7a62c0d 100644 --- a/packages/gpe-themes/gpe-theme-industrial_0.2.bb +++ b/packages/gpe-themes/gpe-theme-industrial_0.2.bb @@ -1,14 +1,12 @@ -DESCRIPTION = "GTK+ industrial theme adjusted for GPE" -LICENSE = "GPL" - -PR= "r0" +DESCRIPTION = "GTK+ industrial theme adjusted for GPE" +LICENSE = "GPL" #it doesn't really depends on it, but it's nice to make OE build it -DEPENDS = "gtk-engines" -RDEPENDS = "gtk-engine-industrial" +DEPENDS = "gtk-engines" +RDEPENDS = "gtk-engine-industrial" -FILES_${PN} = "${datadir}/themes/" -SRC_URI = "http://dominion.kabel.utwente.nl/koen/pda/files/${P}.tar.gz" +FILES_${PN} = "${datadir}/themes/" +SRC_URI = "http://dominion.kabel.utwente.nl/koen/pda/files/${P}.tar.gz" do_install() { install -d ${D}${datadir}/themes/ diff --git a/packages/gpe-todo/gpe-todo-hildon_0.54.bb b/packages/gpe-todo/gpe-todo-hildon_0.54.bb index 8fa37565cb..9c75dec47a 100644 --- a/packages/gpe-todo/gpe-todo-hildon_0.54.bb +++ b/packages/gpe-todo/gpe-todo-hildon_0.54.bb @@ -3,7 +3,7 @@ PR = "r0" DESCRIPTION = "GPE to-do list" DEPENDS = "libgpewidget-hildon libgpepimc-hildon libtododb sdk-default-icons libosso" RDEPENDS = "sdk-default-icons" -SECTION = "gpe" +SECTION = "gpe" PRIORITY = "optional" inherit gpe autotools pkgconfig diff --git a/packages/gpe-todo/gpe-todo-hildon_0.55.bb b/packages/gpe-todo/gpe-todo-hildon_0.55.bb index 8fa37565cb..9c75dec47a 100644 --- a/packages/gpe-todo/gpe-todo-hildon_0.55.bb +++ b/packages/gpe-todo/gpe-todo-hildon_0.55.bb @@ -3,7 +3,7 @@ PR = "r0" DESCRIPTION = "GPE to-do list" DEPENDS = "libgpewidget-hildon libgpepimc-hildon libtododb sdk-default-icons libosso" RDEPENDS = "sdk-default-icons" -SECTION = "gpe" +SECTION = "gpe" PRIORITY = "optional" inherit gpe autotools pkgconfig diff --git a/packages/gpe-what/gpe-what_cvs.bb b/packages/gpe-what/gpe-what_cvs.bb index bd83a42c53..4572d467b6 100644 --- a/packages/gpe-what/gpe-what_cvs.bb +++ b/packages/gpe-what/gpe-what_cvs.bb @@ -3,11 +3,10 @@ LICENSE = "GPL" DEFAULT_PREFERENCE = "-1" S = "${WORKDIR}/${PN}" PV = "0.41+cvs${SRCDATE}" -PR = "r0" inherit autotools gpe -SRC_URI = "${HANDHELDS_CVS};module=gpe/base/${PN}" +SRC_URI = "${HANDHELDS_CVS};module=gpe/base/${PN}" DESCRIPTION = "GPE modal help" DEPENDS = "virtual/libx11 gtk+" diff --git a/packages/gpephone/addressbook_0.1.bb b/packages/gpephone/addressbook_0.1.bb index 71764de6ca..21fd95fe66 100644 --- a/packages/gpephone/addressbook_0.1.bb +++ b/packages/gpephone/addressbook_0.1.bb @@ -1,6 +1,6 @@ LICENSE = "LiPS" DESCRIPTION = "LiPS address book" -SECTION = "gpe" +SECTION = "gpe" PRIORITY = "optional" PR = "r0" diff --git a/packages/gpephone/audioplayer_1.0.bb b/packages/gpephone/audioplayer_1.0.bb index e79b294e81..77737248b4 100644 --- a/packages/gpephone/audioplayer_1.0.bb +++ b/packages/gpephone/audioplayer_1.0.bb @@ -1,6 +1,6 @@ LICENSE = "LiPS" DESCRIPTION = "An audio player for GPE phone edition." -SECTION = "gpe" +SECTION = "gpe" PRIORITY = "optional" PR = "r0" diff --git a/packages/gpephone/calendar_1.0.bb b/packages/gpephone/calendar_1.0.bb index 342f81eed4..c78979e244 100644 --- a/packages/gpephone/calendar_1.0.bb +++ b/packages/gpephone/calendar_1.0.bb @@ -1,6 +1,6 @@ LICENSE = "LiPS" DESCRIPTION = "Calendar application for GPE Phone Edition" -SECTION = "gpe" +SECTION = "gpe" PRIORITY = "optional" PR = "r0" diff --git a/packages/gpephone/cms92init_0.1.bb b/packages/gpephone/cms92init_0.1.bb index aaa079966d..ab0388a45d 100644 --- a/packages/gpephone/cms92init_0.1.bb +++ b/packages/gpephone/cms92init_0.1.bb @@ -1,6 +1,6 @@ DESCRIPTION = "GSM/GPRS mux initializer" LICENSE = "GPL" -SECTION = "gpe" +SECTION = "gpe" PRIORITY = "optional" DEPENDS = "glibc" PR = "r0" diff --git a/packages/gpephone/connect_0.1.bb b/packages/gpephone/connect_0.1.bb index 3e14f78fcf..c5ce0a0d54 100644 --- a/packages/gpephone/connect_0.1.bb +++ b/packages/gpephone/connect_0.1.bb @@ -1,6 +1,6 @@ DESCRIPTION = "GSM/GPRS mux tools" LICENSE = "GPL" -SECTION = "gpe" +SECTION = "gpe" PRIORITY = "optional" DEPENDS = "glibc" PR = "r0" diff --git a/packages/gpephone/gloox_0.8.1.bb b/packages/gpephone/gloox_0.8.1.bb index e6d6e509c7..09004a8182 100644 --- a/packages/gpephone/gloox_0.8.1.bb +++ b/packages/gpephone/gloox_0.8.1.bb @@ -1,6 +1,6 @@ LICENSE = "GPL" DESCRIPTION = "full-featured Jabber/XMPP client library." -SECTION = "networking" +SECTION = "networking" PRIORITY = "optional" PR = "r0" diff --git a/packages/gpephone/gpe-applauncher_0.7.bb b/packages/gpephone/gpe-applauncher_0.7.bb index 6b6d08d547..ae6cd31d9a 100644 --- a/packages/gpephone/gpe-applauncher_0.7.bb +++ b/packages/gpephone/gpe-applauncher_0.7.bb @@ -1,6 +1,6 @@ LICENSE = "GPL" DESCRIPTION = "A cellphone application launcher." -SECTION = "gpe" +SECTION = "gpe" PRIORITY = "optional" PR = "r0" diff --git a/packages/gpephone/gpe-phonepanel_0.7.bb b/packages/gpephone/gpe-phonepanel_0.7.bb index 770b028de9..1a2f4a272e 100644 --- a/packages/gpephone/gpe-phonepanel_0.7.bb +++ b/packages/gpephone/gpe-phonepanel_0.7.bb @@ -1,6 +1,6 @@ LICENSE = "GPL" DESCRIPTION = "A cellphone status panel to be used with gpe-applauncher." -SECTION = "gpe" +SECTION = "gpe" PRIORITY = "optional" PR = "r0" diff --git a/packages/gpephone/gsmmux_alpha-2.bb b/packages/gpephone/gsmmux_alpha-2.bb index 3354acdafb..9a6433a58a 100644 --- a/packages/gpephone/gsmmux_alpha-2.bb +++ b/packages/gpephone/gsmmux_alpha-2.bb @@ -1,6 +1,6 @@ LICENSE = "GPL" DESCRIPTION = "A GSM (De-)Multiplexer." -SECTION = "gsm" +SECTION = "gsm" PRIORITY = "optional" PR = "r0" diff --git a/packages/gpephone/iksemel_1.2.bb b/packages/gpephone/iksemel_1.2.bb index 69cc98ec0d..40ad32ce0e 100644 --- a/packages/gpephone/iksemel_1.2.bb +++ b/packages/gpephone/iksemel_1.2.bb @@ -1,6 +1,6 @@ LICENSE = "LGPL" DESCRIPTION = "A simple, powerful XML-parsing library written in C." -SECTION = "libs" +SECTION = "libs" PRIORITY = "optional" DEPENDS = "glibc" PR = "r0" diff --git a/packages/gpephone/libabenabler_0.1.bb b/packages/gpephone/libabenabler_0.1.bb index 84afecb83b..7a8efb8382 100644 --- a/packages/gpephone/libabenabler_0.1.bb +++ b/packages/gpephone/libabenabler_0.1.bb @@ -1,6 +1,6 @@ LICENSE = "LGPL" DESCRIPTION = "LiPS event model library." -SECTION = "gpe/libs" +SECTION = "gpe/libs" PRIORITY = "optional" DEPENDS = "glib-2.0 librecord liblipsevent libim sqlite3" PR = "r1" diff --git a/packages/gpephone/libcalenabler_1.0.bb b/packages/gpephone/libcalenabler_1.0.bb index fc5367984f..f4be78092e 100644 --- a/packages/gpephone/libcalenabler_1.0.bb +++ b/packages/gpephone/libcalenabler_1.0.bb @@ -1,6 +1,6 @@ LICENSE = "LiPS" DESCRIPTION = "LiPS event model library." -SECTION = "gpe/libs" +SECTION = "gpe/libs" PRIORITY = "optional" DEPENDS = "glib-2.0 e2fsprogs-libs sqlite3" PR = "r1" diff --git a/packages/gpephone/libchenabler_0.1.bb b/packages/gpephone/libchenabler_0.1.bb index dfc353964c..740ed21c65 100644 --- a/packages/gpephone/libchenabler_0.1.bb +++ b/packages/gpephone/libchenabler_0.1.bb @@ -1,6 +1,6 @@ LICENSE = "LiPS" DESCRIPTION = "LiPS voice call library." -SECTION = "gpe/libs" +SECTION = "gpe/libs" PRIORITY = "optional" DEPENDS = "glib-2.0 sqlite3 librecord" PR = "r0" diff --git a/packages/gpephone/libgemwidget_0.1.bb b/packages/gpephone/libgemwidget_0.1.bb index 88a7e6292c..40264b9bb2 100644 --- a/packages/gpephone/libgemwidget_0.1.bb +++ b/packages/gpephone/libgemwidget_0.1.bb @@ -1,6 +1,6 @@ LICENSE = "LiPS" DESCRIPTION = "Extended widget library for GPE phone environment." -SECTION = "gpe/libs" +SECTION = "gpe/libs" PRIORITY = "optional" DEPENDS = "gtk+ libiac" PR = "r1" diff --git a/packages/gpephone/libgpephone_0.3.bb b/packages/gpephone/libgpephone_0.3.bb index 48a5148143..9a78fd9947 100644 --- a/packages/gpephone/libgpephone_0.3.bb +++ b/packages/gpephone/libgpephone_0.3.bb @@ -1,6 +1,6 @@ LICENSE = "LGPL" DESCRIPTION = "Base library for GPE phone environment." -SECTION = "gpe/libs" +SECTION = "gpe/libs" PRIORITY = "optional" DEPENDS = "gtk+ gtk-doc dbus-glib" PR = "r1" diff --git a/packages/gpephone/libiac_0.1.bb b/packages/gpephone/libiac_0.1.bb index 42e9fc77bc..940b1ecc31 100644 --- a/packages/gpephone/libiac_0.1.bb +++ b/packages/gpephone/libiac_0.1.bb @@ -1,6 +1,6 @@ LICENSE = "LiPS" DESCRIPTION = "LiPS IPC library." -SECTION = "gpe/libs" +SECTION = "gpe/libs" PRIORITY = "optional" DEPENDS = "gtk+ gtk-doc" PR = "r1" diff --git a/packages/gpephone/libidn_0.5.19.bb b/packages/gpephone/libidn_0.5.19.bb index 9c37e015a9..4254ef466d 100644 --- a/packages/gpephone/libidn_0.5.19.bb +++ b/packages/gpephone/libidn_0.5.19.bb @@ -1,6 +1,6 @@ LICENSE = "LGPL" DESCRIPTION = "Implementation of the Stringprep, Punycode and IDNA specifications defined by the IETF Internationalized Domain Names (IDN) working group." -SECTION = "libs" +SECTION = "libs" PRIORITY = "optional" DEPENDS = "glibc" PR = "r0" diff --git a/packages/gpephone/libim_0.1.bb b/packages/gpephone/libim_0.1.bb index f4524dea31..4d59957d79 100644 --- a/packages/gpephone/libim_0.1.bb +++ b/packages/gpephone/libim_0.1.bb @@ -1,6 +1,6 @@ LICENSE = "LGPL" DESCRIPTION = "LiPS event model library." -SECTION = "gpe/libs" +SECTION = "gpe/libs" PRIORITY = "optional" DEPENDS = "glib-2.0 libgpg-error libgcrypt gnutls libidn iksemel gloox dbus-glib liblipsevent" PR = "r0" diff --git a/packages/gpephone/liblipsevent_0.1.bb b/packages/gpephone/liblipsevent_0.1.bb index 0951b6b324..2618bf61c4 100644 --- a/packages/gpephone/liblipsevent_0.1.bb +++ b/packages/gpephone/liblipsevent_0.1.bb @@ -1,6 +1,6 @@ LICENSE = "LiPS" DESCRIPTION = "LiPS event model library." -SECTION = "gpe/libs" +SECTION = "gpe/libs" PRIORITY = "optional" DEPENDS = "glib-2.0" PR = "r0" diff --git a/packages/gpephone/libmsgenabler_1.0.bb b/packages/gpephone/libmsgenabler_1.0.bb index 84c3b7971c..385501c959 100644 --- a/packages/gpephone/libmsgenabler_1.0.bb +++ b/packages/gpephone/libmsgenabler_1.0.bb @@ -1,6 +1,6 @@ LICENSE = "LiPS" DESCRIPTION = "LiPS event model library." -SECTION = "gpe/libs" +SECTION = "gpe/libs" PRIORITY = "optional" DEPENDS = "glib-2.0 dbus-glib librecord sqlite3" PR = "r0" diff --git a/packages/gpephone/librecord_0.1.bb b/packages/gpephone/librecord_0.1.bb index f13e810f29..532cc267ff 100644 --- a/packages/gpephone/librecord_0.1.bb +++ b/packages/gpephone/librecord_0.1.bb @@ -1,6 +1,6 @@ LICENSE = "LiPS" DESCRIPTION = "LiPS database API." -SECTION = "gpe/libs" +SECTION = "gpe/libs" PRIORITY = "optional" DEPENDS = "glib-2.0 e2fsprogs-libs sqlite3" PR = "r0" diff --git a/packages/gpephone/libvocenabler_0.1.bb b/packages/gpephone/libvocenabler_0.1.bb index f0b86ee0e3..0b2d23747c 100644 --- a/packages/gpephone/libvocenabler_0.1.bb +++ b/packages/gpephone/libvocenabler_0.1.bb @@ -1,6 +1,6 @@ LICENSE = "LiPS" DESCRIPTION = "LiPS voice call library." -SECTION = "gpe/libs" +SECTION = "gpe/libs" PRIORITY = "optional" DEPENDS = "glib-2.0 dbus-glib linphone" PR = "r0" diff --git a/packages/gpephone/linphone_1.5.0.bb b/packages/gpephone/linphone_1.5.0.bb index 3720512150..bef090e22a 100644 --- a/packages/gpephone/linphone_1.5.0.bb +++ b/packages/gpephone/linphone_1.5.0.bb @@ -1,7 +1,7 @@ DESCRIPTION = "SIP-based IP phone" HOMEPAGE = "http://www.linphone.org/?lang=us" -LICENSE = "GPL-2" +LICENSE = "GPLv2" DEPENDS = "libosip2 speex libogg alsa-lib readline" PR = "r0" diff --git a/packages/gpephone/phoneserver_1.0.bb b/packages/gpephone/phoneserver_1.0.bb index d9ee660cdb..522d31cee1 100644 --- a/packages/gpephone/phoneserver_1.0.bb +++ b/packages/gpephone/phoneserver_1.0.bb @@ -1,6 +1,6 @@ LICENSE = "LiPS" DESCRIPTION = "Phone services server" -SECTION = "gpe" +SECTION = "gpe" PRIORITY = "optional" PR = "r1" diff --git a/packages/gpephone/sms_1.0.bb b/packages/gpephone/sms_1.0.bb index 12cd8b4f6e..1718483b59 100644 --- a/packages/gpephone/sms_1.0.bb +++ b/packages/gpephone/sms_1.0.bb @@ -1,6 +1,6 @@ LICENSE = "LiPS" DESCRIPTION = "GSM Short message application" -SECTION = "gpe" +SECTION = "gpe" PRIORITY = "optional" PR = "r0" diff --git a/packages/gpephone/soundserver_1.0.bb b/packages/gpephone/soundserver_1.0.bb index bf45c2ecc6..5d47d9a370 100644 --- a/packages/gpephone/soundserver_1.0.bb +++ b/packages/gpephone/soundserver_1.0.bb @@ -1,6 +1,6 @@ LICENSE = "LiPS" DESCRIPTION = "Cellphone alarm daemon" -SECTION = "gpe" +SECTION = "gpe" PRIORITY = "optional" PR = "r0" diff --git a/packages/gpephone/videoplayer_0.1.bb b/packages/gpephone/videoplayer_0.1.bb index 0cff5c3c73..70361920f9 100644 --- a/packages/gpephone/videoplayer_0.1.bb +++ b/packages/gpephone/videoplayer_0.1.bb @@ -1,6 +1,6 @@ LICENSE = "LiPS" DESCRIPTION = "Video player application" -SECTION = "gpe" +SECTION = "gpe" PRIORITY = "optional" PR = "r0" diff --git a/packages/gpephone/voicecall_0.1.bb b/packages/gpephone/voicecall_0.1.bb index 2594991458..82bebf9d50 100644 --- a/packages/gpephone/voicecall_0.1.bb +++ b/packages/gpephone/voicecall_0.1.bb @@ -1,6 +1,6 @@ LICENSE = "LiPS" DESCRIPTION = "Voice call application (with wifi support)" -SECTION = "gpe" +SECTION = "gpe" PRIORITY = "optional" PR = "r0" diff --git a/packages/gpephone/xoo-theme-gpephone_1.0.bb b/packages/gpephone/xoo-theme-gpephone_1.0.bb index 7bcd34e97d..0441e3e13b 100644 --- a/packages/gpephone/xoo-theme-gpephone_1.0.bb +++ b/packages/gpephone/xoo-theme-gpephone_1.0.bb @@ -1,6 +1,6 @@ LICENSE = "LiPS" DESCRIPTION = "A neutral cellphone theme for Xoo." -SECTION = "gpe" +SECTION = "gpe" PRIORITY = "optional" PR = "r0" diff --git a/packages/gperiodic/gperiodic_1.3.3.bb b/packages/gperiodic/gperiodic_1.3.3.bb index 3202fc2a48..427f31565b 100644 --- a/packages/gperiodic/gperiodic_1.3.3.bb +++ b/packages/gperiodic/gperiodic_1.3.3.bb @@ -4,7 +4,7 @@ and view detailed information on each of the elements. \ 118 elements are currently listed." LICENSE = "GPL" HOMEPAGE = "http://gperiodic.seul.org" -SECTION = "x11/apps" +SECTION = "x11/applications" DEPENDS = "gtk+-1.2" SRC_URI = "http://gperiodic.seul.org/downloads/gperiodic-${PV}.tar.gz" diff --git a/packages/gpsd/gpsd.inc b/packages/gpsd/gpsd.inc index e23167c80a..1f48fe0052 100644 --- a/packages/gpsd/gpsd.inc +++ b/packages/gpsd/gpsd.inc @@ -2,13 +2,14 @@ DESCRIPTION = "A TCP/IP Daemon simplifying the communication with GPS devices" SECTION = "console/network" PRIORITY = "optional" LICENSE = "GPL" -DEPENDS = "dbus-0.23.4 ncurses" +DEPENDS = "dbus-glib ncurses" EXTRA_OECONF = "--x-includes=${STAGING_INCDIR}/X11 \ - --x-libraries=${STAGING_LIBDIR}" + --x-libraries=${STAGING_LIBDIR} \ + --enable-dbus" SRC_URI = "http://download.berlios.de/gpsd/gpsd-${PV}.tar.gz \ - file://gpsd" + file://gpsd" inherit autotools update-rc.d diff --git a/packages/gpsd/gpsd_2.34.bb b/packages/gpsd/gpsd_2.34.bb new file mode 100644 index 0000000000..58e9ebeee2 --- /dev/null +++ b/packages/gpsd/gpsd_2.34.bb @@ -0,0 +1,3 @@ +require gpsd.inc + +PR = "r0" diff --git a/packages/granule/granule.inc b/packages/granule/granule.inc index 7f211b3de1..4fa2db9b04 100644 --- a/packages/granule/granule.inc +++ b/packages/granule/granule.inc @@ -1,7 +1,7 @@ DESCRIPTION = "Generic memory training with flash cards. Automatic scheduling algorithm." AUTHOR = "Vladislav Grinchenko <vlg@users.sourceforge.net>" HOMEPAGE = "http://granule.sf.net" -SECTION = "x11/apps" +SECTION = "x11/applications" PRIORITY = "optional" LICENSE = "GPLv2" DEPENDS = "glib-2.0-native intltool-native gtkmm libxml2 libassa" diff --git a/packages/madwifi/madwifi-ng-r1844-20061208/.mtn2git_empty b/packages/gsm/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/madwifi/madwifi-ng-r1844-20061208/.mtn2git_empty +++ b/packages/gsm/.mtn2git_empty diff --git a/packages/gsm/libgsmd_svn.bb b/packages/gsm/libgsmd_svn.bb new file mode 100644 index 0000000000..860adf3b0a --- /dev/null +++ b/packages/gsm/libgsmd_svn.bb @@ -0,0 +1,24 @@ +DESCRIPTION = "GSM libraries and daemons implementing the 07.10 specification" +HOMEPAGE = "http://www.openmoko.org" +LICENSE = "GPL" +SECTION = "libs/gsm" +PROVIDES += "gsmd" +PV = "0.0+svn${SRCDATE}" +PR = "r2" + +SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gsm;proto=http" +S = "${WORKDIR}/gsm" + +inherit autotools pkgconfig + +do_stage() { + autotools_stage_all +} + +PACKAGES =+ "${PN}-tools gsmd" +RDEPENDS_${PN} = "gsmd" +FILES_${PN}-tools = "${bindir}/*" +FILES_gsmd = "${sbindir}/gsmd" + +PACKAGES_DYNAMIC = "libgsmd* gsmd" + diff --git a/packages/gtk+/pixops-test.bb b/packages/gtk+/pixops-test.bb new file mode 100644 index 0000000000..79bc33a04f --- /dev/null +++ b/packages/gtk+/pixops-test.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "Productive gtk+ devel prodder" +DEPENDS = "gtk+" + +PR = "r2" + +inherit pkgconfig + +SRC_URI = "file://pixops-test.c \ + file://gtk-logo-rgb.gif" + +do_configure() { + cp ${WORKDIR}/pixops-test.c ${S} + cp ${WORKDIR}/gtk-logo-rgb.gif ${S} +} + +do_compile() { + ${CC} `pkg-config gtk+-2.0 --libs --cflags` `pkg-config pango --libs --cflags` -lXfixes -lz -lpangoft2-1.0 -lgpg-error -lXdmcp -lXcursor -lexpat -lXau -lgcrypt -lXext -lXinerama -lXrandr -o pixops-test pixops-test.c +} + +do_install() { + install -d ${D}${bindir} + install -d ${D}${datadir}/pixops-test + install -m 755 pixops-test ${D}${bindir} + install -m 644 gtk-logo-rgb.gif ${D}${datadir}/pixops-test +} diff --git a/packages/mozilla/firefox-2.0/arm/.mtn2git_empty b/packages/gtk+/pixops-test/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/mozilla/firefox-2.0/arm/.mtn2git_empty +++ b/packages/gtk+/pixops-test/.mtn2git_empty diff --git a/packages/gtk+/pixops-test/gtk-logo-rgb.gif b/packages/gtk+/pixops-test/gtk-logo-rgb.gif Binary files differnew file mode 100644 index 0000000000..f6e934d5e6 --- /dev/null +++ b/packages/gtk+/pixops-test/gtk-logo-rgb.gif diff --git a/packages/gtk+/pixops-test/pixops-test.c b/packages/gtk+/pixops-test/pixops-test.c new file mode 100644 index 0000000000..f8906dfc42 --- /dev/null +++ b/packages/gtk+/pixops-test/pixops-test.c @@ -0,0 +1,69 @@ +#include <gtk/gtk.h> +#include <gdk-pixbuf/gdk-pixbuf.h> +#include <stdlib.h> + +static gdouble total_seconds = 0.0; + +/* randomly colour each pixel */ +static void +fill_pixbuf (GdkPixbuf *buf) +{ + int width, height, rowstride, n_channels; + int x,y,n; + guchar *pixels, *p; + + g_assert (gdk_pixbuf_get_bits_per_sample (buf) == 8); + + n_channels = gdk_pixbuf_get_n_channels (buf); + width = gdk_pixbuf_get_width (buf); + height = gdk_pixbuf_get_height (buf); + rowstride = gdk_pixbuf_get_rowstride (buf); + pixels = gdk_pixbuf_get_pixels (buf); + + for (x=0; x<width; x++) { + for (y=0; y<height; y++) { + p = pixels + (y*rowstride) + (x*n_channels); + for (n=0; n<n_channels; n++) { + p[n] = (random()*255)/RAND_MAX; + } + } + } +} + +int +main (int argc, char **argv) +{ + GTimer *timer; + int i,j; + + gtk_init (&argc, &argv); + + + GdkPixbuf *pixbuf[4], *ret; + pixbuf[0] = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, 400, 600); + pixbuf[1] = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, 40, 60); + pixbuf[2] = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, 400, 600); + pixbuf[3] = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, 40, 60); + + for (j=0; j<4; j++) + fill_pixbuf (pixbuf[j]); + + timer = g_timer_new (); + g_timer_start (timer); + + for (i = 0; i < 10 ; i++) { + for (j=0; j<4; j++) { + ret = gdk_pixbuf_scale_simple (pixbuf[j], 700, 900, GDK_INTERP_BILINEAR); + gdk_pixbuf_unref (ret); + ret = gdk_pixbuf_scale_simple (pixbuf[j], 20, 50, GDK_INTERP_BILINEAR); + gdk_pixbuf_unref (ret); + } + } + g_timer_stop (timer); + + total_seconds += g_timer_elapsed (timer, NULL); + + g_print ("time spent scaling (in seconds): %lf\n", total_seconds ); + + return 0; +} diff --git a/packages/gtk2-ssh-askpass/gtk2-ssh-askpass_0.3.bb b/packages/gtk2-ssh-askpass/gtk2-ssh-askpass_0.3.bb index 8c5efa8622..3c4eb9a530 100644 --- a/packages/gtk2-ssh-askpass/gtk2-ssh-askpass_0.3.bb +++ b/packages/gtk2-ssh-askpass/gtk2-ssh-askpass_0.3.bb @@ -5,7 +5,7 @@ DESCRIPTION="GTK2 ssh askpass utility" HOMEPAGE="http://www.cgabriel.org/sw/gtk2-ssh-askpass/" LICENSE = "GPL" -SECTION = "net-misc" +SECTION = "network/misc" SRC_URI="http://src.gentoo.pl/distfiles/gtk2-ssh-askpass-${PV}.tar.gz \ file://makefile.patch;patch=1" diff --git a/packages/hal/hal_0.5.7.bb b/packages/hal/hal_0.5.7.bb index c6ca7f75dc..5933676260 100644 --- a/packages/hal/hal_0.5.7.bb +++ b/packages/hal/hal_0.5.7.bb @@ -1,12 +1,11 @@ -SECTION = "unknown" DESCRIPTION = "Hardware Abstraction Layer" +HOMEPAGE = "http://freedesktop.org/Software/hal" +SECTION = "unknown" +LICENSE = "GPL LGPL AFL" DEPENDS = "dbus expat libusb" RDEPENDS += "hotplug" #RDEPENDS_hal-device-manager = "python hal python-pygnome" RRECOMMENDS = "udev-utils" -HOMEPAGE = "http://freedesktop.org/Software/hal" -LICENSE = "GPL LGPL AFL" -PR = "r0" SRC_URI = "http://freedesktop.org/~david/dist/hal-${PV}.tar.gz \ file://dbus-fix-api.patch;patch=1" @@ -28,19 +27,19 @@ do_stage() { } #PACKAGES += "hal-device-manager" -FILES_${PN} = "${sysconfdir} \ - ${bindir}/lshal \ - ${bindir}/hal-find-by-capability \ - ${bindir}/hal-find-by-property \ - ${bindir}/hal-device \ - ${bindir}/hal-get-property \ - ${bindir}/hal-set-property \ - ${sbindir} \ - ${libdir}/libhal.so* \ - ${libdir}/libhal-storage.so* \ - ${libexecdir} \ - ${datadir}/hal/fdi \ - ${datadir}/hal/scripts" +FILES_${PN} = "${sysconfdir} \ + ${bindir}/lshal \ + ${bindir}/hal-find-by-capability \ + ${bindir}/hal-find-by-property \ + ${bindir}/hal-device \ + ${bindir}/hal-get-property \ + ${bindir}/hal-set-property \ + ${sbindir} \ + ${libdir}/libhal.so* \ + ${libdir}/libhal-storage.so* \ + ${libexecdir} \ + ${datadir}/hal/fdi \ + ${datadir}/hal/scripts" #FILES_hal-device-manager = " \ # ${datadir}/hal/device-manager/ \ # ${bindir}/hal-device-manager" diff --git a/packages/id3lib/id3lib_3.8.3.bb b/packages/id3lib/id3lib_3.8.3.bb index d63106230a..76134bc6fd 100644 --- a/packages/id3lib/id3lib_3.8.3.bb +++ b/packages/id3lib/id3lib_3.8.3.bb @@ -1,19 +1,15 @@ DESCRIPTION = "Library for interacting with ID3 tags." -SECTION = "libs" +SECTION = "libs/multimedia" PRIORITY = "optional" DEPENDS = "zlib" -DESCRIPTION = "Library for interacting with ID3 tags." LICENSE = "GPL" +PR = "r1" inherit autotools SRC_URI = "${SOURCEFORGE_MIRROR}/id3lib/id3lib-${PV}.tar.gz" S = "${WORKDIR}/id3lib-${PV}" -do_configure() { - oe_runconf -} - do_stage() { oe_libinstall -a -so -C src libid3 ${STAGING_LIBDIR} install -m 0644 include/id3.h ${STAGING_INCDIR} diff --git a/packages/images/openmoko-devel-image.bb b/packages/images/openmoko-devel-image.bb new file mode 100644 index 0000000000..3f238196a4 --- /dev/null +++ b/packages/images/openmoko-devel-image.bb @@ -0,0 +1,6 @@ +require openmoko-image.bb + +export PACKAGE_INSTALL += "\ + task-openmoko-demo \ + task-openmoko-debug \ +" diff --git a/packages/images/openmoko-image.bb b/packages/images/openmoko-image.bb new file mode 100644 index 0000000000..0ebddcb276 --- /dev/null +++ b/packages/images/openmoko-image.bb @@ -0,0 +1,27 @@ +#------------------------------------------------------ +# OpenMoko Image Recipe +#------------------------------------------------------ + +export IMAGE_BASENAME = "${PN}" +export IMAGE_LINGUAS = "" + +export PACKAGE_INSTALL = "\ + ${MACHINE_TASK_PROVIDER} \ + task-openmoko-linux \ + task-openmoko-net \ + task-openmoko-ui \ + task-openmoko-base \ + task-openmoko-phone \ + task-openmoko-finger \ + task-openmoko-pim \ +" +DEPENDS = "\ + ${MACHINE_TASK_PROVIDER} \ + task-openmoko \ +" + +RDEPENDS = "${PACKAGE_INSTALL}" + +inherit image + +LICENSE = MIT diff --git a/packages/images/openmoko-sdk-image.bb b/packages/images/openmoko-sdk-image.bb new file mode 100644 index 0000000000..53586166eb --- /dev/null +++ b/packages/images/openmoko-sdk-image.bb @@ -0,0 +1,5 @@ +require openmoko-devel-image.bb + +export PACKAGE_INSTALL += "\ + task-openmoko-native-sdk \ +" diff --git a/packages/images/openprotium-image.bb b/packages/images/openprotium-image.bb index faec2664ca..472000f4f0 100644 --- a/packages/images/openprotium-image.bb +++ b/packages/images/openprotium-image.bb @@ -4,8 +4,6 @@ LICENSE = "MIT" PR = "r0" DEPENDS = "${MACHINE_TASK_PROVIDER}" -# SLUGOS_IMAGENAME defines the name of the image to be build, if it -# is not set this package will be skipped! EXTRA_IMAGECMD_jffs2 = "--pad --big-endian --eraseblock=0x10000 -D ${SLUGOS_DEVICE_TABLE}" IMAGE_LINGUAS = "" diff --git a/packages/images/slugos-image.bb b/packages/images/slugos-image.bb index 5d7fed7cb5..3a275b189e 100644 --- a/packages/images/slugos-image.bb +++ b/packages/images/slugos-image.bb @@ -6,16 +6,13 @@ DESCRIPTION = "Generic SlugOS image" HOMEPAGE = "http://www.nslu2-linux.org" LICENSE = "MIT" -PR = "r44" +PR = "r46" COMPATIBLE_MACHINE = "nslu2" -# SLUGOS_IMAGENAME defines the name of the image to be build, if it -# is not set this package will be skipped! -IMAGE_BASENAME = "${SLUGOS_IMAGENAME}" -IMAGE_NAME = "${IMAGE_BASENAME}-${MACHINE}-${DISTRO_VERSION}" +IMAGE_NAME = "${IMAGE_BASENAME}-${DISTRO_VERSION}" IMAGE_FSTYPES = "jffs2" -EXTRA_IMAGECMD_jffs2 = "--pad --${SLUGOS_IMAGESEX} --eraseblock=0x20000 -D ${SLUGOS_DEVICE_TABLE}" +EXTRA_IMAGECMD_jffs2 += " -D ${SLUGOS_DEVICE_TABLE}" IMAGE_LINGUAS = "" # Setting USE_DEVFS prevents *any* entries being created initially @@ -34,140 +31,11 @@ SLUGOS_DEVICE_TABLE = "${@bb.which(bb.data.getVar('BBPATH', d, 1), 'files/device IMAGE_PREPROCESS_COMMAND += "rm ${IMAGE_ROOTFS}/boot/zImage*;" IMAGE_PREPROCESS_COMMAND += "install -c -m 644 ${SLUGOS_DEVICE_TABLE} ${IMAGE_ROOTFS}/etc/device_table;" -# Building a full image. If required do a post-process command which builds -# the full flash image using slugimage. At present this only works for NSLU2 images. -PACK_IMAGE = "" -IMAGE_POSTPROCESS_COMMAND += "${PACK_IMAGE}" -PACK_IMAGE_DEPENDS = "" -EXTRA_IMAGEDEPENDS += "${PACK_IMAGE_DEPENDS}" +SLUGOS_EXTRA_INSTALL ?= "" -# This hack removes '${MACHINE}' from the end of the arch.conf for ipk, -# preventing _mach.ipk (with no byte sex) taking precedence over everything -# else. -ROOTFS_POSTPROCESS_COMMAND += "sed -i '$d' '${IMAGE_ROOTFS}/etc/ipkg/arch.conf';" - -# These depends define native utilities - they do not get put in the flash and -# are not required to build the image. -IMAGE_TOOLS = "" -EXTRA_IMAGEDEPENDS += "${IMAGE_TOOLS}" - -# CONFIG: -# SLUGOS_EXTRA_RDEPENDS: set in conf, things to add to the image -# SLUGOS_SUPPORT: set here, see below, added to the image. -# SLUGOS_KERNEL: set here, kernel modules added to the image -# -# Do not override the last two unless you really know what you -# are doing - there is more information below. - -# diff, cpio and find are required for reflash and turnup ram. -# Removing these probably leaves the system bootable, but standard -# openslug and ucslugc stuff won't work, so only take these out in -# very non-standard turnkey slugos builds. -# -# udev is the default way of handling devices, there is no guarantee -# that the static device table is completely correct (it is just -# known to be sufficient for boot.) -SLUGOS_SUPPORT ?= "diffutils cpio findutils udev" - -SLUGOS_KERNEL ?= "" - -SLUGOS_EXTRA_RDEPENDS ?= "" - -RDEPENDS = "kernel ixp4xx-npe \ - base-files base-passwd netbase \ - busybox initscripts-slugos slugos-init \ - update-modules sysvinit tinylogin \ - module-init-tools modutils-initscripts \ - ipkg-collateral ipkg ipkg-link \ - portmap \ - dropbear \ - beep \ - e2fsprogs-blkid \ - util-linux-mount \ - util-linux-umount \ - util-linux-swaponoff \ - util-linux-losetup \ - ${SLUGOS_SUPPORT} \ - ${SLUGOS_KERNEL} \ - ${SLUGOS_EXTRA_RDEPENDS}" +DEPENDS = "task-slugos" +RDEPENDS = "task-slugos ${SLUGOS_EXTRA_INSTALL}" PACKAGE_INSTALL = "${RDEPENDS}" -inherit image - -python () { - # Don't build slugos images unless the configuration is set up - # for an image build! - if bb.data.getVar("SLUGOS_IMAGENAME", d, 1) == '' or bb.data.getVar("SLUGOS_IMAGESEX", d, 1) == '': - raise bb.parse.SkipPackage("absent or broken SlugOS configuration") -} - -#-------------------------------------------------------------------------------- -# NSLU2 specific -# -#NOTE: you do not actually need the boot loader in normal use because it is -# *not* overwritten by a standard upslug upgrade, so you can make an image with -# just non-LinkSys software which can be flashed into the NSLU2. Because -# LinkSys have made "EraseAll" available, however, (this does overwrite RedBoot) -# it is a bad idea to produce flash images without a valid RedBoot - that allows -# an innocent user upgrade attempt to instantly brick the NSLU2. -PACK_IMAGE += "${@['', 'slugos_pack_image;'][bb.data.getVar('SLUGOS_FLASH_IMAGE', d, 1) == '1']}" -PACK_IMAGE_DEPENDS += "${@['', 'slugimage-native nslu2-linksys-firmware ixp4xx-npe'][bb.data.getVar('SLUGOS_FLASH_IMAGE', d, 1) == '1']}" - -NSLU2_SLUGIMAGE_ARGS ?= "" - -slugos_pack_image() { - install -d ${DEPLOY_DIR_IMAGE}/slug - install -m 0644 ${STAGING_LIBDIR}/nslu2-binaries/RedBoot \ - ${STAGING_LIBDIR}/nslu2-binaries/Trailer \ - ${STAGING_LIBDIR}/nslu2-binaries/SysConf \ - ${DEPLOY_DIR_IMAGE}/slug/ - install -m 0644 ${DEPLOY_DIR_IMAGE}/zImage-nslu2${SITEINFO_ENDIANESS} \ - ${DEPLOY_DIR_IMAGE}/slug/vmlinuz - install -m 0644 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \ - ${DEPLOY_DIR_IMAGE}/slug/flashdisk.jffs2 - install -m 0644 ${STAGING_FIRMWARE_DIR}/NPE-B ${DEPLOY_DIR_IMAGE}/slug/ - cd ${DEPLOY_DIR_IMAGE}/slug - slugimage -p -b RedBoot -s SysConf -k vmlinuz \ - -r Ramdisk:1,Flashdisk:flashdisk.jffs2 -m NPE-B -t Trailer \ - -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}-nslu2.bin \ - ${NSLU2_SLUGIMAGE_ARGS} - rm -rf ${DEPLOY_DIR_IMAGE}/slug - - # Create an image for the DSM-G600 as well - install -d ${DEPLOY_DIR_IMAGE}/firmupgrade - install -m 0755 ${DEPLOY_DIR_IMAGE}/zImage-dsmg600${SITEINFO_ENDIANESS} \ - ${DEPLOY_DIR_IMAGE}/firmupgrade/ip-ramdisk - install -m 0644 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \ - ${DEPLOY_DIR_IMAGE}/firmupgrade/rootfs.gz - touch ${DEPLOY_DIR_IMAGE}/firmupgrade/usr.cramfs - chmod 0644 ${DEPLOY_DIR_IMAGE}/firmupgrade/usr.cramfs - echo "hwid=1.0.1" >${DEPLOY_DIR_IMAGE}/firmupgrade/version.msg - echo "model=dsm-g600" >>${DEPLOY_DIR_IMAGE}/firmupgrade/version.msg - echo "vendor=dlink" >>${DEPLOY_DIR_IMAGE}/firmupgrade/version.msg - echo "" >>${DEPLOY_DIR_IMAGE}/firmupgrade/version.msg - chmod 0744 ${DEPLOY_DIR_IMAGE}/firmupgrade/version.msg - tar -c -f ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}-dsmg600.bin \ - -C ${DEPLOY_DIR_IMAGE} firmupgrade - rm -rf ${DEPLOY_DIR_IMAGE}/firmupgrade - - # Create an image for the NAS 100d as well - install -d ${DEPLOY_DIR_IMAGE}/firmupgrade - install -m 0755 ${DEPLOY_DIR_IMAGE}/zImage-nas100d${SITEINFO_ENDIANESS} \ - ${DEPLOY_DIR_IMAGE}/firmupgrade/ip-ramdisk - install -m 0644 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \ - ${DEPLOY_DIR_IMAGE}/firmupgrade/rootfs.gz - touch ${DEPLOY_DIR_IMAGE}/firmupgrade/usr.cramfs - chmod 0644 ${DEPLOY_DIR_IMAGE}/firmupgrade/usr.cramfs - echo "hwid=1.0.1" >${DEPLOY_DIR_IMAGE}/firmupgrade/version.msg - echo "model=koala" >>${DEPLOY_DIR_IMAGE}/firmupgrade/version.msg - echo "vendor=iomega" >>${DEPLOY_DIR_IMAGE}/firmupgrade/version.msg - echo "" >>${DEPLOY_DIR_IMAGE}/firmupgrade/version.msg - chmod 0744 ${DEPLOY_DIR_IMAGE}/firmupgrade/version.msg - tar -c -f ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}-nas100d.bin \ - -C ${DEPLOY_DIR_IMAGE} firmupgrade - rm -rf ${DEPLOY_DIR_IMAGE}/firmupgrade -} - -# upslug2 (in tmp/work/upslug2-native-*) is the program to write the NSLU2 flash -IMAGE_TOOLS_nslu2 = "upslug2-native" +inherit image nslu2-image dsmg600-image nas100d-image diff --git a/packages/images/slugos-imagename.bb b/packages/images/slugos-imagename.bb deleted file mode 100644 index 61629d44af..0000000000 --- a/packages/images/slugos-imagename.bb +++ /dev/null @@ -1,29 +0,0 @@ -# This is an inglorious hack to provide a package to match -# ${SLUGOS_IMAGENAME}-image -LICENSE = "MIT" -PN = "${SLUGOS_IMAGENAME}-image" -PV = "0" -PR = "r0" -DEPENDS = "slugos-image" -PACKAGES = "" -INHIBIT_DEFAULT_DEPS = "1" - -SLUGOS_IMAGENAME ?= "slugos" -COMPATIBLE_MACHINE = "nslu2" - -do_fetch() { -} -do_unpack() { -} -do_patch() { -} -do_configure() { -} -do_compile() { -} -do_install() { -} -do_stage() { -} -do_build() { -} diff --git a/packages/images/unslung-image.bb b/packages/images/unslung-image.bb index b56f007523..897fb131c1 100644 --- a/packages/images/unslung-image.bb +++ b/packages/images/unslung-image.bb @@ -120,3 +120,20 @@ unslung_clean_image () { # #### End of Hack! } + +nslu2_pack_image () { + install -d ${DEPLOY_DIR_IMAGE}/slug + install -m 0644 ${STAGING_LIBDIR}/nslu2-binaries/RedBoot \ + ${STAGING_LIBDIR}/nslu2-binaries/Trailer \ + ${STAGING_LIBDIR}/nslu2-binaries/SysConf \ + ${DEPLOY_DIR_IMAGE}/slug/ + install -m 0644 ${DEPLOY_DIR_IMAGE}/zImage-${IMAGE_BASENAME} ${DEPLOY_DIR_IMAGE}/slug/vmlinuz + install -m 0644 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 ${DEPLOY_DIR_IMAGE}/slug/flashdisk.jffs2 + cd ${DEPLOY_DIR_IMAGE}/slug + slugimage -p -b RedBoot -s SysConf -r Ramdisk:1,Flashdisk:flashdisk.jffs2 -t Trailer \ + -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.flashdisk.img + rm -rf ${DEPLOY_DIR_IMAGE}/slug +} + +EXTRA_IMAGEDEPENDS += 'slugimage-native nslu2-linksys-firmware' +IMAGE_POSTPROCESS_COMMAND += "nslu2_pack_image; " diff --git a/packages/ipkg/files/is-processing.patch b/packages/ipkg/files/is-processing.patch new file mode 100644 index 0000000000..779933ba1c --- /dev/null +++ b/packages/ipkg/files/is-processing.patch @@ -0,0 +1,127 @@ +diff -Nur ipkg-0.99.163.orig/ipkg_install.c ipkg-0.99.163/ipkg_install.c +--- ipkg-0.99.163.orig/ipkg_install.c 2006-03-30 21:50:24.000000000 +0800 ++++ ipkg-0.99.163/ipkg_install.c 2006-08-10 09:30:40.000000000 +0800 +@@ -211,6 +211,7 @@ + anyone ever wants to make a nice libipkg. */ + + ipkg_message(conf, IPKG_DEBUG2,"Function: %s calling ipkg_install_pkg \n",__FUNCTION__); ++ new->is_processing = 1; + return ipkg_install_pkg(conf, new,0); + } + +diff -Nur ipkg-0.99.163.orig/pkg.c ipkg-0.99.163/pkg.c +--- ipkg-0.99.163.orig/pkg.c 2006-04-21 04:29:28.000000000 +0800 ++++ ipkg-0.99.163/pkg.c 2006-08-10 09:35:06.000000000 +0800 +@@ -33,6 +33,7 @@ + #include "xsystem.h" + #include "ipkg_conf.h" + ++ + typedef struct enum_map enum_map_t; + struct enum_map + { +@@ -522,6 +523,10 @@ + strncat(buff ,line, strlen(line)); + free(line); + ++ line = pkg_formatted_field(pkg, "Installed-Size"); ++ strncat(buff ,line, strlen(line)); ++ free(line); ++ + return buff; + } + +@@ -542,7 +547,6 @@ + } + + temp[0]='\0'; +- + switch (field[0]) + { + case 'a': +@@ -690,13 +694,42 @@ + case 'I': { + if (strcasecmp(field, "Installed-Size") == 0) { + /* Installed-Size */ +- temp = (char *)realloc(temp,strlen(pkg->installed_size)+17); +- if ( temp == NULL ){ +- fprintf(stderr, "%s: out of memory\n", __FUNCTION__); +- return NULL; +- } +- temp[0]='\0'; +- snprintf(temp, (strlen(pkg->installed_size)+17), "Installed-Size: %s\n", pkg->installed_size); ++ if (pkg->installed_size) { ++ temp = (char *)realloc(temp,strlen(pkg->installed_size)+18); ++ if ( temp == NULL ){ ++ fprintf(stderr, "%s: out of memory\n", __FUNCTION__); ++ return NULL; ++ } ++ temp[0]='\0'; ++ snprintf(temp, (strlen(pkg->installed_size)+18), "Installed-Size: %s\n", pkg->installed_size); ++ } else { ++ /* Caculate installed files size */ ++ str_list_elt_t *iter; ++ struct stat buf; ++ int installed_files_length = 0; ++ if (pkg->installed_files == NULL) ++ break; ++ ++ if (pkg->is_processing!=1) ++ break; ++ ++ for (iter = pkg->installed_files->head; iter; iter = iter->next) { ++ memset(&buf, 0, sizeof(struct stat)); ++ stat(iter->data, &buf); ++ if (S_ISREG(buf.st_mode)) ++ installed_files_length += buf.st_size; ++ } ++ /*printf("installed_files_length:%d\n", installed_files_length);*/ ++ ++ sprintf_alloc(&pkg->installed_size, "%d", installed_files_length); ++ temp = (char *)realloc(temp,strlen(pkg->installed_size)+18); ++ if ( temp == NULL ){ ++ fprintf(stderr, "%s: out of memory\n", __FUNCTION__); ++ return NULL; ++ } ++ temp[0]='\0'; ++ snprintf(temp, (strlen(pkg->installed_size)+18), "Installed-Size: %s\n", pkg->installed_size); ++ } + } else if (strcasecmp(field, "Installed-Time") == 0 && pkg->installed_time) { + temp = (char *)realloc(temp,29); + if ( temp == NULL ){ +@@ -720,7 +753,7 @@ + return NULL; + } + temp[0]='\0'; +- snprintf(temp, (strlen(pkg->maintainer)+14), "maintainer: %s\n", pkg->maintainer); ++ snprintf(temp, (strlen(pkg->maintainer)+14), "Maintainer: %s\n", pkg->maintainer); + } + } else if (strcasecmp(field, "MD5sum") == 0) { + /* MD5sum */ +@@ -1016,6 +1049,12 @@ + pkg_print_field(pkg, file, "Essential"); /* @@@@ should be removed in future release. */ + pkg_print_field(pkg, file, "Architecture"); + pkg_print_field(pkg, file, "Conffiles"); ++ pkg_print_field(pkg, file, "Description"); ++ pkg_print_field(pkg, file, "Maintainer"); ++ pkg_print_field(pkg, file, "Section"); ++ pkg_print_field(pkg, file, "Size"); ++ pkg_print_field(pkg, file, "Filename"); ++ pkg_print_field(pkg, file, "Installed-Size"); + pkg_print_field(pkg, file, "Installed-Time"); + fputs("\n", file); + } +diff -Nur ipkg-0.99.163.orig/pkg.h ipkg-0.99.163/pkg.h +--- ipkg-0.99.163.orig/pkg.h 2006-05-30 16:31:08.000000000 +0800 ++++ ipkg-0.99.163/pkg.h 2006-08-10 09:19:14.000000000 +0800 +@@ -176,6 +176,10 @@ + int arch_priority; + /* Adding this flag, to "force" ipkg to choose a "provided_by_hand" package, if there are multiple choice */ + int provided_by_hand; ++ ++ /* Check whether this pkg is being removed or installed */ ++ int is_processing; ++ + }; + + pkg_t *pkg_new(void); diff --git a/packages/ipkg/ipkg_0.99.163.bb b/packages/ipkg/ipkg_0.99.163.bb index c2ac30e653..de3562d603 100644 --- a/packages/ipkg/ipkg_0.99.163.bb +++ b/packages/ipkg/ipkg_0.99.163.bb @@ -1,11 +1,11 @@ include ipkg.inc -PR = "r1" +PR = "r2" S = "${WORKDIR}/ipkg-${PV}" SRC_URI = "http://www.handhelds.org/pub/packages/ipkg/ipkg-${PV}.tar.gz \ file://terse.patch;patch=1 \ - file://patch-ipkg-localfilename;patch=0" + file://is-processing.patch;patch=1" do_stage() { oe_libinstall -so libipkg ${STAGING_LIBDIR} diff --git a/packages/ipsec-tools/ipsec-tools_0.6.6.bb b/packages/ipsec-tools/ipsec-tools_0.6.6.bb index 0e2a82e370..9b0676aece 100644 --- a/packages/ipsec-tools/ipsec-tools_0.6.6.bb +++ b/packages/ipsec-tools/ipsec-tools_0.6.6.bb @@ -1,10 +1,9 @@ DESCRIPTION = "IPsec-Tools is a port of KAME's IPsec utilities to the \ Linux-2.6 IPsec implementation." HOMEPAGE = "http://ipsec-tools.sourceforge.net/" -SECTION = "console/net" +SECTION = "console/network" LICENSE = "BSD" DEPENDS = "virtual/kernel openssl readline flex" -PR = "r0" SRC_URI = "${SOURCEFORGE_MIRROR}/ipsec-tools/ipsec-tools-${PV}.tar.bz2 \ file://racoon-search-missing.patch;patch=1" diff --git a/packages/ixp4xx/ixp4xx-npe_2.3.bb b/packages/ixp4xx/ixp4xx-npe_2.3.bb index c6d91ff950..ef422e214d 100644 --- a/packages/ixp4xx/ixp4xx-npe_2.3.bb +++ b/packages/ixp4xx/ixp4xx-npe_2.3.bb @@ -3,7 +3,12 @@ LICENSE = "Intel Public Licence" PR = "r8" DEPENDS = "ixp4xx-npe-native" -SRC_URI = "http://www.intel.com/Please-Read-The-BB-File/IPL_ixp400NpeLibrary-2_3.zip" +# You need to download the IPL_ixp400NpeLibrary-2_3.zip file (without crypto) from: +# http://www.intel.com/design/network/products/npfamily/ixp400_current.htm +# and put it in your downloads directory so bitbake will find it. +# Make sure you *read* and accept the license - it is not a standard one. + +SRC_URI = "http://You-Have-To-Download-The-Microcode-Manually-So-Please-Read-ixp4xx-npe_2.3.bb-For-Instructions/IPL_ixp400NpeLibrary-2_3.zip" S = "${WORKDIR}/ixp400_xscale_sw/src/npeDl" COMPATIBLE_MACHINE = "(nslu2|ixp4xx)" diff --git a/packages/mozilla/firefox-2.0/powerpc/.mtn2git_empty b/packages/js/files/arm/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/mozilla/firefox-2.0/powerpc/.mtn2git_empty +++ b/packages/js/files/arm/.mtn2git_empty diff --git a/packages/mozilla/firefox-2.0/arm/jsautocfg.h b/packages/js/files/arm/jsautocfg.h index 05f3dad50a..7e8171fc23 100644 --- a/packages/mozilla/firefox-2.0/arm/jsautocfg.h +++ b/packages/js/files/arm/jsautocfg.h @@ -1,7 +1,7 @@ #ifndef js_cpucfg___ #define js_cpucfg___ -/* Lovingly crafted by hand avoiding Mozilla stupidity */ +/* AUTOMATICALLY GENERATED - DO NOT EDIT */ #define IS_LITTLE_ENDIAN 1 #undef IS_BIG_ENDIAN @@ -37,15 +37,15 @@ #define JS_ALIGN_OF_SHORT 2L #define JS_ALIGN_OF_INT 4L #define JS_ALIGN_OF_LONG 4L -#define JS_ALIGN_OF_INT64 4L +#define JS_ALIGN_OF_INT64 8L #define JS_ALIGN_OF_FLOAT 4L -#define JS_ALIGN_OF_DOUBLE 4L +#define JS_ALIGN_OF_DOUBLE 8L #define JS_ALIGN_OF_POINTER 4L #define JS_ALIGN_OF_WORD 4L #define JS_BYTES_PER_WORD_LOG2 2L #define JS_BYTES_PER_DWORD_LOG2 3L -#define JS_WORDS_PER_DWORD_LOG2 2L +#define JS_WORDS_PER_DWORD_LOG2 1L #define JS_STACK_GROWTH_DIRECTION (-1) diff --git a/packages/obsolete/nslu2/.mtn2git_empty b/packages/js/files/powerpc/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/obsolete/nslu2/.mtn2git_empty +++ b/packages/js/files/powerpc/.mtn2git_empty diff --git a/packages/mozilla/firefox-2.0/powerpc/jsautocfg.h b/packages/js/files/powerpc/jsautocfg.h index 93d03744f2..93d03744f2 100644 --- a/packages/mozilla/firefox-2.0/powerpc/jsautocfg.h +++ b/packages/js/files/powerpc/jsautocfg.h diff --git a/packages/js/js_1.5.bb b/packages/js/js_1.5.bb index cb353d968c..f53a4f83a5 100644 --- a/packages/js/js_1.5.bb +++ b/packages/js/js_1.5.bb @@ -3,6 +3,8 @@ LICENSE = "GPL" SECTION = "libs/network" DEPENDS = "readline" +PR = "r1" + SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/js/older-packages/js-1.5.tar.gz \ file://jsautocfg.h" S = "${WORKDIR}/js/src" diff --git a/packages/obsolete/nslu2/nslu2-kernel/.mtn2git_empty b/packages/kakasi/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/obsolete/nslu2/nslu2-kernel/.mtn2git_empty +++ b/packages/kakasi/.mtn2git_empty diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/.mtn2git_empty b/packages/kakasi/files/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/.mtn2git_empty +++ b/packages/kakasi/files/.mtn2git_empty diff --git a/packages/kakasi/files/makefile.patch b/packages/kakasi/files/makefile.patch new file mode 100644 index 0000000000..4373a498c1 --- /dev/null +++ b/packages/kakasi/files/makefile.patch @@ -0,0 +1,11 @@ +--- kakasi-2.3.4/Makefile.am.old 2006-04-23 18:11:57.000000000 +0200 ++++ kakasi-2.3.4/Makefile.am 2006-04-23 18:12:07.000000000 +0200 +@@ -17,7 +17,7 @@ + + kanwadict: + if test -f kakasidict; then \ +- ITAIJIDICT="itaijidict" src/mkkanwa$(EXEEXT) $@ kakasidict; \ ++ ITAIJIDICT="itaijidict" mkkanwa$(EXEEXT) $@ kakasidict; \ + fi + + dist-hook: diff --git a/packages/kakasi/kakasi-native_2.3.4.bb b/packages/kakasi/kakasi-native_2.3.4.bb new file mode 100644 index 0000000000..86a4c81b44 --- /dev/null +++ b/packages/kakasi/kakasi-native_2.3.4.bb @@ -0,0 +1,11 @@ +require kakasi.inc + +inherit native + +S = "${WORKDIR}/kakasi-${PV}" + +do_stage() { + install src/mkkanwa ${STAGING_BINDIR} +} + + diff --git a/packages/kakasi/kakasi.inc b/packages/kakasi/kakasi.inc new file mode 100644 index 0000000000..b931a84958 --- /dev/null +++ b/packages/kakasi/kakasi.inc @@ -0,0 +1,9 @@ +DESCRIPTION = "Kanji Kana Simple Inverter" +HOMEPAGE = "http://kakasi.namazu.org/" +LICENSE = "GPL" + +SRC_URI = "http://kakasi.namazu.org/stable/kakasi-${PV}.tar.gz" + +inherit autotools pkgconfig + +EXTRA_OECONF = " --enable-shared" diff --git a/packages/kakasi/kakasi_2.3.4.bb b/packages/kakasi/kakasi_2.3.4.bb new file mode 100644 index 0000000000..aabfd20368 --- /dev/null +++ b/packages/kakasi/kakasi_2.3.4.bb @@ -0,0 +1,14 @@ +require kakasi.inc + +SECTION = "utils" +DEPENDS = "kakasi-native" + +SRC_URI += "file://makefile.patch;patch=1" + +do_stage () { + install -m 0644 lib/*.h ${STAGING_INCDIR} + install lib/.libs/libkakasi.so* ${STAGING_LIBDIR} +} + + + diff --git a/packages/libaal/libaal_1.0.4.bb b/packages/libaal/libaal_1.0.4.bb index 0acfccc48d..af847f50c6 100644 --- a/packages/libaal/libaal_1.0.4.bb +++ b/packages/libaal/libaal_1.0.4.bb @@ -5,7 +5,7 @@ PR = "r1" DESCRIPTION = "Library for user-level code accessing Reiser4 filesystems" HOMEPAGE = "http://www.namesys.com" SECTION = "base" -LICENSE = "GPL-2" +LICENSE = "GPLv2" SRC_URI = "ftp://ftp.namesys.com/pub/reiser4progs/old-versions/${P}.tar.gz" diff --git a/packages/libeventdb/libeventdb_0.19.bb b/packages/libeventdb/libeventdb_0.19.bb index b8318bd407..52e44ecc0e 100644 --- a/packages/libeventdb/libeventdb_0.19.bb +++ b/packages/libeventdb/libeventdb_0.19.bb @@ -1,6 +1,6 @@ LICENSE = "LGPL" DESCRIPTION = "Database access library for GPE calendar" -SECTION = "gpe/libs" +SECTION = "gpe/libs" PRIORITY = "optional" DEPENDS = "libgpewidget libgpepimc sqlite" diff --git a/packages/libeventdb/libeventdb_0.21.bb b/packages/libeventdb/libeventdb_0.21.bb index b8318bd407..52e44ecc0e 100644 --- a/packages/libeventdb/libeventdb_0.21.bb +++ b/packages/libeventdb/libeventdb_0.21.bb @@ -1,6 +1,6 @@ LICENSE = "LGPL" DESCRIPTION = "Database access library for GPE calendar" -SECTION = "gpe/libs" +SECTION = "gpe/libs" PRIORITY = "optional" DEPENDS = "libgpewidget libgpepimc sqlite" diff --git a/packages/libeventdb/libeventdb_0.30.bb b/packages/libeventdb/libeventdb_0.30.bb index f125653b3e..d93766a21a 100644 --- a/packages/libeventdb/libeventdb_0.30.bb +++ b/packages/libeventdb/libeventdb_0.30.bb @@ -2,7 +2,7 @@ DEFAULT_PREFERENCE = "-1" LICENSE = "LGPL" DESCRIPTION = "Database access library for GPE calendar" -SECTION = "gpe/libs" +SECTION = "gpe/libs" PRIORITY = "optional" DEPENDS = "libgpewidget libgpepimc sqlite" diff --git a/packages/libeventdb/libeventdb_svn.bb b/packages/libeventdb/libeventdb_svn.bb index 4f00f4aac8..c18d28d273 100644 --- a/packages/libeventdb/libeventdb_svn.bb +++ b/packages/libeventdb/libeventdb_svn.bb @@ -1,6 +1,6 @@ DESCRIPTION = "Database access library for GPE calendar" LICENSE = "LGPL" -SECTION = "gpe/libs" +SECTION = "gpe/libs" PRIORITY = "optional" DEPENDS = "libgpewidget libgpepimc sqlite" diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.12/.mtn2git_empty b/packages/libftdi/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.12/.mtn2git_empty +++ b/packages/libftdi/.mtn2git_empty diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/.mtn2git_empty b/packages/libftdi/files/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/.mtn2git_empty +++ b/packages/libftdi/files/.mtn2git_empty diff --git a/packages/libftdi/files/doxygen-configure.patch b/packages/libftdi/files/doxygen-configure.patch new file mode 100644 index 0000000000..6558cbd96f --- /dev/null +++ b/packages/libftdi/files/doxygen-configure.patch @@ -0,0 +1,28 @@ +Index: libftdi-0.8/configure.in +=================================================================== +--- libftdi-0.8.orig/configure.in ++++ libftdi-0.8/configure.in +@@ -32,9 +32,5 @@ else + AC_MSG_RESULT(yes) + fi + +-dnl check for doxygen +-AC_PATH_PROG(DOXYGEN, doxygen, $PATH) +-AM_CONDITIONAL(HAVE_DOXYGEN, test -n $DOXYGEN); +- + AC_OUTPUT([libftdi-config],[chmod a+x libftdi-config]) +-AC_OUTPUT(Makefile src/Makefile examples/Makefile doc/Doxyfile doc/Makefile libftdi.pc) ++AC_OUTPUT(Makefile src/Makefile examples/Makefile libftdi.pc) +Index: libftdi-0.8/Makefile.am +=================================================================== +--- libftdi-0.8.orig/Makefile.am ++++ libftdi-0.8/Makefile.am +@@ -2,7 +2,7 @@ + # have all needed files, that a GNU package needs + AUTOMAKE_OPTIONS = foreign 1.4 + +-SUBDIRS = src examples doc ++SUBDIRS = src examples + + EXTRA_DIST = libftdi.spec COPYING.LIB README ChangeLog libftdi-config.in + diff --git a/packages/libftdi/libftdi-native_0.8.bb b/packages/libftdi/libftdi-native_0.8.bb new file mode 100644 index 0000000000..24f82778e5 --- /dev/null +++ b/packages/libftdi/libftdi-native_0.8.bb @@ -0,0 +1,5 @@ +require libftdi_${PV}.bb + +inherit native + +DEPENDS = "libusb-native" diff --git a/packages/libftdi/libftdi_0.8.bb b/packages/libftdi/libftdi_0.8.bb new file mode 100644 index 0000000000..f7426ceb1a --- /dev/null +++ b/packages/libftdi/libftdi_0.8.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "libftdi is a library (using libusb) to talk to FTDI's \ +FT232BM, FT245BM and FT2232C type chips including the popular bitbang mode." +HOMEPAGE = "http://www.intra2net.com/de/produkte/opensource/ftdi" +LICENSE = "GPL" +DEPENDS = "libusb" + +SRC_URI = "http://www.intra2net.com/de/produkte/opensource/ftdi/TGZ/libftdi-${PV}.tar.gz \ + file://doxygen-configure.patch;patch=1" +S = "${WORKDIR}/libftdi-${PV}" + +inherit autotools + +EXTRA_OECONF = "--disable-docs" + +do_stage() { + autotools_stage_all +} diff --git a/packages/libgpelaunch/libgpelaunch_svn.bb b/packages/libgpelaunch/libgpelaunch_svn.bb new file mode 100644 index 0000000000..c7c3c8e83e --- /dev/null +++ b/packages/libgpelaunch/libgpelaunch_svn.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "GPE program launcher library" +SECTION = "libs" +LICENSE = "LGPL" +DEPENDS = "gtk+ startup-notification" +PV = "0.14+svn${SRCDATE}" +PR = "r0" + +inherit autotools pkgconfig + +SRC_URI = "${GPE_SVN}" + +S = "${WORKDIR}/${PN}" + +do_stage() { + autotools_stage_all +} + +FILES_${PN}-dbg += "${libexecdir}/libgpelaunch/.debug" + +DEFAULT_PREFERENCE = "-1" diff --git a/packages/libgpepimc/libgpepimc-hildon_0.5.bb b/packages/libgpepimc/libgpepimc-hildon_0.5.bb index 9872228e6b..ccd8aca6f4 100644 --- a/packages/libgpepimc/libgpepimc-hildon_0.5.bb +++ b/packages/libgpepimc/libgpepimc-hildon_0.5.bb @@ -1,7 +1,7 @@ LICENSE = "LGPL" PR = "r0" DESCRIPTION = "Common code for GPE PIMs (hildon UI version)" -SECTION = "gpe/libs" +SECTION = "gpe/libs" PRIORITY = "optional" DEPENDS = "libgpewidget-hildon gtk+ sqlite hildon-lgpl" PROVIDES = "libgepepimc" diff --git a/packages/libgpepimc/libgpepimc.inc b/packages/libgpepimc/libgpepimc.inc index 8894ff6fe3..ef4b443016 100644 --- a/packages/libgpepimc/libgpepimc.inc +++ b/packages/libgpepimc/libgpepimc.inc @@ -1,7 +1,7 @@ LICENSE = "LGPL" PR = "r0" DESCRIPTION = "Common code for GPE PIMs" -SECTION = "gpe/libs" +SECTION = "gpe/libs" PRIORITY = "optional" DEPENDS = "libgpewidget gtk+ sqlite" PROVIDES = "libgepepimc" diff --git a/packages/libgpepimc/libgpepimc_svn.bb b/packages/libgpepimc/libgpepimc_svn.bb new file mode 100644 index 0000000000..b195837ed3 --- /dev/null +++ b/packages/libgpepimc/libgpepimc_svn.bb @@ -0,0 +1,27 @@ +DESCRIPTION = "Common code for GPE PIMs" +SECTION = "gpe/libs" +PRIORITY = "optional" +LICENSE = "LGPL" +DEPENDS = "libgpewidget gtk+ sqlite" +PROVIDES = "libgepepimc" +RPROVIDES = "libgepepimc" +PV = "0.8+svn${SRCDATE}" +PR = "r0" + +inherit pkgconfig autotools + +SRC_URI = "${GPE_SVN}" + +S = "${WORKDIR}/${PN}" + +do_stage () { + oe_libinstall -so libgpepimc ${STAGING_LIBDIR} + mkdir -p ${STAGING_INCDIR}/gpe + for h in ${headers}; do + install -m 0644 ${S}/gpe/$h ${STAGING_INCDIR}/gpe/$h + done +} + +headers = "pim-categories.h pim-categories-ui.h" + +DEFAULT_PREFERENCE = "-1" diff --git a/packages/libgpeplugin/libgpeplugin_cvs.bb b/packages/libgpeplugin/libgpeplugin_cvs.bb index e00a1142c6..80fc6ec095 100644 --- a/packages/libgpeplugin/libgpeplugin_cvs.bb +++ b/packages/libgpeplugin/libgpeplugin_cvs.bb @@ -3,16 +3,14 @@ AUTHOR = "Luce DeCicco <ldecicco@gmail.com>" DEPENDS = "gtk+ libgpewidget" PV = "0.0+cvs${SRCDATE}" -PR = "r0" #put examples in a seperate package PACKAGES += "${PN}-examples" FILES_${PN}-examples = "${bindir}/* ${libexecdir}/*" FILES_${PN} = "${libdir}/*.so.*" - -SRC_URI = "${HANDHELDS_CVS};module=gpe/base/${PN}" -S = "${WORKDIR}/${PN}" +SRC_URI = "${HANDHELDS_CVS};module=gpe/base/${PN}" +S = "${WORKDIR}/${PN}" inherit autotools pkgconfig diff --git a/packages/libgpeplugin/libgpeplugin_svn.bb b/packages/libgpeplugin/libgpeplugin_svn.bb new file mode 100644 index 0000000000..91eca5abc1 --- /dev/null +++ b/packages/libgpeplugin/libgpeplugin_svn.bb @@ -0,0 +1,21 @@ +DESCRIPTION = "Plugin system for GPE applications" +AUTHOR = "Luce DeCicco <ldecicco@gmail.com>" +DEPENDS = "gtk+ libgpewidget" +PV = "0.0+svn${SRCDATE}" +PR = "r0" + +inherit autotools pkgconfig + +SRC_URI = "${GPE_SVN}" + +S = "${WORKDIR}/${PN}" + +do_stage() { + autotools_stage_all +} + +#put examples in a seperate package +PACKAGES += "${PN}-examples" + +FILES_${PN}-examples = "${bindir}/* ${libexecdir}/*" +FILES_${PN} = "${libdir}/*.so.*" diff --git a/packages/libgpevtype/libgpevtype_0.15.bb b/packages/libgpevtype/libgpevtype_0.15.bb index 5f5de2eda3..3f8af85beb 100644 --- a/packages/libgpevtype/libgpevtype_0.15.bb +++ b/packages/libgpevtype/libgpevtype_0.15.bb @@ -1,6 +1,6 @@ LICENSE = "LGPL" DESCRIPTION = "Data interchange library for GPE" -SECTION = "gpe/libs" +SECTION = "gpe/libs" PRIORITY = "optional" DEPENDS = "libmimedir libeventdb" PR = "r0" diff --git a/packages/libgpevtype/libgpevtype_0.16.bb b/packages/libgpevtype/libgpevtype_0.16.bb index 5f5de2eda3..74f7bf312b 100644 --- a/packages/libgpevtype/libgpevtype_0.16.bb +++ b/packages/libgpevtype/libgpevtype_0.16.bb @@ -1,6 +1,6 @@ LICENSE = "LGPL" DESCRIPTION = "Data interchange library for GPE" -SECTION = "gpe/libs" +SECTION = "gpe/libs" PRIORITY = "optional" DEPENDS = "libmimedir libeventdb" PR = "r0" @@ -9,16 +9,7 @@ inherit pkgconfig gpe autotools SRC_URI = "${GPE_MIRROR}/${PN}-${PV}.tar.bz2" -headers = "tag-db.h vcard.h vevent.h vtodo.h" - - do_stage () { - oe_libinstall -so libgpevtype ${STAGING_LIBDIR} - - mkdir -p ${STAGING_INCDIR}/gpe - for h in ${headers}; do - install -m 0644 ${S}/gpe/$h ${STAGING_INCDIR}/gpe/${h} - done + autotools_stage_all } - diff --git a/packages/libgpevtype/libgpevtype_0.17.bb b/packages/libgpevtype/libgpevtype_0.17.bb index 33389233ef..7c2ebf6b1d 100644 --- a/packages/libgpevtype/libgpevtype_0.17.bb +++ b/packages/libgpevtype/libgpevtype_0.17.bb @@ -1,6 +1,6 @@ LICENSE = "LGPL" DESCRIPTION = "Data interchange library for GPE" -SECTION = "gpe/libs" +SECTION = "gpe/libs" PRIORITY = "optional" DEPENDS = "libmimedir libeventdb" PR = "r0" @@ -15,12 +15,7 @@ headers = "tag-db.h vcard.h vevent.h vtodo.h" do_stage () { - oe_libinstall -so libgpevtype ${STAGING_LIBDIR} - - mkdir -p ${STAGING_INCDIR}/gpe - for h in ${headers}; do - install -m 0644 ${S}/gpe/$h ${STAGING_INCDIR}/gpe/${h} - done + autotools_stage_all } diff --git a/packages/libgpevtype/libgpevtype_svn.bb b/packages/libgpevtype/libgpevtype_svn.bb index 235a1312db..213c009d85 100644 --- a/packages/libgpevtype/libgpevtype_svn.bb +++ b/packages/libgpevtype/libgpevtype_svn.bb @@ -1,30 +1,20 @@ -LICENSE = "LGPL" -DESCRIPTION = "Data interchange library for GPE" -SECTION = "gpe/libs" -PRIORITY = "optional" -DEPENDS = "libmimedir" - -DEFAULT_PREFERENCE = "-1" - -S = "${WORKDIR}/${PN}" +DESCRIPTION = "Data interchange library for GPE" +SECTION = "gpe/libs" +PRIORITY = "optional" +LICENSE = "LGPL" +DEPENDS = "libmimedir libeventdb" PV = "0.17+svn${SRCDATE}" -PR = "r0" +PR = "r1" inherit pkgconfig gpe autotools SRC_URI = "${GPE_SVN}" - -headers = "tag-db.h vcard.h vevent.h vtodo.h" - +S = "${WORKDIR}/${PN}" do_stage () { - oe_libinstall -so libgpevtype ${STAGING_LIBDIR} - - mkdir -p ${STAGING_INCDIR}/gpe - for h in ${headers}; do - install -m 0644 ${S}/gpe/$h ${STAGING_INCDIR}/gpe/${h} - done + autotools_stage_all } +DEFAULT_PREFERENCE = "-1" diff --git a/packages/libgpewidget/libgpewidget-hildon_0.102.bb b/packages/libgpewidget/libgpewidget-hildon_0.102.bb index 6327341160..854d0ea6da 100644 --- a/packages/libgpewidget/libgpewidget-hildon_0.102.bb +++ b/packages/libgpewidget/libgpewidget-hildon_0.102.bb @@ -1,7 +1,7 @@ LICENSE = "LGPL" PR = "r0" DESCRIPTION = "libgpewidget contains a collection of widgets and other common code shared by many GPE applications." -SECTION = "gpe/libs" +SECTION = "gpe/libs" PRIORITY = "optional" DEPENDS = "gtk+ libxrender gtk-doc intltool-native sdk-default-icons" RDEPENDS = "sdk-default-icons" diff --git a/packages/libgpewidget/libgpewidget_0.114.bb b/packages/libgpewidget/libgpewidget_0.114.bb index 059ec61fc1..d79beeb417 100644 --- a/packages/libgpewidget/libgpewidget_0.114.bb +++ b/packages/libgpewidget/libgpewidget_0.114.bb @@ -1,6 +1,6 @@ LICENSE = "LGPL" DESCRIPTION = "libgpewidget contains a collection of widgets and other common code shared by many GPE applications." -SECTION = "gpe/libs" +SECTION = "gpe/libs" PRIORITY = "optional" DEPENDS = "gtk+ cairo libxrender gtk-doc" PR = "r1" diff --git a/packages/libgpewidget/libgpewidget_svn.bb b/packages/libgpewidget/libgpewidget_svn.bb index 1da0a946be..8b6d0ea584 100644 --- a/packages/libgpewidget/libgpewidget_svn.bb +++ b/packages/libgpewidget/libgpewidget_svn.bb @@ -1,15 +1,13 @@ DESCRIPTION = "libgpewidget contains a collection of widgets and other common code shared by many GPE applications." SECTION = "gpe/libs" +LICENSE = "LGPL" PRIORITY = "optional" DEPENDS = "gtk+ cairo libxrender gtk-doc" - -LICENSE = "LGPL" DEFAULT_PREFERENCE = "-1" -S = "${WORKDIR}/${PN}" +S = "${WORKDIR}/${PN}" PV = "0.114+svn${SRCDATE}" -PR = "r0" inherit gpe autotools pkgconfig diff --git a/packages/libgtkinput/libgtkinput_svn.bb b/packages/libgtkinput/libgtkinput_svn.bb new file mode 100644 index 0000000000..b8fcc8c26e --- /dev/null +++ b/packages/libgtkinput/libgtkinput_svn.bb @@ -0,0 +1,18 @@ +LICENSE = "LGPL" +PV = "0.3+svn${SRCDATE}" + +inherit gpe autotools + +SRC_URI = "${GPE_SVN} \ + file://gtkinput.sh" + +S = "${WORKDIR}/${PN}" + +do_install_append() { + install -d ${D}/${sysconfdir}/X11/Xsession.d + install -m 755 ${WORKDIR}/gtkinput.sh ${D}/${sysconfdir}/X11/Xsession.d/46gtkinput +} + +FILES_${PN} += "${libdir}" + +DEFAULT_PREFERENCE = "-1" diff --git a/packages/libgtkstylus/libgtkstylus_svn.bb b/packages/libgtkstylus/libgtkstylus_svn.bb new file mode 100644 index 0000000000..33122345a7 --- /dev/null +++ b/packages/libgtkstylus/libgtkstylus_svn.bb @@ -0,0 +1,21 @@ +DESCRIPTION = "GTK plugin for stylus based systems" +SECTION = "libs" +LICENSE = "LGPL" +DEPENDS = "gtk+" +PV = "0.3+svn${SRCDATE}" +PR = "r5" + +inherit autotools + +SRC_URI = "${GPE_SVN}" + +S = "${WORKDIR}/${PN}" + +do_install_append() { + install -d ${D}/${sysconfdir}/X11/Xsession.d + install -m 755 ${S}/gtkstylus.sh ${D}/${sysconfdir}/X11/Xsession.d/45gtkstylus +} + +FILES_${PN} = "/etc ${libdir}/gtk-2.0/*/modules/*.so*" + +DEFAULT_PREFERENCE = "-1" diff --git a/packages/libhandoff/libhandoff_cvs.bb b/packages/libhandoff/libhandoff_svn.bb index bdac607847..c545d9270e 100644 --- a/packages/libhandoff/libhandoff_cvs.bb +++ b/packages/libhandoff/libhandoff_svn.bb @@ -1,15 +1,15 @@ LICENSE = "GPL" DESCRIPTION = "handoff library for GPE calendar" -SECTION = "gpe/libs" +SECTION = "gpe/libs" PRIORITY = "optional" DEPENDS = "glib-2.0" -PV = "0.1+cvs${SRCDATE}" +PV = "0.1+svn${SRCDATE}" PR = "r0" DEFAULT_PREFERENCE = "-1" inherit pkgconfig gpe autotools -SRC_URI = "${HANDHELDS_CVS};module=gpe/base/${PN}" +SRC_URI = "${GPE_SVN}" S = "${WORKDIR}/${PN}" diff --git a/packages/libidl/libidl_0.8.2.bb b/packages/libidl/libidl_0.8.2.bb index b8c5ec6966..85114d6524 100644 --- a/packages/libidl/libidl_0.8.2.bb +++ b/packages/libidl/libidl_0.8.2.bb @@ -1,5 +1,5 @@ +SECTION = "x11/gnome/libs" LICENSE = "LGPL" -SECTION = "libs" SRC_URI = "ftp://ftp.gnome.org/pub/GNOME/sources/libIDL/0.8/libIDL-0.8.2.tar.bz2" S = "${WORKDIR}/libIDL-${PV}" diff --git a/packages/libidl/libidl_0.8.3.bb b/packages/libidl/libidl_0.8.3.bb index 2ca114be2c..7a5a0d454e 100644 --- a/packages/libidl/libidl_0.8.3.bb +++ b/packages/libidl/libidl_0.8.3.bb @@ -1,6 +1,6 @@ -LICENSE = "LGPL" DESCRIPTION = "Library for parsing CORBA IDL files" -SECTION = "gnome/libs" +SECTION = "x11/gnome/libs" +LICENSE = "LGPL" DEPENDS = "glib-2.0" PR = "r2" diff --git a/packages/libidl/libidl_0.8.6.bb b/packages/libidl/libidl_0.8.6.bb index 916bfb6e5f..ccc93e291a 100644 --- a/packages/libidl/libidl_0.8.6.bb +++ b/packages/libidl/libidl_0.8.6.bb @@ -1,6 +1,6 @@ -LICENSE = "LGPL" DESCRIPTION = "Library for parsing CORBA IDL files" -SECTION = "gnome/libs" +SECTION = "x11/gnome/libs" +LICENSE = "LGPL" DEPENDS = "glib-2.0 libidl-native" PR = "r2" diff --git a/packages/libschedule/libschedule_svn.bb b/packages/libschedule/libschedule_svn.bb new file mode 100644 index 0000000000..1095c2de32 --- /dev/null +++ b/packages/libschedule/libschedule_svn.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "RTC alarm handling library for GPE" +SECTION = "gpe/libs" +PRIORITY = "optional" +LICENSE = "LGPL" +DEPENDS = "glib-2.0 sqlite libgpewidget" +PV = "0.16+svn${SRCDATE}" +PR = "r0" + +inherit autotools pkgconfig gpe + +SRC_URI = "${GPE_SVN}" + +S = "${WORKDIR}/${PN}" + +do_stage () { + autotools_stage_all +} + +DEFAULT_PREFERENCE = "-1" diff --git a/packages/libtododb/libtododb_svn.bb b/packages/libtododb/libtododb_svn.bb new file mode 100644 index 0000000000..a0263f27ac --- /dev/null +++ b/packages/libtododb/libtododb_svn.bb @@ -0,0 +1,29 @@ +DESCRIPTION = "Database access for GPE to-do list" +SECTION = "gpe/libs" +PRIORITY = "optional" +LICENSE = "LGPL" +DEPENDS = "libgpewidget libgpepimc sqlite" +PV = "0.10+svn${SRCDATE}" +PR = "r0" + +inherit pkgconfig gpe autotools + +SRC_URI = "${GPE_SVN}" + +S = "${WORKDIR}/${PN}" + +do_install () { + gpe_do_install +# oe_runmake PREFIX=${prefix} DESTDIR=${D} install-devel +} +do_stage () { + oe_libinstall -so libtododb ${STAGING_LIBDIR} + mkdir -p ${STAGING_INCDIR}/gpe + for h in ${headers}; do + install -m 0644 ${S}/gpe/$h ${STAGING_INCDIR}/gpe/$h + done +} + +headers = "todo-db.h" + +DEFAULT_PREFERENCE = "-1" diff --git a/packages/libxml/libxml2-native_2.6.26.bb b/packages/libxml/libxml2-native_2.6.26.bb new file mode 100644 index 0000000000..74ddfeb33a --- /dev/null +++ b/packages/libxml/libxml2-native_2.6.26.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "GNOME XML library" + +SRC_URI = "ftp://xmlsoft.org/libxml2/libxml2-${PV}.tar.gz \ + file://no-testapi.patch;patch=1" + +DEPENDS = "python-native" + +FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libxml2-${PV}" +S = "${WORKDIR}/libxml2-${PV}" + +inherit autotools native pkgconfig + +EXTRA_OECONF = "--with-python=${STAGING_INCDIR}/python2.4 --without-debug --without-legacy --without-schemas --without-catalog --without-docbook --without-c14n" + +headers = "DOCBparser.h HTMLparser.h HTMLtree.h SAX.h SAX2.h c14n.h catalog.h chvalid.h debugXML.h dict.h encoding.h entities.h globals.h hash.h list.h nanoftp.h nanohttp.h parser.h parserInternals.h pattern.h relaxng.h schemasInternals.h threads.h tree.h uri.h valid.h xinclude.h xlink.h xmlIO.h xmlautomata.h xmlerror.h xmlexports.h xmlmemory.h xmlreader.h xmlregexp.h xmlschemas.h xmlschemastypes.h xmlstring.h xmlunicode.h xmlversion.h xmlwriter.h xpath.h xpathInternals.h xpointer.h" + +do_stage () { + oe_runmake install +} + diff --git a/packages/libxsettings-client/libxsettings-client_svn.bb b/packages/libxsettings-client/libxsettings-client_svn.bb new file mode 100644 index 0000000000..111c692603 --- /dev/null +++ b/packages/libxsettings-client/libxsettings-client_svn.bb @@ -0,0 +1,26 @@ +SECTION = "gpe/libs" +PRIORITY = "optional" +LICENSE = "BSD-X" +DEPENDS = "libxsettings virtual/libx11 libxt gtk-doc" +PV = "0.17+svn${SRCDATE}" +# libxt is required to stop configure breaking builds by +# including system paths to find it if it isn't present. +PR = "r0" + +inherit autotools pkgconfig gpe + +SRC_URI = "${GPE_SVN}" + +S = "${WORKDIR}/${PN}" + +do_stage () { + oe_libinstall -so libXsettings-client ${STAGING_LIBDIR} + mkdir -p ${STAGING_INCDIR} + for h in ${headers}; do + install -m 0644 ${S}/$h ${STAGING_INCDIR}/$h + done +} + +headers = "xsettings-client.h xsettings-common.h" + +DEFAULT_PREFERENCE = "-1" diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/.mtn2git_empty b/packages/libxsettings/files/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/.mtn2git_empty +++ b/packages/libxsettings/files/.mtn2git_empty diff --git a/packages/libxsettings/files/Makefile.dpkg_ipkg b/packages/libxsettings/files/Makefile.dpkg_ipkg new file mode 100644 index 0000000000..76c532154f --- /dev/null +++ b/packages/libxsettings/files/Makefile.dpkg_ipkg @@ -0,0 +1,114 @@ +## Please read the README in this directory to see how to use this +## Makefile snippet + +# Let's use whatever clean target the specific app provides + +CONTROL = `if test -e familiar/control1; then echo control1; else echo control; fi` + +# URL to source tarball +SOURCE = http://gpe.linuxtogo.org/download/source/$(PACKAGE)-$(VERSION).tar.gz + +# can change this to e.g. /var/tmp/deb +DEB_PATH = ../deb + +ifeq ($(CVSBUILD),yes) +LIBGPEWIDGET_PC = libgpewidget-uninstalled +PC_EXTRA=PKG_CONFIG_PATH=../../base/libgpewidget +else +LIBGPEWIDGET_PC = libgpewidget +endif + +ifeq ($(IN_LIBGPEWIDGET),) +GPECFLAGS = $(shell $(PC_EXTRA) pkg-config --cflags $(LIBGPEWIDGET_PC)) +GPELIBS = $(shell $(PC_EXTRA) pkg-config --libs $(LIBGPEWIDGET_PC)) +endif + +GTKCFLAGS = $(shell pkg-config --cflags gtk+-2.0) +GTKLIBS = $(shell pkg-config --libs gtk+-2.0) + +STANDARD_CPPFLAGS = -D_GNU_SOURCE -DPACKAGE=\"$(PACKAGE)\" -DPREFIX=\"$(PREFIX)\" -DPACKAGE_LOCALE_DIR=\"$(PREFIX)/share/locale\" +STANDARD_CFLAGS = -MD -Wall + +ifeq ($(DEBUG),yes) +CFLAGS += -O2 -g +LDFLAGS = -g +else +CFLAGS += -Os -fomit-frame-pointer +endif + +dist: check-source clean dist-prep + rm -rf ../$(PACKAGE)-$(VERSION) + mkdir ../$(PACKAGE)-$(VERSION) + ( tar cf - --exclude "*/CVS" --exclude CVS --exclude "*~" --exclude "#*#" --exclude "debian" --exclude ".*" --exclude "*.ipk" --exclude "*.ipk.*" --exclude "*.mo" --exclude "*.batch" --exclude "translation-ipkgs.txt" * ) | (cd ../$(PACKAGE)-$(VERSION); tar xf -) + ( if [ -f linguas ]; then LINGUAS=`cat linguas`; PATCH_LINGUAS="s:^LINGUAS =.*:LINGUAS = $${LINGUAS}:"; fi; cd ../$(PACKAGE)-$(VERSION) && mkdir build && cp $(BUILD)/Makefile.dpkg_ipkg $(BUILD)/Makefile.translation build/ && sed "s:^CVSBUILD =.*:CVSBUILD = no:;s:^DEBUG =.*:DEBUG = no:;s:Makefile.translation-auto-linguas:Makefile.translation:;$${PATCH_LINGUAS}" < Makefile > Makefile.new && mv Makefile.new Makefile ) + ( cd .. ; tar cf - $(PACKAGE)-$(VERSION) | gzip -9 >$(PACKAGE)-$(VERSION).tar.gz ) + rm -rf ../$(PACKAGE)-$(VERSION) + $(MAKE) printinfo + +dist-upload: dist + scp ../$(PACKAGE)-$(VERSION).tar.gz $(USER)@linuxtogo.org:/media/data/projects/gpe/source/ + +dist-prep: +ipkg-prep: +install-mo: +# empty, can be filled in Makefile.translation + +install: install-program install-mo + +clean-dist: + rm -rf familiar/dist familiar/dist.list + +clean: clean-dist + +check-source: + @if [ -f familiar/$(CONTROL) ] && ! grep -q '^Source:' familiar/$(CONTROL); then echo -e "\nNo Source: field in control file. Aborting.\n"; exit 1; fi + +ipkg: check-source ipkg-prep clean + rm -rf familiar/dist + mkdir -p familiar/dist/CONTROL + sed 's:VERSION:$(VERSION):;s$$SOURCE$$$(SOURCE)$$' < familiar/$(CONTROL) > familiar/dist/CONTROL/control + if test -e familiar/conffiles; then install -m 644 familiar/conffiles familiar/dist/CONTROL; fi + if test -e familiar/preinst; then install familiar/preinst familiar/dist/CONTROL; fi + if test -e familiar/postinst; then install familiar/postinst familiar/dist/CONTROL; fi + if test -e familiar/prerm; then install familiar/prerm familiar/dist/CONTROL; fi + if test -e familiar/postrm; then install familiar/postrm familiar/dist/CONTROL; fi + $(MAKE) DESTDIR=`pwd`/familiar/dist PREFIX=/usr prefix=/usr DEBUG=no install-program + rm -rf familiar/dist.list + ipkg-build -o 0 -g 0 familiar/dist | sed 's/^Packaged .*into //; t 1; d; : 1; s:.*/::' >> familiar/dist.list + if [ "x$(LINGUAS)" != "x" ]; then make translation-ipkg; tr ' ' '\n' < translation-ipkgs.txt >> familiar/dist.list; fi + md5sum `cat familiar/dist.list` > $(PACKAGE)_$(VERSION).batch + rm -rf familiar/dist familiar/dist.list + $(MAKE) printinfo + +dpkg: dist + mkdir -p $(DEB_PATH) + ( olddir=`pwd`; cd $(DEB_PATH); rm -rf $(PACKAGE)-$(VERSION); ln -s $$olddir/../$(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)_$(VERSION).orig.tar.gz ; tar xzf $(PACKAGE)_$(VERSION).orig.tar.gz ) + mkdir -p $(DEB_PATH)/$(PACKAGE)-$(VERSION)/debian + for i in debian/*; do if test -f $$i; then cp $$i $(DEB_PATH)/$(PACKAGE)-$(VERSION)/debian/; fi; done + +CVSTAG := $(shell echo $(PACKAGE)-$(VERSION) | tr [a-z.] [A-Z_]) +printinfo: + @printf '-------------------------------------------------------------------------------\n' + @printf "If this becomes a package release, please add a CVS tag.\n" + @printf "You can use 'make tag' for that, it will execute\n" + @printf " cvs tag %s\n" $(CVSTAG) + @printf "Please upload a tarball (created with 'make dist') to\n" + @printf " ftp://ftp.handhelds.org/pub/projects/gpe/\n" + @printf " (handhelds.org:~ftp/pub/projects/gpe/source)\n" + @printf "You can use 'make dist-upload' to do that.\n" + @printf "You are currently known as USER %s.\n" $(USER) + @printf '-------------------------------------------------------------------------------\n' + +tag: check-source + cvs tag $(CVSTAG) + +retag: check-source + cvs tag -F $(CVSTAG) + +source: tag dist-upload + +%.pc: %.pc.in + sed 's:PREFIX:$(PREFIX):;s:BUILDDIR:$(shell pwd):;s:VERSION:$(VERSION):' < $< > $@ + +.c.o:; + $(CC) $(CFLAGS) $(CPPFLAGS) $(PACKAGE_CFLAGS) $(PACKAGE_CPPFLAGS) -c $< -o $@ diff --git a/packages/libxsettings/files/Makefile.translation b/packages/libxsettings/files/Makefile.translation new file mode 100644 index 0000000000..1ca7d648fd --- /dev/null +++ b/packages/libxsettings/files/Makefile.translation @@ -0,0 +1,107 @@ +.SUFFIXES: .mo .po .pot .po8 + +CONTROL = `if test -e familiar/control1; then echo control1; else echo control; fi` + +# use ipkg-build or ipkg-deb-build +IPKG_BUILD := ipkg-build + +TRANSLATION_SITE := http://www.iro.umontreal.ca/~gnutra/maint + +ifeq ($(DIR_PO),) +DIR_PO := po +endif + +ifeq ($(BINPACKAGE),) +BINPACKAGE := $(PACKAGE) +endif + +mo-files = $(patsubst %,$(DIR_PO)/%.mo,$(LINGUAS)) +po-files = $(patsubst %,$(DIR_PO)/%.po,$(LINGUAS)) + +ifeq ($(shell if [ -f $(PACKAGE).desktop.in ]; then echo present; fi;),present) +desktop-files += $(PACKAGE).desktop +endif + +ifneq ($(EXTRA_DESKTOPS),) +desktop-files += $(patsubst %.desktop.in,%.desktop,$(EXTRA_DESKTOPS)) +endif + +all-mo: $(mo-files) + +all-desktop: $(desktop-files) + +install-mo: all-mo + if [ "$(ENABLE_NLS)" != "no" ]; then \ + if [ "x$(LINGUAS)" != "x" ]; then \ + for i in $(LINGUAS); do mkdir -p $(DESTDIR)$(PREFIX)/share/locale/$$i/LC_MESSAGES; install -m 644 $(DIR_PO)/$$i.mo $(DESTDIR)$(PREFIX)/share/locale/$$i/LC_MESSAGES/$(PACKAGE).mo; done \ + fi; \ + fi; + +.po8.mo:; + if [ "$(ENABLE_NLS)" != "no" ]; then \ + msgfmt -o $@ $<; \ + fi; + +.po.po8:; + CTYPE=`grep "^\"Content-Type:" $< | sed 's/^.*charset=//;s/\\\\.*//'`; sed "s/\(Content-Type: .*=\)$$CTYPE/\1UTF-8/" < $< | iconv -f $${CTYPE} -t UTF-8 >$@ + +update-po: $(po-files) extract-po + +dist-prep: update-po freshen-po +# empty + +ifeq ($(CVSBUILD),yes) +ipkg-prep: freshen-po +# empty +endif + +extract-po: + mkdir -p $(DIR_PO) + ( SOURCES="$(SOURCES)"; for DESK in $(PACKAGE).desktop.in $(EXTRA_DESKTOPS); do if [ -f $$DESK ]; then intltool-extract --type=gettext/ini $$DESK; SOURCES="$$SOURCES $${DESK}.h"; fi; done; if [ "x$$SOURCES" != "x" ]; then xgettext --add-comments=TRANSLATORS: -k_ -kN_ -o $(DIR_PO)/$(PACKAGE).pot.new $$SOURCES; fi ) + if [ -f $(DIR_PO)/$(PACKAGE).pot.new ]; then if cmp -s $(DIR_PO)/$(PACKAGE).pot.new $(PACKAGE).pot; then rm $(DIR_PO)/$(PACKAGE).pot.new; else mv $(DIR_PO)/$(PACKAGE).pot.new $(DIR_PO)/$(PACKAGE).pot; fi; fi + +clean: clean-po clean-dist-translation + +clean-po: + rm -rf $(DIR_PO)/*.mo + for i in $(desktop-files); do if [ -f $$i.in ]; then rm -f $$i; rm -f $$i.in.h; fi; done + +%.desktop: %.desktop.in $(patsubst %,$(DIR_PO)/%.po,$(LINGUAS)) + intltool-merge -u -d $(DIR_PO) $< $@ + +freshen-po: + rm -rf tmp-po + mkdir tmp-po + cd tmp-po; for LANG in $(LINGUAS); do wget $(TRANSLATION_SITE)/$(PACKAGE)/$$LANG.po; done + for LANG in $(LINGUAS); do if [ ! -f $(DIR_PO)/$$LANG.po ] || ! cmp -s $(DIR_PO)/$$LANG.po tmp-po/$$LANG.po ; then mv tmp-po/$$LANG.po $(DIR_PO)/$$LANG.po; echo "Updated $$LANG translation"; fi; done + rm -rf tmp-po + +# ------------------------------------------------------------------------ + +MAINTAINER = $(shell grep 'Maintainer: ' familiar/$(CONTROL) | cut -d ' ' -f 2-) + +ifndef BUILD +BUILD = ../build +endif + +transdist := familiar/dist-translation +templates := $(BUILD)/familiar +ipkglist := translation-ipkgs.txt + +clean-dist-translation: + rm -rf $(transdist) $(ipkglist) + +real-translation-package: all-mo + rm -rf $(transdist) $(ipkglist) + for LINGUA in $(LINGUAS); do \ + i=$$(echo $$LINGUA | tr '[A-Z_]' '[a-z+]'); \ + mkdir -p $(transdist)/$$i/CONTROL; \ + mkdir -p $(transdist)/$$i$(PREFIX)/share/locale/$$LINGUA/LC_MESSAGES; \ + install -m 644 po/$$LINGUA.mo $(transdist)/$$i$(PREFIX)/share/locale/$$LINGUA/LC_MESSAGES/$(PACKAGE).mo; \ + sed -e "s/<maintainer>/$(MAINTAINER)/;s/<package>/$(BINPACKAGE)/;s/<version>/$(VERSION)/;s/<language>/$$i/;s!<source>!$(SOURCE)!" $(templates)/control.translation > $(transdist)/$$i/CONTROL/control; \ + install $(templates)/postinst.translation $(transdist)/$$i/CONTROL/postinst; \ + $(IPKG_BUILD) -g 0 -o 0 $(transdist)/$$i | sed 's/^Packaged .*into //; t 1; d; : 1; s:.*/::' >> $(ipkglist); \ + done + +translation-ipkg: + make PREFIX=/usr real-translation-package diff --git a/packages/libxsettings/files/libxsettings-svn-makefile-fix.patch b/packages/libxsettings/files/libxsettings-svn-makefile-fix.patch new file mode 100644 index 0000000000..52d15a6e14 --- /dev/null +++ b/packages/libxsettings/files/libxsettings-svn-makefile-fix.patch @@ -0,0 +1,20 @@ +--- libxsettings/Makefile.orig 2007-02-10 00:45:33.452674544 +0200 ++++ libxsettings/Makefile 2007-02-10 00:52:09.003215686 +0200 +@@ -1,7 +1,7 @@ + PREFIX = /usr/local + PACKAGE = libxsettings + DEBUG = no +-CVSBUILD = yes ++CVSBUILD = no + VERSION = 0.11 + + .SUFFIXES: .os +@@ -20,7 +20,7 @@ + ifeq ($(CVSBUILD),yes) + BUILD = ../build + else +-BUILD = build ++BUILD = .. + endif + + .c.os:; diff --git a/packages/libxsettings/libxsettings_svn.bb b/packages/libxsettings/libxsettings_svn.bb new file mode 100644 index 0000000000..dd1e7fcadf --- /dev/null +++ b/packages/libxsettings/libxsettings_svn.bb @@ -0,0 +1,32 @@ +DESCRIPTION = "Common code for XSETTINGS" +SECTION = "gpe/libs" +PRIORITY = "optional" +LICENSE = "BSD-X" +DEPENDS = "virtual/libx11" +PV = "0.11+svn${SRCDATE}" +PR = "r0" + +inherit gpe + +SRC_URI = "${GPE_SVN} \ + file://libxsettings-svn-makefile-fix.patch;patch=1 \ + file://Makefile.dpkg_ipkg \ + file://Makefile.translation" + +S = "${WORKDIR}/${PN}" + +do_install () { + gpe_do_install + oe_runmake PREFIX=${prefix} DESTDIR=${D} install-devel +} +do_stage () { + oe_libinstall -so libXsettings ${STAGING_LIBDIR} + mkdir -p ${STAGING_INCDIR}/gpe + for h in ${headers}; do + install -m 0644 ${S}/$h ${STAGING_INCDIR}/$h + done +} + +headers = "xsettings-common.h" + +DEFAULT_PREFERENCE = "-1" diff --git a/packages/libxslt/libxslt-native_1.1.17.bb b/packages/libxslt/libxslt-native_1.1.17.bb new file mode 100644 index 0000000000..6134b2bf57 --- /dev/null +++ b/packages/libxslt/libxslt-native_1.1.17.bb @@ -0,0 +1,4 @@ +require libxslt_${PV}.bb +inherit native + +DEPENDS = "libxml2-native (>=2.6.25)" diff --git a/packages/lighttpd/1.4.13/configure.in.patch b/packages/lighttpd/1.4.13/configure.in.patch deleted file mode 100644 index f4db64d4fe..0000000000 --- a/packages/lighttpd/1.4.13/configure.in.patch +++ /dev/null @@ -1,28 +0,0 @@ -Index: lighttpd-1.4.13-r0/lighttpd-1.4.13/configure.in -=================================================================== ---- lighttpd-1.4.13-r0.orig/lighttpd-1.4.13/configure.in 2006-10-09 18:19:34.000000000 +0200 -+++ lighttpd-1.4.13-r0/lighttpd-1.4.13/configure.in 2006-12-07 22:31:52.000000000 +0100 -@@ -250,23 +250,9 @@ - [WITH_PCRE=$withval],[WITH_PCRE=yes]) - AC_MSG_RESULT([$WITH_PCRE]) - --if test "x$cross_compiling" = xno -a "$WITH_PCRE" != "no"; then -- AC_PATH_PROG(PCRECONFIG, pcre-config) - -- if test x"$PCRECONFIG" != x; then -- PCRE_LIB=`$PCRECONFIG --libs` -- CPPFLAGS="$CPPFLAGS `$PCRECONFIG --cflags`" -- OLDLIBS="$LIBS" -- LIBS="$LIBS $PCRE_LIB" -- AC_CHECK_LIB(pcre, pcre_compile, [ -- AC_CHECK_HEADERS([pcre.h], [ - AC_DEFINE([HAVE_LIBPCRE], [1], [libpcre]) - AC_DEFINE([HAVE_PCRE_H], [1]) -- ]) -- ]) -- LIBS="$OLDLIBS" -- fi --fi - - AC_SUBST(PCRE_LIB) - diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/.mtn2git_empty b/packages/lighttpd/lighttpd/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/.mtn2git_empty +++ b/packages/lighttpd/lighttpd/.mtn2git_empty diff --git a/packages/lighttpd/lighttpd/configure.in.patch b/packages/lighttpd/lighttpd/configure.in.patch new file mode 100644 index 0000000000..3387fe5635 --- /dev/null +++ b/packages/lighttpd/lighttpd/configure.in.patch @@ -0,0 +1,34 @@ +Index: lighttpd-1.4.13/configure.in +=================================================================== +--- lighttpd-1.4.13.orig/configure.in 2006-10-09 18:19:34.000000000 +0200 ++++ lighttpd-1.4.13/configure.in 2007-02-13 18:42:34.000000000 +0100 +@@ -250,23 +250,23 @@ + [WITH_PCRE=$withval],[WITH_PCRE=yes]) + AC_MSG_RESULT([$WITH_PCRE]) + +-if test "x$cross_compiling" = xno -a "$WITH_PCRE" != "no"; then ++#if test "x$cross_compiling" = xno -a "$WITH_PCRE" != "no"; then + AC_PATH_PROG(PCRECONFIG, pcre-config) + +- if test x"$PCRECONFIG" != x; then ++# if test x"$PCRECONFIG" != x; then + PCRE_LIB=`$PCRECONFIG --libs` + CPPFLAGS="$CPPFLAGS `$PCRECONFIG --cflags`" + OLDLIBS="$LIBS" + LIBS="$LIBS $PCRE_LIB" +- AC_CHECK_LIB(pcre, pcre_compile, [ ++# AC_CHECK_LIB(pcre, pcre_compile, [ + AC_CHECK_HEADERS([pcre.h], [ + AC_DEFINE([HAVE_LIBPCRE], [1], [libpcre]) + AC_DEFINE([HAVE_PCRE_H], [1]) + ]) +- ]) ++# ]) + LIBS="$OLDLIBS" +- fi +-fi ++# fi ++#fi + + AC_SUBST(PCRE_LIB) + diff --git a/packages/lighttpd/lighttpd/index.html b/packages/lighttpd/lighttpd/index.html new file mode 100644 index 0000000000..cd25bf17b3 --- /dev/null +++ b/packages/lighttpd/lighttpd/index.html @@ -0,0 +1 @@ +<html><body><h1>It works!</h1></body></html>
\ No newline at end of file diff --git a/packages/lighttpd/conf/etc/init.d/lighttpd b/packages/lighttpd/lighttpd/lighttpd index 4661210c27..572381499a 100644 --- a/packages/lighttpd/conf/etc/init.d/lighttpd +++ b/packages/lighttpd/lighttpd/lighttpd @@ -22,12 +22,7 @@ case "$1" in echo -n "Restarting $DESC: " start-stop-daemon -K -x "$DAEMON" sleep 1 - KEY_ARGS="" - test -f $DROPBEAR_DSSKEY && KEY_ARGS="$KEY_ARGS -d $DROPBEAR_DSSKEY" - test -f $DROPBEAR_RSAKEY && KEY_ARGS="$KEY_ARGS -r $DROPBEAR_RSAKEY" - start-stop-daemon -S \ - -x "$DAEMON" -- $KEY_ARGS \ - -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS + start-stop-daemon -S -x "$DAEMON" echo "$NAME." ;; *) diff --git a/packages/lighttpd/conf/etc/lighttpd.conf b/packages/lighttpd/lighttpd/lighttpd.conf index 1536083e10..5642e3175f 100644 --- a/packages/lighttpd/conf/etc/lighttpd.conf +++ b/packages/lighttpd/lighttpd/lighttpd.conf @@ -13,12 +13,12 @@ # - saves memory server.modules = ( # "mod_rewrite", - "mod_redirect", +# "mod_redirect", # "mod_alias", "mod_access", # "mod_cml", # "mod_trigger_b4_dl", - "mod_auth", +# "mod_auth", # "mod_status", # "mod_setenv", # "mod_fastcgi", @@ -33,7 +33,7 @@ server.modules = ( # "mod_expire", # "mod_secdownload", # "mod_rrdtool", - "mod_webdav", +# "mod_webdav", "mod_accesslog" ) ## a static document-root, for virtual-hosting take look at the @@ -131,12 +131,6 @@ $HTTP["url"] =~ "\.pdf$" { server.range-requests = "disable" } -$HTTP["url"] =~ "^/dav($|/)" { - webdav.activate = "enable" - webdav.is-readonly = "disable" - webdav.sqlite-db-name = "/www/var/lighttpd.webdav_lock.db" -} - ## # which extensions should not be handle via static-file transfer # @@ -267,8 +261,6 @@ static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" ) #url.rewrite = ( "^/$" => "/server-status" ) #url.redirect = ( "^/wishlist/(.+)" => "http://www.123.org/$1" ) -url.redirect = ( "^/DAV($|/)" => "http://cmx270/dav" ) - #### both rewrite/redirect support back reference to regex conditional using %n #$HTTP["host"] =~ "^www\.(.*)" { # url.redirect = ( "^/(.*)" => "http://%1/$1" ) diff --git a/packages/lighttpd/1.4.13/src-server.c.patch b/packages/lighttpd/lighttpd/src-server.c.patch index 6ca0c9ea40..6ca0c9ea40 100644 --- a/packages/lighttpd/1.4.13/src-server.c.patch +++ b/packages/lighttpd/lighttpd/src-server.c.patch diff --git a/packages/lighttpd/lighttpd_1.4.13.bb b/packages/lighttpd/lighttpd_1.4.13.bb index d56132e47d..504a129db8 100644 --- a/packages/lighttpd/lighttpd_1.4.13.bb +++ b/packages/lighttpd/lighttpd_1.4.13.bb @@ -2,12 +2,14 @@ DESCRIPTION = "Web server" SECTION = "net" DEPENDS = "sqlite3 libpcre libxml2" LICENSE = "BSD" -PR = "r3" +PR = "r5" SRC_URI = "http://www.lighttpd.net/download/lighttpd-1.4.13.tar.gz \ - file://${PV}/configure.in.patch;patch=1;pnum=2 \ - file://${PV}/src-server.c.patch;patch=1;pnum=1 \ - file://conf/etc " + file://configure.in.patch;patch=1 \ + file://src-server.c.patch;patch=1 \ + file://index.html \ + file://lighttpd.conf \ + file://lighttpd" EXTRA_OECONF="--without-bzip2 \ --without-ldap \ @@ -20,18 +22,20 @@ EXTRA_OECONF="--without-bzip2 \ --disable-nls \ --disable-static" -inherit autotools pkgconfig +inherit autotools pkgconfig update-rc.d -do_install_append() { - cp -R ${WORKDIR}/conf/etc ${D}/etc - rm -fR ${D}/etc/.svn - rm -fR ${D}/etc/init.d/.svn +INITSCRIPT_NAME = "lighttpd" +INITSCRIPT_PARAMS = "defaults 70" - chmod -R 755 ${D}/etc +do_install_append() { + install -d ${D}${sysconfdir}/init.d ${D}/www/logs ${D}/www/pages/dav ${D}/www/var + install -m 0755 ${WORKDIR}/lighttpd ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/lighttpd.conf ${D}${sysconfdir} + install -m 0644 ${WORKDIR}/index.html ${D}/www/pages/ } do_stage() { autotools_stage_all } -FILES_${PN} += "${libdir}/mod_*.so /etc" +FILES_${PN} += "${libdir}/mod_*.so ${sysconfdir} /www" diff --git a/packages/linphone/linphone_1.6.0.bb b/packages/linphone/linphone_1.6.0.bb index 43b8daa131..563f21440e 100644 --- a/packages/linphone/linphone_1.6.0.bb +++ b/packages/linphone/linphone_1.6.0.bb @@ -1,7 +1,7 @@ DESCRIPTION = "SIP-based IP phone (console edition)" HOMEPAGE = "http://www.linphone.org/?lang=us" SECTION = "x11/utils" -LICENSE = "GPL-2" +LICENSE = "GPLv2" DEPENDS = "intltool libosip2 speex libogg alsa-lib readline" DEPENDS_${PN} = "liblinphone" diff --git a/packages/linux/collie-kernels-2.4-embedix.bb b/packages/linux/collie-kernels-2.4-embedix.bb index f53e86f6c4..022aca9ff8 100644 --- a/packages/linux/collie-kernels-2.4-embedix.bb +++ b/packages/linux/collie-kernels-2.4-embedix.bb @@ -6,7 +6,7 @@ PR = "r2" COMPATIBLE_HOST = "arm.*-linux" -DEPENDS = '${@base_conditional("DISTRO_TYPE", "debug", "openzaurus-sa", "collie-kernel-24-8 collie-kernel-32-0 collie-kernel-32-32 collie-kernel-40-24 collie-kernel-48-16 collie-kernel-58-6 collie-kernel-64-0",d)}' +DEPENDS = '${@base_conditional("DISTRO_TYPE", "debug", "openzaurus-sa", "collie-kernel-64-0 collie-kernel-24-8 collie-kernel-32-0 collie-kernel-32-32 collie-kernel-40-24 collie-kernel-48-16 collie-kernel-58-6",d)}' PACKAGES = "" EXCLUDE_FROM_WORLD = "1" diff --git a/packages/linux/gta01-kernel_2.6.bb b/packages/linux/gta01-kernel_2.6.bb new file mode 100644 index 0000000000..eaafb7e7b2 --- /dev/null +++ b/packages/linux/gta01-kernel_2.6.bb @@ -0,0 +1 @@ +require linux-gta01_2.6.17.14.bb diff --git a/packages/linux/ixp4xx-kernel.inc b/packages/linux/ixp4xx-kernel.inc index 3a80703420..57d3028742 100644 --- a/packages/linux/ixp4xx-kernel.inc +++ b/packages/linux/ixp4xx-kernel.inc @@ -26,6 +26,8 @@ SECTION = "kernel" DESCRIPTION = "Linux kernel for the Intel IXP4xx device" LICENSE = "GPL" +DEPENDS = "arm-kernel-shim devio-native" + # Linux kernel source has the general form linux-X.Y.Z-patchP, # X.Y is the major version number, Z (which may have multiple # parts) is a sub-version and 'patch' is something like 'mm' or @@ -298,12 +300,8 @@ pkg_postrm_kernel-image-fsg3 () { update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-fsg3${SITEINFO_ENDIANESS}-${KERNEL_VERSION} || true } -#FIXUP: the correct instructions to copy the kernel prepended with the le fixup -#FIXME: do a fixup for BE too... -FIXUP_armeb = "cp$" -FIXUP_arm = "wb 0xee110f10,4;wb 0xe3c00080,4;wb 0xee010f10,4;xp $,4" - -DEPENDS += "devio-native" +BYTESWAP_armeb = "cp$" +BYTESWAP_arm = "xp $,4" # We need the alternatives to happen in the kernel-image packages, not in # the kernel package, because only the images know the name of the kernel. @@ -312,22 +310,23 @@ pkg_postinst_kernel () { pkg_postrm_kernel () { } -# copy_image <dest> <cmdline> <machine-id> +# copy_image <dest> <machine> # copy the zImage and append the appropriate shim # dest: where to copy to -# cmdline: command line to pass to image -# machine-id: decimal machine id to prepend, empty for none +# machine: machine shim to prepend, empty for none copy_image() { - local setmach + local shim - setmach="" - test -n "$2" && setmach="wb $2 . 256/ 255& 0xe3a01c00+, 4; wb 255& 0xe3811000+, 4;" + shim="/dev/null" + test -n "$2" && shim="${STAGING_LOADER_DIR}/arm-kernel-shim-$2.bin" - rm -f "$1".new - devio '<<${KERNEL_OUTPUT}' >"$1".new "$setmach"'${FIXUP}' || { + rm -f "$1".new "$1".shimmed + cat $shim ${KERNEL_OUTPUT} > "$1".shimmed + devio '<<'"$1"'.shimmed' >"$1".new '${BYTESWAP}' || { echo 'ERROR: ${KERNEL_OUTPUT}: failed to copy zImage' >&2 return 1 } + rm -f "$1".shimmed mv "$1".new "$1" } @@ -338,14 +337,14 @@ install_image() { do_install_append() { # Overwrite the unshimmed generic image with a shimmed one (but without # any command line or machine id override). - rm -f '${D}/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_VERISON}' + rm -f '${D}/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_VERSION}' install_image '${MACHINE_ARCH}' # Add the machine specific images, with appropriate suffixes - install_image 'nslu2${SITEINFO_ENDIANESS}' '${nslu2_MACHID}' - install_image 'nas100d${SITEINFO_ENDIANESS}' '${nas100d_MACHID}' - install_image 'dsmg600${SITEINFO_ENDIANESS}' '${dsmg600_MACHID}' - install_image 'fsg3${SITEINFO_ENDIANESS}' '${fsg3_MACHID}' + install_image 'nslu2${SITEINFO_ENDIANESS}' 'nslu2' + install_image 'nas100d${SITEINFO_ENDIANESS}' 'nas100d' + install_image 'dsmg600${SITEINFO_ENDIANESS}' 'dsmg600' + install_image 'fsg3${SITEINFO_ENDIANESS}' 'fsg3' } do_deploy[dirs] = "${S}" @@ -359,10 +358,10 @@ do_deploy() { deploy_image '${MACHINE_ARCH}' # And the machine specific images - deploy_image 'nslu2${SITEINFO_ENDIANESS}' '${nslu2_MACHID}' - deploy_image 'nas100d${SITEINFO_ENDIANESS}' '${nas100d_MACHID}' - deploy_image 'dsmg600${SITEINFO_ENDIANESS}' '${dsmg600_MACHID}' - deploy_image 'fsg3${SITEINFO_ENDIANESS}' '${fsg3_MACHID}' + deploy_image 'nslu2${SITEINFO_ENDIANESS}' 'nslu2' + deploy_image 'nas100d${SITEINFO_ENDIANESS}' 'nas100d' + deploy_image 'dsmg600${SITEINFO_ENDIANESS}' 'dsmg600' + deploy_image 'fsg3${SITEINFO_ENDIANESS}' 'fsg3' } addtask deploy before do_build after do_compile diff --git a/packages/linux/ixp4xx-kernel/2.6.19/defconfig b/packages/linux/ixp4xx-kernel/2.6.19/defconfig index 00750f843a..58d6a39c8d 100644 --- a/packages/linux/ixp4xx-kernel/2.6.19/defconfig +++ b/packages/linux/ixp4xx-kernel/2.6.19/defconfig @@ -189,7 +189,8 @@ CONFIG_PCI=y CONFIG_PREEMPT=y # CONFIG_NO_IDLE_HZ is not set CONFIG_HZ=100 -# CONFIG_AEABI is not set +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set CONFIG_SELECT_MEMORY_MODEL=y CONFIG_FLATMEM_MANUAL=y @@ -512,7 +513,7 @@ CONFIG_MTD_PARTITIONS=y CONFIG_MTD_REDBOOT_PARTS=y CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y -CONFIG_MTD_REDBOOT_PARTS_READONLY=y +# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set # CONFIG_MTD_CMDLINE_PARTS is not set # CONFIG_MTD_AFS_PARTS is not set diff --git a/packages/linux/ixp4xx-kernel/2.6.19/series b/packages/linux/ixp4xx-kernel/2.6.19/series index ec0e7a81c5..e7ef3083dd 100644 --- a/packages/linux/ixp4xx-kernel/2.6.19/series +++ b/packages/linux/ixp4xx-kernel/2.6.19/series @@ -39,8 +39,6 @@ squashfs/squashfs-Makefile.patch 86-nas100d-rtc-fixup.patch 87-dsmg600-rtc-fixup.patch 88-dsmg600-dflt-cmdline.patch -88-nas100d-dflt-cmdline.patch -88-nslu2-dflt-cmdline.patch 95-pata-ixp4xx.patch 96-fsg3-support.patch 97-avila-setup-pata.patch diff --git a/packages/linux/ixp4xx-kernel/2.6.20/defconfig b/packages/linux/ixp4xx-kernel/2.6.20/defconfig index a7cdacc960..d9a1bbc22f 100644 --- a/packages/linux/ixp4xx-kernel/2.6.20/defconfig +++ b/packages/linux/ixp4xx-kernel/2.6.20/defconfig @@ -196,7 +196,8 @@ CONFIG_PCI=y CONFIG_PREEMPT=y # CONFIG_NO_IDLE_HZ is not set CONFIG_HZ=100 -# CONFIG_AEABI is not set +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set CONFIG_SELECT_MEMORY_MODEL=y CONFIG_FLATMEM_MANUAL=y @@ -528,7 +529,7 @@ CONFIG_MTD_PARTITIONS=y CONFIG_MTD_REDBOOT_PARTS=y CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y -CONFIG_MTD_REDBOOT_PARTS_READONLY=y +# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set # CONFIG_MTD_CMDLINE_PARTS is not set # CONFIG_MTD_AFS_PARTS is not set diff --git a/packages/linux/ixp4xx-kernel/2.6.20/series b/packages/linux/ixp4xx-kernel/2.6.20/series index 71c17940fc..7100d2f806 100644 --- a/packages/linux/ixp4xx-kernel/2.6.20/series +++ b/packages/linux/ixp4xx-kernel/2.6.20/series @@ -9,10 +9,10 @@ squashfs/squashfs-force-O2.patch squashfs/squashfs-lzma.patch squashfs/squashfs-Kconfig.patch squashfs/squashfs-Makefile.patch +00-fix-redboot-bad-code.patch 07-remove-avila-ixdp425-setup.patch 08-avila-loft-setup.patch 09-avila-setup-pata.patch -11-mtdpart-redboot-config-byteswap.patch 30-ixp4xx-npe-driver-0.3.1.patch 37-ixp4xx-net-driver-improve-mac-handling.patch 39-ixp4xx-net-driver-mtd-load-fw.patch @@ -36,8 +36,6 @@ squashfs/squashfs-Makefile.patch 86-nas100d-rtc-fixup.patch 87-dsmg600-rtc-fixup.patch 88-dsmg600-dflt-cmdline.patch -88-nas100d-dflt-cmdline.patch -88-nslu2-dflt-cmdline.patch 96-fsg3-support.patch 98-sata_via-pata-support-upstream.patch 99-avila-mtd-microcode.patch diff --git a/packages/linux/ixp4xx-kernel_2.6.19.bb b/packages/linux/ixp4xx-kernel_2.6.19.bb index f10af6c050..293f06a8e1 100644 --- a/packages/linux/ixp4xx-kernel_2.6.19.bb +++ b/packages/linux/ixp4xx-kernel_2.6.19.bb @@ -6,7 +6,7 @@ # http://trac.nslu2-linux.org/kernel/ # # The revision that is pulled from SVN is specified below -IXP4XX_KERNEL_SVN_REV = "683" +IXP4XX_KERNEL_SVN_REV = "698" # # The directory containing the patches to be applied is # specified below @@ -23,16 +23,3 @@ require ixp4xx-kernel-svnpatch.inc SRC_URI += "file://defconfig" SRC_URI += "file://series" - -# Remove the specific cmdline hacking patches if we are not building for nslu2. -addtask remove_cmdline_hacks before do_patch after do_unpack -do_remove_cmdline_hacks() { - -# if [ "${MACHINE}" != "nslu2" ] ; then - sed -e '/88-nas100d-dflt-cmdline.patch/d' \ - -e '/88-nslu2-dflt-cmdline.patch/d' \ - '${WORKDIR}/series' > '${WORKDIR}/series.new' - mv '${WORKDIR}/series.new' '${WORKDIR}/series' -# fi - -} diff --git a/packages/linux/ixp4xx-kernel_2.6.20.bb b/packages/linux/ixp4xx-kernel_2.6.20.bb index 2d057799ac..434fed24d5 100644 --- a/packages/linux/ixp4xx-kernel_2.6.20.bb +++ b/packages/linux/ixp4xx-kernel_2.6.20.bb @@ -6,7 +6,7 @@ # http://trac.nslu2-linux.org/kernel/ # # The revision that is pulled from SVN is specified below -IXP4XX_KERNEL_SVN_REV = "683" +IXP4XX_KERNEL_SVN_REV = "698" # # The directory containing the patches to be applied is # specified below @@ -23,16 +23,3 @@ require ixp4xx-kernel-svnpatch.inc SRC_URI += "file://defconfig" SRC_URI += "file://series" - -# Remove the specific cmdline hacking patches if we are not building for nslu2. -addtask remove_cmdline_hacks before do_patch after do_unpack -do_remove_cmdline_hacks() { - - if [ "${MACHINE}" != "nslu2" ] ; then - sed -e '/88-nas100d-dflt-cmdline.patch/d' \ - -e '/88-nslu2-dflt-cmdline.patch/d' \ - '${WORKDIR}/series' > '${WORKDIR}/series.new' - mv '${WORKDIR}/series.new' '${WORKDIR}/series' - fi - -} diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6/.mtn2git_empty b/packages/linux/linux-gta01/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6/.mtn2git_empty +++ b/packages/linux/linux-gta01/.mtn2git_empty diff --git a/packages/linux/linux-gta01/defconfig-2.6.20-fic-gta01 b/packages/linux/linux-gta01/defconfig-2.6.20-fic-gta01 new file mode 100644 index 0000000000..948ccd6f70 --- /dev/null +++ b/packages/linux/linux-gta01/defconfig-2.6.20-fic-gta01 @@ -0,0 +1,1771 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.20 +# Thu Feb 15 23:04:12 2007 +# +CONFIG_ARM=y +# CONFIG_GENERIC_TIME is not set +CONFIG_MMU=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +# CONFIG_ARCH_HAS_ILOG2_U32 is not set +# CONFIG_ARCH_HAS_ILOG2_U64 is not set +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" + +# +# Code maturity level options +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_LOCK_KERNEL=y +CONFIG_INIT_ENV_ARG_LIMIT=32 + +# +# General setup +# +CONFIG_LOCALVERSION="-moko7" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +# CONFIG_IPC_NS is not set +# CONFIG_POSIX_MQUEUE is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set +# CONFIG_UTS_NS is not set +# CONFIG_AUDIT is not set +# CONFIG_IKCONFIG is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_INITRAMFS_SOURCE="" +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +# CONFIG_EMBEDDED is not set +CONFIG_UID16=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SHMEM=y +CONFIG_SLAB=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_RT_MUTEXES=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 +# CONFIG_SLOB is not set + +# +# Loadable module support +# +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_KMOD=y + +# +# Block layer +# +CONFIG_BLOCK=y +# CONFIG_LBD is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_LSF is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=m +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=m +# CONFIG_DEFAULT_AS is not set +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" + +# +# System Type +# +# CONFIG_ARCH_AAEC2000 is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_CLPS7500 is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_CO285 is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_IMX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP23XX is not set +# CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_PNX4008 is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +CONFIG_ARCH_S3C2410=y +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_OMAP is not set + +# +# S3C24XX Implementations +# +# CONFIG_MACH_AML_M5900 is not set +# CONFIG_MACH_ANUBIS is not set +# CONFIG_MACH_OSIRIS is not set +# CONFIG_ARCH_BAST is not set +# CONFIG_ARCH_H1940 is not set +# CONFIG_MACH_N30 is not set +# CONFIG_ARCH_SMDK2410 is not set +CONFIG_MACH_QT2410=y +CONFIG_MACH_GTA01=y +# CONFIG_ARCH_S3C2440 is not set +# CONFIG_MACH_SMDK2413 is not set +# CONFIG_MACH_VR1000 is not set +# CONFIG_MACH_RX3715 is not set +# CONFIG_MACH_OTOM is not set +# CONFIG_MACH_NEXCODER_2440 is not set +# CONFIG_MACH_VSTMS is not set +CONFIG_S3C2410_CLOCK=y +CONFIG_S3C2410_PM=y +CONFIG_CPU_S3C2410_DMA=y +CONFIG_CPU_S3C2410=y + +# +# S3C2410 Boot +# +# CONFIG_S3C2410_BOOT_WATCHDOG is not set +CONFIG_S3C2410_BOOT_ERROR_RESET=y + +# +# S3C2410 Setup +# +CONFIG_S3C2410_DMA=y +# CONFIG_S3C2410_DMA_DEBUG is not set +CONFIG_S3C2410_PM_DEBUG=y +CONFIG_S3C2410_PM_CHECK=y +CONFIG_S3C2410_PM_CHECK_CHUNKSIZE=64 +CONFIG_S3C2410_LOWLEVEL_UART_PORT=0 + +# +# Processor Type +# +CONFIG_CPU_32=y +CONFIG_CPU_ARM920T=y +CONFIG_CPU_32v4T=y +CONFIG_CPU_ABRT_EV4T=y +CONFIG_CPU_CACHE_V4WT=y +CONFIG_CPU_CACHE_VIVT=y +CONFIG_CPU_COPY_V4WB=y +CONFIG_CPU_TLB_V4WBI=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +CONFIG_ARM_THUMB=y +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_WRITETHROUGH is not set + +# +# Bus support +# + +# +# PCCARD (PCMCIA/CardBus) support +# +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_PREEMPT=y +CONFIG_NO_IDLE_HZ=y +CONFIG_HZ=200 +# CONFIG_AEABI is not set +# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +# CONFIG_SPARSEMEM_STATIC is not set +CONFIG_SPLIT_PTLOCK_CPUS=4096 +# CONFIG_RESOURCES_64BIT is not set +CONFIG_ALIGNMENT_TRAP=y + +# +# Boot options +# +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_CMDLINE="console=ttySAC0,115200n8 ip=192.168.1.2:192.168.1.10:192.168.1.10:255.255.255.0:ezx:usb0:off debug" +# CONFIG_XIP_KERNEL is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +# CONFIG_FPE_NWFPE is not set +CONFIG_FPE_FASTFPE=y + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_BINFMT_AOUT is not set +# CONFIG_BINFMT_MISC is not set +# CONFIG_ARTHUR is not set + +# +# Power management options +# +CONFIG_PM=y +CONFIG_PM_LEGACY=y +CONFIG_PM_DEBUG=y +CONFIG_DISABLE_CONSOLE_SUSPEND=y +# CONFIG_PM_SYSFS_DEPRECATED is not set +CONFIG_APM=y + +# +# Networking +# +CONFIG_NET=y + +# +# Networking options +# +# CONFIG_NETDEBUG is not set +CONFIG_PACKET=m +CONFIG_PACKET_MMAP=y +CONFIG_UNIX=y +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +CONFIG_NET_KEY=m +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_ASK_IP_FIB_HASH=y +# CONFIG_IP_FIB_TRIE is not set +CONFIG_IP_FIB_HASH=y +CONFIG_IP_MULTIPLE_TABLES=y +# CONFIG_IP_ROUTE_MULTIPATH is not set +# CONFIG_IP_ROUTE_VERBOSE is not set +# CONFIG_IP_PNP is not set +CONFIG_NET_IPIP=m +CONFIG_NET_IPGRE=m +# CONFIG_NET_IPGRE_BROADCAST is not set +# CONFIG_IP_MROUTE is not set +# CONFIG_ARPD is not set +CONFIG_SYN_COOKIES=y +CONFIG_INET_AH=m +CONFIG_INET_ESP=m +CONFIG_INET_IPCOMP=m +CONFIG_INET_XFRM_TUNNEL=m +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=m +CONFIG_INET_XFRM_MODE_TUNNEL=m +CONFIG_INET_XFRM_MODE_BEET=m +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +CONFIG_TCP_MD5SIG=y + +# +# IP: Virtual Server Configuration +# +# CONFIG_IP_VS is not set +CONFIG_IPV6=m +# CONFIG_IPV6_PRIVACY is not set +# CONFIG_IPV6_ROUTER_PREF is not set +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_IPCOMP=m +# CONFIG_IPV6_MIP6 is not set +CONFIG_INET6_XFRM_TUNNEL=m +CONFIG_INET6_TUNNEL=m +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +CONFIG_IPV6_SIT=m +CONFIG_IPV6_TUNNEL=m +# CONFIG_IPV6_MULTIPLE_TABLES is not set +# CONFIG_NETWORK_SECMARK is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_NETLINK=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_NETLINK_LOG=m +CONFIG_NF_CONNTRACK_ENABLED=m +CONFIG_NF_CONNTRACK_SUPPORT=y +# CONFIG_IP_NF_CONNTRACK_SUPPORT is not set +CONFIG_NF_CONNTRACK=m +CONFIG_NF_CT_ACCT=y +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CT_PROTO_GRE=m +CONFIG_NF_CT_PROTO_SCTP=m +# CONFIG_NF_CONNTRACK_AMANDA is not set +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_NETBIOS_NS=m +CONFIG_NF_CONNTRACK_PPTP=m +CONFIG_NF_CONNTRACK_SIP=m +CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_CT_NETLINK=m +CONFIG_NETFILTER_XTABLES=m +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +CONFIG_NETFILTER_XT_TARGET_CONNMARK=m +CONFIG_NETFILTER_XT_TARGET_DSCP=m +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +CONFIG_NETFILTER_XT_TARGET_NFLOG=m +# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +CONFIG_NETFILTER_XT_MATCH_DCCP=m +CONFIG_NETFILTER_XT_MATCH_DSCP=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_LENGTH=m +CONFIG_NETFILTER_XT_MATCH_LIMIT=m +CONFIG_NETFILTER_XT_MATCH_MAC=m +CONFIG_NETFILTER_XT_MATCH_MARK=m +CONFIG_NETFILTER_XT_MATCH_POLICY=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_QUOTA=m +CONFIG_NETFILTER_XT_MATCH_REALM=m +CONFIG_NETFILTER_XT_MATCH_SCTP=m +CONFIG_NETFILTER_XT_MATCH_STATE=m +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m +CONFIG_NETFILTER_XT_MATCH_STRING=m +CONFIG_NETFILTER_XT_MATCH_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m + +# +# IP: Netfilter Configuration +# +CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NF_CONNTRACK_PROC_COMPAT=y +# CONFIG_IP_NF_QUEUE is not set +CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_MATCH_IPRANGE=m +CONFIG_IP_NF_MATCH_TOS=m +# CONFIG_IP_NF_MATCH_RECENT is not set +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_TTL=m +CONFIG_IP_NF_MATCH_OWNER=m +CONFIG_IP_NF_MATCH_ADDRTYPE=m +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_LOG=m +CONFIG_IP_NF_TARGET_ULOG=m +CONFIG_IP_NF_TARGET_TCPMSS=m +CONFIG_NF_NAT=m +CONFIG_NF_NAT_NEEDED=y +CONFIG_IP_NF_TARGET_MASQUERADE=m +CONFIG_IP_NF_TARGET_REDIRECT=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_SAME=m +CONFIG_NF_NAT_SNMP_BASIC=m +CONFIG_NF_NAT_PROTO_GRE=m +CONFIG_NF_NAT_FTP=m +CONFIG_NF_NAT_IRC=m +CONFIG_NF_NAT_TFTP=m +# CONFIG_NF_NAT_AMANDA is not set +CONFIG_NF_NAT_PPTP=m +CONFIG_NF_NAT_H323=m +CONFIG_NF_NAT_SIP=m +CONFIG_IP_NF_MANGLE=m +CONFIG_IP_NF_TARGET_TOS=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_NF_TARGET_CLUSTERIP=m +# CONFIG_IP_NF_RAW is not set +# CONFIG_IP_NF_ARPTABLES is not set + +# +# IPv6: Netfilter Configuration (EXPERIMENTAL) +# +CONFIG_NF_CONNTRACK_IPV6=m +# CONFIG_IP6_NF_QUEUE is not set +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_OWNER=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_TARGET_LOG=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_TARGET_HL=m +# CONFIG_IP6_NF_RAW is not set + +# +# DCCP Configuration (EXPERIMENTAL) +# +# CONFIG_IP_DCCP is not set + +# +# SCTP Configuration (EXPERIMENTAL) +# +# CONFIG_IP_SCTP is not set + +# +# TIPC Configuration (EXPERIMENTAL) +# +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_BRIDGE is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set + +# +# QoS and/or fair queueing +# +CONFIG_NET_SCHED=y +CONFIG_NET_SCH_FIFO=y +# CONFIG_NET_SCH_CLK_JIFFIES is not set +CONFIG_NET_SCH_CLK_GETTIMEOFDAY=y +# CONFIG_NET_SCH_CLK_CPU is not set + +# +# Queueing/Scheduling +# +CONFIG_NET_SCH_CBQ=m +CONFIG_NET_SCH_HTB=m +CONFIG_NET_SCH_HFSC=m +CONFIG_NET_SCH_PRIO=m +CONFIG_NET_SCH_RED=m +CONFIG_NET_SCH_SFQ=m +CONFIG_NET_SCH_TEQL=m +CONFIG_NET_SCH_TBF=m +CONFIG_NET_SCH_GRED=m +CONFIG_NET_SCH_DSMARK=m +CONFIG_NET_SCH_NETEM=m +CONFIG_NET_SCH_INGRESS=m + +# +# Classification +# +CONFIG_NET_CLS=y +CONFIG_NET_CLS_BASIC=m +CONFIG_NET_CLS_TCINDEX=m +CONFIG_NET_CLS_ROUTE4=m +CONFIG_NET_CLS_ROUTE=y +CONFIG_NET_CLS_FW=m +CONFIG_NET_CLS_U32=m +CONFIG_CLS_U32_PERF=y +CONFIG_CLS_U32_MARK=y +CONFIG_NET_CLS_RSVP=m +CONFIG_NET_CLS_RSVP6=m +# CONFIG_NET_EMATCH is not set +# CONFIG_NET_CLS_ACT is not set +# CONFIG_NET_CLS_POLICE is not set +# CONFIG_NET_CLS_IND is not set +CONFIG_NET_ESTIMATOR=y + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_IRDA is not set +CONFIG_BT=m +CONFIG_BT_L2CAP=m +CONFIG_BT_SCO=m +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=m +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=m + +# +# Bluetooth device drivers +# +CONFIG_BT_HCIUSB=m +CONFIG_BT_HCIUSB_SCO=y +# CONFIG_BT_HCIUART is not set +# CONFIG_BT_HCIBCM203X is not set +# CONFIG_BT_HCIBPA10X is not set +# CONFIG_BT_HCIBFUSB is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_IEEE80211 is not set +CONFIG_FIB_RULES=y + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=m +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_SYS_HYPERVISOR is not set + +# +# Connector - unified userspace <-> kernelspace linker +# +CONFIG_CONNECTOR=m + +# +# Memory Technology Devices (MTD) +# +CONFIG_MTD=y +# CONFIG_MTD_DEBUG is not set +# CONFIG_MTD_CONCAT is not set +CONFIG_MTD_PARTITIONS=y +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_CHAR=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set +# CONFIG_MTD_OBSOLETE_CHIPS is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_M25P80 is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set + +# +# NAND Flash Device Drivers +# +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_VERIFY_WRITE=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_S3C2410=y +CONFIG_MTD_NAND_S3C2410_BBT=y +CONFIG_MTD_NAND_S3C2410_DEBUG=y +# CONFIG_MTD_NAND_S3C2410_HWECC is not set +CONFIG_MTD_NAND_S3C2410_CLKSTOP=y +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_NANDSIM is not set + +# +# OneNAND Flash Device Drivers +# +# CONFIG_MTD_ONENAND is not set + +# +# Parallel port support +# +# CONFIG_PARPORT is not set + +# +# Plug and Play support +# + +# +# Block devices +# +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_UB=m +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 +CONFIG_BLK_DEV_INITRD=y +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set + +# +# ATA/ATAPI/MFM/RLL support +# +# CONFIG_IDE is not set + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=m +# CONFIG_SCSI_TGT is not set +# CONFIG_SCSI_NETLINK is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=m +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +CONFIG_BLK_DEV_SR=m +# CONFIG_BLK_DEV_SR_VENDOR is not set +CONFIG_CHR_DEV_SG=m +# CONFIG_CHR_DEV_SCH is not set + +# +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs +# +# CONFIG_SCSI_MULTI_LUN is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +CONFIG_SCSI_SCAN_ASYNC=y + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set + +# +# SCSI low-level drivers +# +# CONFIG_ISCSI_TCP is not set +# CONFIG_SCSI_DEBUG is not set + +# +# Serial ATA (prod) and Parallel ATA (experimental) drivers +# +# CONFIG_ATA is not set + +# +# Multi-device support (RAID and LVM) +# +CONFIG_MD=y +# CONFIG_BLK_DEV_MD is not set +CONFIG_BLK_DEV_DM=m +# CONFIG_DM_DEBUG is not set +CONFIG_DM_CRYPT=m +CONFIG_DM_SNAPSHOT=m +# CONFIG_DM_MIRROR is not set +# CONFIG_DM_ZERO is not set +# CONFIG_DM_MULTIPATH is not set + +# +# Fusion MPT device support +# +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# + +# +# I2O device support +# + +# +# Network device support +# +CONFIG_NETDEVICES=y +# CONFIG_DUMMY is not set +# CONFIG_BONDING is not set +# CONFIG_EQUALIZER is not set +# CONFIG_TUN is not set + +# +# PHY device support +# +# CONFIG_PHYLIB is not set + +# +# Ethernet (10 or 100Mbit) +# +CONFIG_NET_ETHERNET=y +CONFIG_MII=m +# CONFIG_SMC91X is not set +# CONFIG_DM9000 is not set +CONFIG_NET_PCI=y +CONFIG_CS89x0=m + +# +# Ethernet (1000 Mbit) +# + +# +# Ethernet (10000 Mbit) +# + +# +# Token Ring devices +# + +# +# Wireless LAN (non-hamradio) +# +# CONFIG_NET_RADIO is not set + +# +# Wan interfaces +# +# CONFIG_WAN is not set +CONFIG_PPP=m +CONFIG_PPP_MULTILINK=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_ASYNC=m +CONFIG_PPP_SYNC_TTY=m +CONFIG_PPP_DEFLATE=m +CONFIG_PPP_BSDCOMP=m +CONFIG_PPP_MPPE=m +# CONFIG_PPPOE is not set +# CONFIG_SLIP is not set +CONFIG_SLHC=m +# CONFIG_SHAPER is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set + +# +# ISDN subsystem +# +# CONFIG_ISDN is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_FF_MEMLESS is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +# CONFIG_INPUT_MOUSEDEV_PSAUX is not set +CONFIG_INPUT_MOUSEDEV_SCREEN_X=480 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640 +# CONFIG_INPUT_JOYDEV is not set +# CONFIG_INPUT_TSDEV is not set +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_EVBUG=m + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +# CONFIG_KEYBOARD_ATKBD is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_NEWTON is not set +CONFIG_KEYBOARD_STOWAWAY=m +CONFIG_KEYBOARD_GTA01=m +CONFIG_INPUT_MOUSE=y +# CONFIG_MOUSE_PS2 is not set +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_INPUT_JOYSTICK is not set +CONFIG_INPUT_TOUCHSCREEN=y +# CONFIG_TOUCHSCREEN_ADS7846 is not set +CONFIG_TOUCHSCREEN_S3C2410=y +# CONFIG_TOUCHSCREEN_S3C2410_DEBUG is not set +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +# CONFIG_TOUCHSCREEN_PENMOUNT is not set +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set +# CONFIG_TOUCHSCREEN_UCB1400 is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +# CONFIG_SERIO_SERPORT is not set +# CONFIG_SERIO_RAW is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +CONFIG_VT_HW_CONSOLE_BINDING=y +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_S3C2410=y +CONFIG_SERIAL_S3C2410_CONSOLE=y +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_UNIX98_PTYS=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=256 + +# +# IPMI +# +# CONFIG_IPMI_HANDLER is not set + +# +# Watchdog Cards +# +CONFIG_WATCHDOG=y +# CONFIG_WATCHDOG_NOWAYOUT is not set + +# +# Watchdog Device Drivers +# +# CONFIG_SOFT_WATCHDOG is not set +CONFIG_S3C2410_WATCHDOG=m + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_NVRAM is not set +# CONFIG_DTLK is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set + +# +# TPM devices +# +# CONFIG_TCG_TPM is not set +# CONFIG_TS0710_MUX is not set + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=y + +# +# I2C Algorithms +# +# CONFIG_I2C_ALGOBIT is not set +# CONFIG_I2C_ALGOPCF is not set +# CONFIG_I2C_ALGOPCA is not set + +# +# I2C Hardware Bus support +# +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PARPORT_LIGHT is not set +CONFIG_I2C_S3C2410=y +# CONFIG_I2C_STUB is not set +# CONFIG_I2C_PCA_ISA is not set + +# +# Miscellaneous I2C Chip support +# +# CONFIG_SENSORS_DS1337 is not set +# CONFIG_SENSORS_DS1374 is not set +# CONFIG_SENSORS_EEPROM is not set +CONFIG_SENSORS_PCF50606=y +# CONFIG_SENSORS_PCF8574 is not set +# CONFIG_SENSORS_PCA9539 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_SENSORS_MAX6875 is not set +# 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 + +# +# SPI support +# +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +CONFIG_SPI_BITBANG=y +CONFIG_SPI_S3C24XX_GPIO=y +CONFIG_SPI_S3C24XX=y + +# +# SPI Protocol Masters +# +CONFIG_SPI_SLAVE_JBT6K74=y + +# +# Dallas's 1-wire bus +# +# CONFIG_W1 is not set + +# +# Hardware Monitoring support +# +CONFIG_HWMON=y +# CONFIG_HWMON_VID is not set +# CONFIG_SENSORS_ABITUGURU is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ASB100 is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_FSCHER is not set +# CONFIG_SENSORS_FSCPOS is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM70 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_LM92 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47M192 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83791D is not set +# CONFIG_SENSORS_W83792D is not set +# CONFIG_SENSORS_W83793 is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83627EHF is not set +# CONFIG_HWMON_DEBUG_CHIP is not set + +# +# Misc devices +# +# CONFIG_TIFM_CORE is not set + +# +# LED devices +# +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=m + +# +# LED drivers +# +CONFIG_LEDS_S3C24XX=m + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_TIMER=m +# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set + +# +# Multimedia devices +# +# CONFIG_VIDEO_DEV is not set + +# +# Digital Video Broadcasting Devices +# +# CONFIG_DVB is not set +# CONFIG_USB_DABUSB is not set + +# +# Graphics support +# +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set +# CONFIG_FB_S1D13XXX is not set +CONFIG_FB_S3C2410=y +# CONFIG_FB_S3C2410_DEBUG is not set +# CONFIG_FB_VIRTUAL is not set + +# +# Console display driver support +# +# CONFIG_VGA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +CONFIG_FONTS=y +# CONFIG_FONT_8x8 is not set +# CONFIG_FONT_8x16 is not set +CONFIG_FONT_6x11=y +# CONFIG_FONT_7x14 is not set +# CONFIG_FONT_PEARL_8x8 is not set +# CONFIG_FONT_ACORN_8x8 is not set +# CONFIG_FONT_MINI_4x6 is not set +# CONFIG_FONT_SUN8x16 is not set +# CONFIG_FONT_SUN12x22 is not set +# CONFIG_FONT_10x18 is not set + +# +# Logo configuration +# +CONFIG_LOGO=y +# CONFIG_LOGO_LINUX_MONO is not set +# CONFIG_LOGO_LINUX_VGA16 is not set +CONFIG_LOGO_LINUX_CLUT224=y +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_DEVICE=y +CONFIG_LCD_CLASS_DEVICE=y +CONFIG_LCD_DEVICE=y +CONFIG_BACKLIGHT_GTA01=y + +# +# Sound +# +CONFIG_SOUND=y + +# +# Advanced Linux Sound Architecture +# +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_HWDEP=m +CONFIG_SND_RAWMIDI=m +# CONFIG_SND_SEQUENCER is not set +CONFIG_SND_OSSEMUL=y +CONFIG_SND_MIXER_OSS=y +CONFIG_SND_PCM_OSS=y +CONFIG_SND_PCM_OSS_PLUGINS=y +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set + +# +# Generic devices +# +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set + +# +# ALSA ARM devices +# + +# +# USB devices +# +CONFIG_SND_USB_AUDIO=m + +# +# SoC audio support +# +CONFIG_SND_SOC=y + +# +# Soc Platforms +# + +# +# SoC Audio for the Intel PXA2xx +# + +# +# SoC Audio for the Atmel AT91 +# + +# +# SoC Audio for the Freescale i.MX +# + +# +# SoC Audio for the Samsung S3C24XX +# +CONFIG_SND_S3C24XX_SOC=y +CONFIG_SND_S3C24XX_SOC_I2S=y +CONFIG_SND_S3C24XX_SOC_NEO1973_WM8753=y + +# +# Soc Codecs +# +# CONFIG_SND_SOC_AC97_CODEC is not set +# CONFIG_SND_SOC_WM8711 is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8731 is not set +# CONFIG_SND_SOC_WM8750 is not set +CONFIG_SND_SOC_WM8753=y +# CONFIG_SND_SOC_WM8772 is not set +# CONFIG_SND_SOC_WM8971 is not set +# CONFIG_SND_SOC_WM8956 is not set +# CONFIG_SND_SOC_WM8960 is not set +CONFIG_SND_SOC_WM8976=y +# CONFIG_SND_SOC_WM8974 is not set +# CONFIG_SND_SOC_WM8980 is not set +# CONFIG_SND_SOC_WM9713 is not set +# CONFIG_SND_SOC_WM9712 is not set +# CONFIG_SND_SOC_UDA1380 is not set +# CONFIG_SND_SOC_AK4535 is not set + +# +# Open Sound System +# +# CONFIG_SOUND_PRIME is not set + +# +# HID Devices +# +CONFIG_HID=y + +# +# USB support +# +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +# CONFIG_USB_ARCH_HAS_EHCI is not set +CONFIG_USB=y +# CONFIG_USB_DEBUG is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEVICEFS=y +# CONFIG_USB_BANDWIDTH is not set +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_SUSPEND is not set +# CONFIG_USB_OTG is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_ISP116X_HCD is not set +CONFIG_USB_OHCI_HCD=m +# CONFIG_USB_OHCI_BIG_ENDIAN is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +# CONFIG_USB_SL811_HCD is not set + +# +# USB Device Class drivers +# +CONFIG_USB_ACM=m +CONFIG_USB_PRINTER=m + +# +# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' +# + +# +# may also be needed; see USB_STORAGE Help for more information +# +CONFIG_USB_STORAGE=m +# CONFIG_USB_STORAGE_DEBUG is not set +CONFIG_USB_STORAGE_DATAFAB=y +CONFIG_USB_STORAGE_FREECOM=y +CONFIG_USB_STORAGE_DPCM=y +CONFIG_USB_STORAGE_USBAT=y +CONFIG_USB_STORAGE_SDDR09=y +CONFIG_USB_STORAGE_SDDR55=y +CONFIG_USB_STORAGE_JUMPSHOT=y +CONFIG_USB_STORAGE_ALAUDA=y +CONFIG_USB_STORAGE_KARMA=y +CONFIG_USB_LIBUSUAL=y + +# +# USB Input Devices +# +CONFIG_USB_HID=m +# CONFIG_USB_HIDINPUT_POWERBOOK is not set +# CONFIG_HID_FF is not set +# CONFIG_USB_HIDDEV is not set + +# +# USB HID Boot Protocol drivers +# +# CONFIG_USB_KBD is not set +# CONFIG_USB_MOUSE is not set +# CONFIG_USB_AIPTEK is not set +# CONFIG_USB_WACOM is not set +# CONFIG_USB_ACECAD is not set +# CONFIG_USB_KBTAB is not set +# CONFIG_USB_POWERMATE is not set +# CONFIG_USB_TOUCHSCREEN is not set +# CONFIG_USB_YEALINK is not set +# CONFIG_USB_XPAD is not set +# CONFIG_USB_ATI_REMOTE is not set +# CONFIG_USB_ATI_REMOTE2 is not set +# CONFIG_USB_KEYSPAN_REMOTE is not set +# CONFIG_USB_APPLETOUCH is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set + +# +# USB Network Adapters +# +CONFIG_USB_CATC=m +CONFIG_USB_KAWETH=m +CONFIG_USB_PEGASUS=m +CONFIG_USB_RTL8150=m +CONFIG_USB_USBNET_MII=m +CONFIG_USB_USBNET=m +CONFIG_USB_NET_AX8817X=m +CONFIG_USB_NET_CDCETHER=m +CONFIG_USB_NET_GL620A=m +CONFIG_USB_NET_NET1080=m +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_MCS7830=m +CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_NET_CDC_SUBSET=m +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AN2720=y +CONFIG_USB_BELKIN=y +CONFIG_USB_ARMLINUX=y +CONFIG_USB_EPSON2888=y +CONFIG_USB_NET_ZAURUS=m +CONFIG_USB_MON=y + +# +# USB port drivers +# + +# +# USB Serial Converter support +# +CONFIG_USB_SERIAL=m +CONFIG_USB_SERIAL_GENERIC=y +CONFIG_USB_SERIAL_AIRCABLE=m +CONFIG_USB_SERIAL_AIRPRIME=m +CONFIG_USB_SERIAL_ARK3116=m +CONFIG_USB_SERIAL_BELKIN=m +CONFIG_USB_SERIAL_WHITEHEAT=m +CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m +CONFIG_USB_SERIAL_CP2101=m +CONFIG_USB_SERIAL_CYPRESS_M8=m +CONFIG_USB_SERIAL_EMPEG=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_FUNSOFT=m +CONFIG_USB_SERIAL_VISOR=m +CONFIG_USB_SERIAL_IPAQ=m +CONFIG_USB_SERIAL_IR=m +CONFIG_USB_SERIAL_EDGEPORT=m +CONFIG_USB_SERIAL_EDGEPORT_TI=m +CONFIG_USB_SERIAL_GARMIN=m +CONFIG_USB_SERIAL_IPW=m +CONFIG_USB_SERIAL_KEYSPAN_PDA=m +CONFIG_USB_SERIAL_KEYSPAN=m +CONFIG_USB_SERIAL_KEYSPAN_MPR=y +CONFIG_USB_SERIAL_KEYSPAN_USA28=y +CONFIG_USB_SERIAL_KEYSPAN_USA28X=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y +CONFIG_USB_SERIAL_KEYSPAN_USA19=y +CONFIG_USB_SERIAL_KEYSPAN_USA18X=y +CONFIG_USB_SERIAL_KEYSPAN_USA19W=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y +CONFIG_USB_SERIAL_KEYSPAN_USA49W=y +CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y +CONFIG_USB_SERIAL_KLSI=m +CONFIG_USB_SERIAL_KOBIL_SCT=m +CONFIG_USB_SERIAL_MCT_U232=m +CONFIG_USB_SERIAL_MOS7720=m +CONFIG_USB_SERIAL_MOS7840=m +CONFIG_USB_SERIAL_NAVMAN=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_HP4X=m +CONFIG_USB_SERIAL_SAFE=m +CONFIG_USB_SERIAL_SAFE_PADDED=y +CONFIG_USB_SERIAL_SIERRAWIRELESS=m +CONFIG_USB_SERIAL_TI=m +CONFIG_USB_SERIAL_CYBERJACK=m +CONFIG_USB_SERIAL_XIRCOM=m +CONFIG_USB_SERIAL_OPTION=m +CONFIG_USB_SERIAL_OMNINET=m +# CONFIG_USB_SERIAL_DEBUG is not set +CONFIG_USB_EZUSB=y + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_AUERSWALD is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_PHIDGET is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_LD is not set +CONFIG_USB_TRANCEVIBRATOR=m +# CONFIG_USB_TEST is not set + +# +# USB DSL modem support +# + +# +# USB Gadget Support +# +CONFIG_USB_GADGET=y +# CONFIG_USB_GADGET_DEBUG_FILES is not set +CONFIG_USB_GADGET_SELECTED=y +# CONFIG_USB_GADGET_NET2280 is not set +# CONFIG_USB_GADGET_PXA2XX is not set +# CONFIG_USB_GADGET_GOKU is not set +# CONFIG_USB_GADGET_LH7A40X is not set +# CONFIG_USB_GADGET_OMAP is not set +CONFIG_USB_GADGET_S3C2410=y +CONFIG_USB_S3C2410=y +# CONFIG_USB_S3C2410_DEBUG is not set +# CONFIG_USB_GADGET_AT91 is not set +# CONFIG_USB_GADGET_DUMMY_HCD is not set +# CONFIG_USB_GADGET_DUALSPEED is not set +# CONFIG_USB_ZERO is not set +CONFIG_USB_ETH=y +CONFIG_USB_ETH_RNDIS=y +# CONFIG_USB_GADGETFS is not set +# CONFIG_USB_FILE_STORAGE is not set +# CONFIG_USB_G_SERIAL is not set +# CONFIG_USB_MIDI_GADGET is not set + +# +# MMC/SD Card support +# +CONFIG_MMC=m +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_BLOCK=m +# CONFIG_MMC_TIFM_SD is not set +CONFIG_MMC_S3C=m + +# +# Real Time Clock +# +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +# CONFIG_RTC_HCTOSYS is not set +CONFIG_RTC_DEBUG=y + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set + +# +# RTC drivers +# +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF8583 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +CONFIG_RTC_DRV_S3C=m +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_TEST is not set +# CONFIG_RTC_DRV_MAX6902 is not set +# CONFIG_RTC_DRV_V3020 is not set + +# +# File systems +# +CONFIG_EXT2_FS=m +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +CONFIG_EXT3_FS=y +# CONFIG_EXT3_FS_XATTR is not set +# CONFIG_EXT4DEV_FS is not set +CONFIG_JBD=y +# CONFIG_JBD_DEBUG is not set +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +CONFIG_FS_POSIX_ACL=y +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +# CONFIG_MINIX_FS is not set +CONFIG_ROMFS_FS=y +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +CONFIG_DNOTIFY=y +# CONFIG_AUTOFS_FS is not set +CONFIG_AUTOFS4_FS=m +CONFIG_FUSE_FS=m + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=m +CONFIG_JOLIET=y +# CONFIG_ZISOFS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=m +CONFIG_MSDOS_FS=m +CONFIG_VFAT_FS=m +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +# CONFIG_TMPFS_POSIX_ACL is not set +# CONFIG_HUGETLB_PAGE is not set +CONFIG_RAMFS=y +CONFIG_CONFIGFS_FS=m + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +CONFIG_JFFS2_SUMMARY=y +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +CONFIG_CRAMFS=y +# CONFIG_VXFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set + +# +# Network File Systems +# +CONFIG_NFS_FS=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +CONFIG_NFS_V4=y +# CONFIG_NFS_DIRECTIO is not set +CONFIG_NFSD=m +CONFIG_NFSD_V3=y +# CONFIG_NFSD_V3_ACL is not set +CONFIG_NFSD_V4=y +CONFIG_NFSD_TCP=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_EXPORTFS=m +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +CONFIG_SUNRPC_GSS=y +CONFIG_RPCSEC_GSS_KRB5=y +# CONFIG_RPCSEC_GSS_SPKM3 is not set +# CONFIG_SMB_FS is not set +CONFIG_CIFS=m +# CONFIG_CIFS_STATS is not set +CONFIG_CIFS_WEAK_PW_HASH=y +# CONFIG_CIFS_XATTR is not set +# CONFIG_CIFS_DEBUG2 is not set +# CONFIG_CIFS_EXPERIMENTAL is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +# CONFIG_9P_FS is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y + +# +# Native Language Support +# +CONFIG_NLS=m +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=m +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +CONFIG_NLS_CODEPAGE_850=m +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +CONFIG_NLS_CODEPAGE_936=m +CONFIG_NLS_CODEPAGE_950=m +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +# CONFIG_NLS_ASCII is not set +CONFIG_NLS_ISO8859_1=m +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +CONFIG_NLS_UTF8=m + +# +# Distributed Lock Manager +# +# CONFIG_DLM is not set + +# +# Profiling support +# +# CONFIG_PROFILING is not set + +# +# Kernel hacking +# +# CONFIG_PRINTK_TIME is not set +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_MAGIC_SYSRQ=y +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +CONFIG_DEBUG_KERNEL=y +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_DETECT_SOFTLOCKUP=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_DEBUG_SLAB is not set +CONFIG_DEBUG_PREEMPT=y +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_RT_MUTEX_TESTER is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_RWSEMS is not set +# CONFIG_DEBUG_SPINLOCK_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_INFO=y +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_LIST is not set +CONFIG_FRAME_POINTER=y +CONFIG_FORCED_INLINING=y +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_DEBUG_USER is not set +# CONFIG_DEBUG_ERRORS is not set +CONFIG_DEBUG_LL=y +# CONFIG_DEBUG_ICEDCC is not set +CONFIG_DEBUG_S3C2410_PORT=y +CONFIG_DEBUG_S3C2410_UART=0 + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set + +# +# Cryptographic options +# +CONFIG_CRYPTO=y +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_SHA1=m +CONFIG_CRYPTO_SHA256=m +CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_TGR192=m +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_ECB=m +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_LRW=m +CONFIG_CRYPTO_DES=y +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_TWOFISH_COMMON=m +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_AES=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_TEA=m +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_KHAZAD=m +CONFIG_CRYPTO_ANUBIS=m +CONFIG_CRYPTO_DEFLATE=m +CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_CRC32C=m +CONFIG_CRYPTO_TEST=m + +# +# Hardware crypto devices +# + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_CRC_CCITT=m +CONFIG_CRC16=m +CONFIG_CRC32=y +CONFIG_LIBCRC32C=m +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_KMP=m +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m +CONFIG_PLIST=y +CONFIG_IOMAP_COPY=y diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/defconfig b/packages/linux/linux-gta01/defconfig-fic-gta01 index 9f7bf76471..40adbcd1a1 100644 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/defconfig +++ b/packages/linux/linux-gta01/defconfig-fic-gta01 @@ -1,60 +1,61 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.15 -# Mon Nov 14 10:44:43 2005 +# Linux kernel version: 2.6.17.14 +# Tue Feb 13 20:26:21 2007 # CONFIG_ARM=y CONFIG_MMU=y -CONFIG_UID16=y CONFIG_RWSEM_GENERIC_SPINLOCK=y +CONFIG_GENERIC_HWEIGHT=y CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_VECTORS_BASE=0xffff0000 # # Code maturity level options # CONFIG_EXPERIMENTAL=y -CONFIG_CLEAN_COMPILE=y CONFIG_BROKEN_ON_SMP=y CONFIG_INIT_ENV_ARG_LIMIT=32 # # General setup # -CONFIG_LOCALVERSION="" -CONFIG_LOCALVERSION_AUTO=y +CONFIG_LOCALVERSION="-moko7" +# CONFIG_LOCALVERSION_AUTO is not set CONFIG_SWAP=y CONFIG_SYSVIPC=y # CONFIG_POSIX_MQUEUE is not set # CONFIG_BSD_PROCESS_ACCT is not set CONFIG_SYSCTL=y # CONFIG_AUDIT is not set -CONFIG_HOTPLUG=y -CONFIG_KOBJECT_UEVENT=y # CONFIG_IKCONFIG is not set +# CONFIG_RELAY is not set CONFIG_INITRAMFS_SOURCE="" +CONFIG_UID16=y CONFIG_CC_OPTIMIZE_FOR_SIZE=y -CONFIG_EMBEDDED=y -# CONFIG_KALLSYMS is not set +# CONFIG_EMBEDDED is not set +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y CONFIG_PRINTK=y CONFIG_BUG=y -# CONFIG_BASE_FULL is not set +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y CONFIG_FUTEX=y CONFIG_EPOLL=y CONFIG_SHMEM=y -CONFIG_CC_ALIGN_FUNCTIONS=0 -CONFIG_CC_ALIGN_LABELS=0 -CONFIG_CC_ALIGN_LOOPS=0 -CONFIG_CC_ALIGN_JUMPS=0 +CONFIG_SLAB=y # CONFIG_TINY_SHMEM is not set -CONFIG_BASE_SMALL=1 +CONFIG_BASE_SMALL=0 +# CONFIG_SLOB is not set # # Loadable module support # CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y -# CONFIG_MODULE_FORCE_UNLOAD is not set -CONFIG_OBSOLETE_MODPARM=y +CONFIG_MODULE_FORCE_UNLOAD=y # CONFIG_MODVERSIONS is not set # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_KMOD=y @@ -62,14 +63,15 @@ CONFIG_KMOD=y # # Block layer # +# CONFIG_BLK_DEV_IO_TRACE is not set # # IO Schedulers # CONFIG_IOSCHED_NOOP=y -# CONFIG_IOSCHED_AS is not set +CONFIG_IOSCHED_AS=m CONFIG_IOSCHED_DEADLINE=y -# CONFIG_IOSCHED_CFQ is not set +CONFIG_IOSCHED_CFQ=m # CONFIG_DEFAULT_AS is not set CONFIG_DEFAULT_DEADLINE=y # CONFIG_DEFAULT_CFQ is not set @@ -83,17 +85,18 @@ CONFIG_DEFAULT_IOSCHED="deadline" # CONFIG_ARCH_CLPS711X is not set # CONFIG_ARCH_CO285 is not set # CONFIG_ARCH_EBSA110 is not set -# CONFIG_ARCH_CAMELOT is not set +# CONFIG_ARCH_EP93XX is not set # CONFIG_ARCH_FOOTBRIDGE is not set # CONFIG_ARCH_INTEGRATOR is not set # CONFIG_ARCH_IOP3XX is not set -CONFIG_ARCH_IXP4XX=y +# CONFIG_ARCH_IXP4XX is not set # CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP23XX is not set # CONFIG_ARCH_L7200 is not set # CONFIG_ARCH_PXA is not set # CONFIG_ARCH_RPC is not set # CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_S3C2410 is not set +CONFIG_ARCH_S3C2410=y # CONFIG_ARCH_SHARK is not set # CONFIG_ARCH_LH7A40X is not set # CONFIG_ARCH_OMAP is not set @@ -102,53 +105,64 @@ CONFIG_ARCH_IXP4XX=y # CONFIG_ARCH_IMX is not set # CONFIG_ARCH_H720X is not set # CONFIG_ARCH_AAEC2000 is not set -CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y +# CONFIG_ARCH_AT91RM9200 is not set # -# Intel IXP4xx Implementation Options +# S3C24XX Implementations # +# CONFIG_MACH_ANUBIS is not set +# CONFIG_MACH_OSIRIS is not set +# CONFIG_ARCH_BAST is not set +# CONFIG_ARCH_H1940 is not set +# CONFIG_MACH_N30 is not set +# CONFIG_ARCH_SMDK2410 is not set +CONFIG_MACH_QT2410=y +CONFIG_MACH_GTA01=y +# CONFIG_ARCH_S3C2440 is not set +# CONFIG_MACH_VR1000 is not set +# CONFIG_MACH_RX3715 is not set +# CONFIG_MACH_OTOM is not set +# CONFIG_MACH_NEXCODER_2440 is not set +CONFIG_CPU_S3C2410=y # -# IXP4xx Platforms +# S3C2410 Boot # -CONFIG_MACH_NSLU2=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_PRPMC1100 is not set -# CONFIG_MACH_GTWX5715 is not set +CONFIG_S3C2410_BOOT_ERROR_RESET=y # -# IXP4xx Options +# S3C2410 Setup # -CONFIG_IXP4XX_INDIRECT_PCI=y +CONFIG_S3C2410_DMA=y +# CONFIG_S3C2410_DMA_DEBUG is not set +CONFIG_S3C2410_PM_DEBUG=y +CONFIG_S3C2410_PM_CHECK=y +CONFIG_S3C2410_PM_CHECK_CHUNKSIZE=64 +CONFIG_S3C2410_LOWLEVEL_UART_PORT=0 # # Processor Type # CONFIG_CPU_32=y -CONFIG_CPU_XSCALE=y -CONFIG_CPU_32v5=y -CONFIG_CPU_ABRT_EV5T=y +CONFIG_CPU_ARM920T=y +CONFIG_CPU_32v4=y +CONFIG_CPU_ABRT_EV4T=y +CONFIG_CPU_CACHE_V4WT=y CONFIG_CPU_CACHE_VIVT=y +CONFIG_CPU_COPY_V4WB=y CONFIG_CPU_TLB_V4WBI=y # # Processor Features # CONFIG_ARM_THUMB=y -CONFIG_CPU_BIG_ENDIAN=y -CONFIG_XSCALE_PMU=y -CONFIG_DMABOUNCE=y +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_WRITETHROUGH is not set # # Bus support # -CONFIG_ISA_DMA_API=y -CONFIG_PCI=y -# CONFIG_PCI_LEGACY_PROC is not set # # PCCARD (PCMCIA/CardBus) support @@ -160,6 +174,8 @@ CONFIG_PCI=y # # CONFIG_PREEMPT is not set # CONFIG_NO_IDLE_HZ is not set +CONFIG_HZ=200 +# CONFIG_AEABI is not set # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set CONFIG_SELECT_MEMORY_MODEL=y CONFIG_FLATMEM_MANUAL=y @@ -169,7 +185,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 # @@ -177,7 +192,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 rtc-x1205.hctosys=1 rtc-x1205.probe=0,0x6f noirqdebug console=ttyS0,115200n8" +CONFIG_CMDLINE="console=ttySAC0,115200n8 ip=192.168.1.2:192.168.1.10:192.168.1.10:255.255.255.0:ezx:usb0:off debug" # CONFIG_XIP_KERNEL is not set # @@ -187,9 +202,8 @@ CONFIG_CMDLINE="root=/dev/mtdblock4 rw rootfstype=jffs2 mem=32M@0x00000000 init= # # At least one emulation must be selected # -CONFIG_FPE_NWFPE=y -# CONFIG_FPE_NWFPE_XP is not set -# CONFIG_FPE_FASTFPE is not set +# CONFIG_FPE_NWFPE is not set +CONFIG_FPE_FASTFPE=y # # Userspace binary formats @@ -202,7 +216,10 @@ CONFIG_BINFMT_ELF=y # # Power management options # -# CONFIG_PM is not set +CONFIG_PM=y +CONFIG_PM_LEGACY=y +CONFIG_PM_DEBUG=y +CONFIG_APM=y # # Networking @@ -212,24 +229,31 @@ CONFIG_NET=y # # Networking options # +# CONFIG_NETDEBUG is not set CONFIG_PACKET=m CONFIG_PACKET_MMAP=y CONFIG_UNIX=y CONFIG_XFRM=y # CONFIG_XFRM_USER is not set -# CONFIG_NET_KEY is not set +CONFIG_NET_KEY=m CONFIG_INET=y -# CONFIG_IP_MULTICAST is not set +CONFIG_IP_MULTICAST=y # CONFIG_IP_ADVANCED_ROUTER is not set CONFIG_IP_FIB_HASH=y -# CONFIG_IP_PNP is not set -# CONFIG_NET_IPIP is not set -# CONFIG_NET_IPGRE is not set +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +# CONFIG_IP_PNP_BOOTP is not set +# CONFIG_IP_PNP_RARP is not set +CONFIG_NET_IPIP=m +CONFIG_NET_IPGRE=m +# CONFIG_NET_IPGRE_BROADCAST is not set +# CONFIG_IP_MROUTE is not set # CONFIG_ARPD is not set -# CONFIG_SYN_COOKIES is not set +CONFIG_SYN_COOKIES=y CONFIG_INET_AH=m CONFIG_INET_ESP=m CONFIG_INET_IPCOMP=m +CONFIG_INET_XFRM_TUNNEL=m CONFIG_INET_TUNNEL=m CONFIG_INET_DIAG=y CONFIG_INET_TCP_DIAG=y @@ -242,86 +266,94 @@ CONFIG_TCP_CONG_BIC=y # CONFIG_IP_VS is not set CONFIG_IPV6=m # CONFIG_IPV6_PRIVACY is not set +# CONFIG_IPV6_ROUTER_PREF is not set CONFIG_INET6_AH=m CONFIG_INET6_ESP=m CONFIG_INET6_IPCOMP=m +CONFIG_INET6_XFRM_TUNNEL=m CONFIG_INET6_TUNNEL=m CONFIG_IPV6_TUNNEL=m CONFIG_NETFILTER=y # CONFIG_NETFILTER_DEBUG is not set -CONFIG_BRIDGE_NETFILTER=y # # Core Netfilter Configuration # -# CONFIG_NETFILTER_NETLINK is not set +CONFIG_NETFILTER_NETLINK=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_NETLINK_LOG=m +CONFIG_NETFILTER_XTABLES=m +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set +# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +CONFIG_NETFILTER_XT_MATCH_DCCP=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_LENGTH=m +CONFIG_NETFILTER_XT_MATCH_LIMIT=m +CONFIG_NETFILTER_XT_MATCH_MAC=m +CONFIG_NETFILTER_XT_MATCH_MARK=m +CONFIG_NETFILTER_XT_MATCH_POLICY=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_REALM=m +CONFIG_NETFILTER_XT_MATCH_SCTP=m +CONFIG_NETFILTER_XT_MATCH_STATE=m +CONFIG_NETFILTER_XT_MATCH_STRING=m +CONFIG_NETFILTER_XT_MATCH_TCPMSS=m # # IP: Netfilter Configuration # CONFIG_IP_NF_CONNTRACK=m -# CONFIG_IP_NF_CT_ACCT is not set +CONFIG_IP_NF_CT_ACCT=y # CONFIG_IP_NF_CONNTRACK_MARK is not set -# CONFIG_IP_NF_CONNTRACK_EVENTS is not set +CONFIG_IP_NF_CONNTRACK_EVENTS=y +CONFIG_IP_NF_CONNTRACK_NETLINK=m CONFIG_IP_NF_CT_PROTO_SCTP=m CONFIG_IP_NF_FTP=m CONFIG_IP_NF_IRC=m # CONFIG_IP_NF_NETBIOS_NS is not set -CONFIG_IP_NF_TFTP=m -CONFIG_IP_NF_AMANDA=m -# CONFIG_IP_NF_PPTP is not set -CONFIG_IP_NF_QUEUE=m +# CONFIG_IP_NF_TFTP is not set +# CONFIG_IP_NF_AMANDA is not set +CONFIG_IP_NF_PPTP=m +CONFIG_IP_NF_H323=m +# CONFIG_IP_NF_QUEUE is not set CONFIG_IP_NF_IPTABLES=m -CONFIG_IP_NF_MATCH_LIMIT=m CONFIG_IP_NF_MATCH_IPRANGE=m -CONFIG_IP_NF_MATCH_MAC=m -CONFIG_IP_NF_MATCH_PKTTYPE=m -CONFIG_IP_NF_MATCH_MARK=m -CONFIG_IP_NF_MATCH_MULTIPORT=m CONFIG_IP_NF_MATCH_TOS=m -CONFIG_IP_NF_MATCH_RECENT=m +# CONFIG_IP_NF_MATCH_RECENT is not set CONFIG_IP_NF_MATCH_ECN=m CONFIG_IP_NF_MATCH_DSCP=m -CONFIG_IP_NF_MATCH_AH_ESP=m -CONFIG_IP_NF_MATCH_LENGTH=m +CONFIG_IP_NF_MATCH_AH=m CONFIG_IP_NF_MATCH_TTL=m -CONFIG_IP_NF_MATCH_TCPMSS=m -CONFIG_IP_NF_MATCH_HELPER=m -CONFIG_IP_NF_MATCH_STATE=m -CONFIG_IP_NF_MATCH_CONNTRACK=m CONFIG_IP_NF_MATCH_OWNER=m -CONFIG_IP_NF_MATCH_PHYSDEV=m CONFIG_IP_NF_MATCH_ADDRTYPE=m -CONFIG_IP_NF_MATCH_REALM=m -# CONFIG_IP_NF_MATCH_SCTP is not set -# CONFIG_IP_NF_MATCH_DCCP is not set -CONFIG_IP_NF_MATCH_COMMENT=m -CONFIG_IP_NF_MATCH_HASHLIMIT=m -# CONFIG_IP_NF_MATCH_STRING is not set +# CONFIG_IP_NF_MATCH_HASHLIMIT is not set CONFIG_IP_NF_FILTER=m -# CONFIG_IP_NF_TARGET_REJECT is not set +CONFIG_IP_NF_TARGET_REJECT=m CONFIG_IP_NF_TARGET_LOG=m CONFIG_IP_NF_TARGET_ULOG=m CONFIG_IP_NF_TARGET_TCPMSS=m -# CONFIG_IP_NF_TARGET_NFQUEUE is not set CONFIG_IP_NF_NAT=m CONFIG_IP_NF_NAT_NEEDED=y CONFIG_IP_NF_TARGET_MASQUERADE=m CONFIG_IP_NF_TARGET_REDIRECT=m CONFIG_IP_NF_TARGET_NETMAP=m -CONFIG_IP_NF_TARGET_SAME=m +# CONFIG_IP_NF_TARGET_SAME is not set CONFIG_IP_NF_NAT_SNMP_BASIC=m CONFIG_IP_NF_NAT_IRC=m CONFIG_IP_NF_NAT_FTP=m -CONFIG_IP_NF_NAT_TFTP=m -CONFIG_IP_NF_NAT_AMANDA=m +CONFIG_IP_NF_NAT_PPTP=m +CONFIG_IP_NF_NAT_H323=m CONFIG_IP_NF_MANGLE=m CONFIG_IP_NF_TARGET_TOS=m CONFIG_IP_NF_TARGET_ECN=m CONFIG_IP_NF_TARGET_DSCP=m -CONFIG_IP_NF_TARGET_MARK=m -CONFIG_IP_NF_TARGET_CLASSIFY=m -# CONFIG_IP_NF_TARGET_TTL is not set +CONFIG_IP_NF_TARGET_TTL=m # CONFIG_IP_NF_RAW is not set # CONFIG_IP_NF_ARPTABLES is not set @@ -329,12 +361,21 @@ CONFIG_IP_NF_TARGET_CLASSIFY=m # IPv6: Netfilter Configuration (EXPERIMENTAL) # # CONFIG_IP6_NF_QUEUE is not set -# CONFIG_IP6_NF_IPTABLES is not set - -# -# Bridge: Netfilter Configuration -# -# CONFIG_BRIDGE_NF_EBTABLES is not set +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_OWNER=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_TARGET_LOG=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_TARGET_HL=m +# CONFIG_IP6_NF_RAW is not set # # DCCP Configuration (EXPERIMENTAL) @@ -345,19 +386,18 @@ CONFIG_IP_NF_TARGET_CLASSIFY=m # SCTP Configuration (EXPERIMENTAL) # # CONFIG_IP_SCTP is not set + +# +# TIPC Configuration (EXPERIMENTAL) +# +# CONFIG_TIPC is not set # CONFIG_ATM is not set -CONFIG_BRIDGE=m -CONFIG_VLAN_8021Q=m +# CONFIG_BRIDGE is not set +# CONFIG_VLAN_8021Q is not set # CONFIG_DECNET is not set -CONFIG_LLC=m # CONFIG_LLC2 is not set -CONFIG_IPX=m -# CONFIG_IPX_INTERN is not set -CONFIG_ATALK=m -CONFIG_DEV_APPLETALK=y -CONFIG_IPDDP=m -CONFIG_IPDDP_ENCAP=y -CONFIG_IPDDP_DECAP=y +# CONFIG_IPX is not set +# CONFIG_ATALK is not set # CONFIG_X25 is not set # CONFIG_LAPB is not set # CONFIG_NET_DIVERT is not set @@ -367,13 +407,51 @@ CONFIG_IPDDP_DECAP=y # # QoS and/or fair queueing # -# CONFIG_NET_SCHED is not set +CONFIG_NET_SCHED=y +# CONFIG_NET_SCH_CLK_JIFFIES is not set +CONFIG_NET_SCH_CLK_GETTIMEOFDAY=y +# CONFIG_NET_SCH_CLK_CPU is not set + +# +# Queueing/Scheduling +# +CONFIG_NET_SCH_CBQ=m +CONFIG_NET_SCH_HTB=m +CONFIG_NET_SCH_HFSC=m +CONFIG_NET_SCH_PRIO=m +CONFIG_NET_SCH_RED=m +CONFIG_NET_SCH_SFQ=m +CONFIG_NET_SCH_TEQL=m +CONFIG_NET_SCH_TBF=m +CONFIG_NET_SCH_GRED=m +CONFIG_NET_SCH_DSMARK=m +CONFIG_NET_SCH_NETEM=m +CONFIG_NET_SCH_INGRESS=m + +# +# Classification +# +CONFIG_NET_CLS=y +CONFIG_NET_CLS_BASIC=m +CONFIG_NET_CLS_TCINDEX=m +CONFIG_NET_CLS_ROUTE4=m CONFIG_NET_CLS_ROUTE=y +CONFIG_NET_CLS_FW=m +CONFIG_NET_CLS_U32=m +CONFIG_CLS_U32_PERF=y +# CONFIG_CLS_U32_MARK is not set +CONFIG_NET_CLS_RSVP=m +CONFIG_NET_CLS_RSVP6=m +# CONFIG_NET_EMATCH is not set +# CONFIG_NET_CLS_ACT is not set +# CONFIG_NET_CLS_POLICE is not set +# CONFIG_NET_CLS_IND is not set +CONFIG_NET_ESTIMATOR=y # # Network testing # -CONFIG_NET_PKTGEN=m +# CONFIG_NET_PKTGEN is not set # CONFIG_HAMRADIO is not set # CONFIG_IRDA is not set CONFIG_BT=m @@ -384,7 +462,7 @@ CONFIG_BT_RFCOMM_TTY=y CONFIG_BT_BNEP=m CONFIG_BT_BNEP_MC_FILTER=y CONFIG_BT_BNEP_PROTO_FILTER=y -# CONFIG_BT_HIDP is not set +CONFIG_BT_HIDP=m # # Bluetooth device drivers @@ -392,7 +470,7 @@ CONFIG_BT_BNEP_PROTO_FILTER=y CONFIG_BT_HCIUSB=m CONFIG_BT_HCIUSB_SCO=y # CONFIG_BT_HCIUART is not set -CONFIG_BT_HCIBCM203X=m +# CONFIG_BT_HCIBCM203X is not set # CONFIG_BT_HCIBPA10X is not set # CONFIG_BT_HCIBFUSB is not set # CONFIG_BT_HCIVHCI is not set @@ -408,24 +486,22 @@ CONFIG_BT_HCIBCM203X=m CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_FW_LOADER=m +# CONFIG_DEBUG_DRIVER is not set # # Connector - unified userspace <-> kernelspace linker # -# CONFIG_CONNECTOR is not set +CONFIG_CONNECTOR=m # # Memory Technology Devices (MTD) # CONFIG_MTD=y # CONFIG_MTD_DEBUG is not set -CONFIG_MTD_CONCAT=y +# CONFIG_MTD_CONCAT is not set CONFIG_MTD_PARTITIONS=y -CONFIG_MTD_REDBOOT_PARTS=y -CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 -# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set -# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set -# CONFIG_MTD_CMDLINE_PARTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y # CONFIG_MTD_AFS_PARTS is not set # @@ -434,24 +510,19 @@ CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y # CONFIG_FTL is not set -# CONFIG_NFTL is not set -# CONFIG_INFTL is not set +CONFIG_NFTL=y +CONFIG_NFTL_RW=y +CONFIG_INFTL=m # CONFIG_RFD_FTL is not set # # RAM/ROM/Flash chip drivers # -CONFIG_MTD_CFI=y +# CONFIG_MTD_CFI is not set # CONFIG_MTD_JEDECPROBE is not set -CONFIG_MTD_GEN_PROBE=y -CONFIG_MTD_CFI_ADV_OPTIONS=y -# CONFIG_MTD_CFI_NOSWAP is not set -CONFIG_MTD_CFI_BE_BYTE_SWAP=y -# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set -CONFIG_MTD_CFI_GEOMETRY=y -# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y CONFIG_MTD_MAP_BANK_WIDTH_2=y -# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set +CONFIG_MTD_MAP_BANK_WIDTH_4=y # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set @@ -459,34 +530,25 @@ CONFIG_MTD_CFI_I1=y CONFIG_MTD_CFI_I2=y # CONFIG_MTD_CFI_I4 is not set # CONFIG_MTD_CFI_I8 is not set -# CONFIG_MTD_OTP is not set -CONFIG_MTD_CFI_INTELEXT=y -# CONFIG_MTD_CFI_AMDSTD is not set -# CONFIG_MTD_CFI_STAA is not set -CONFIG_MTD_CFI_UTIL=y # CONFIG_MTD_RAM is not set # CONFIG_MTD_ROM is not set # CONFIG_MTD_ABSENT is not set -# CONFIG_MTD_XIP is not set +# CONFIG_MTD_OBSOLETE_CHIPS is not set # # Mapping drivers for chip access # -CONFIG_MTD_COMPLEX_MAPPINGS=y -# CONFIG_MTD_PHYSMAP is not set -# CONFIG_MTD_ARM_INTEGRATOR is not set -CONFIG_MTD_IXP4XX=y -# CONFIG_MTD_PCI is not set +# CONFIG_MTD_COMPLEX_MAPPINGS is not set # CONFIG_MTD_PLATRAM is not set # # Self-contained MTD device drivers # -# CONFIG_MTD_PMC551 is not set +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_M25P80 is not set # CONFIG_MTD_SLRAM is not set # CONFIG_MTD_PHRAM is not set # CONFIG_MTD_MTDRAM is not set -# CONFIG_MTD_BLKMTD is not set # CONFIG_MTD_BLOCK2MTD is not set # @@ -499,7 +561,15 @@ CONFIG_MTD_IXP4XX=y # # NAND Flash Device Drivers # -# CONFIG_MTD_NAND is not set +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_VERIFY_WRITE=y +CONFIG_MTD_NAND_IDS=y +CONFIG_MTD_NAND_S3C2410=y +CONFIG_MTD_NAND_S3C2410_BBT=y +# CONFIG_MTD_NAND_S3C2410_DEBUG is not set +# CONFIG_MTD_NAND_S3C2410_HWECC is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_NANDSIM is not set # # OneNAND Flash Device Drivers @@ -518,29 +588,44 @@ CONFIG_MTD_IXP4XX=y # # Block devices # -# CONFIG_BLK_CPQ_DA is not set -# CONFIG_BLK_CPQ_CISS_DA is not set -# CONFIG_BLK_DEV_DAC960 is not set -# CONFIG_BLK_DEV_UMEM is not set # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=m # CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set -# CONFIG_BLK_DEV_SX8 is not set -# CONFIG_BLK_DEV_UB is not set +CONFIG_BLK_DEV_UB=y CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_COUNT=4 -CONFIG_BLK_DEV_RAM_SIZE=10240 +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 CONFIG_BLK_DEV_INITRD=y -CONFIG_CDROM_PKTCDVD=m -CONFIG_CDROM_PKTCDVD_BUFFERS=8 -# CONFIG_CDROM_PKTCDVD_WCACHE is not set +# CONFIG_CDROM_PKTCDVD is not set # CONFIG_ATA_OVER_ETH is not set # # ATA/ATAPI/MFM/RLL support # -# CONFIG_IDE is not set +CONFIG_IDE=y +CONFIG_BLK_DEV_IDE=y + +# +# Please see Documentation/ide.txt for help/info on IDE drives +# +# CONFIG_BLK_DEV_IDE_SATA is not set +CONFIG_BLK_DEV_IDEDISK=y +# CONFIG_IDEDISK_MULTI_MODE is not set +CONFIG_BLK_DEV_IDECD=y +# CONFIG_BLK_DEV_IDETAPE is not set +# CONFIG_BLK_DEV_IDEFLOPPY is not set +# CONFIG_BLK_DEV_IDESCSI is not set +# CONFIG_IDE_TASK_IOCTL is not set + +# +# IDE chipset support/bugfixes +# +CONFIG_IDE_GENERIC=y +# CONFIG_IDE_ARM is not set +# CONFIG_BLK_DEV_IDEDMA is not set +# CONFIG_IDEDMA_AUTO is not set +# CONFIG_BLK_DEV_HD is not set # # SCSI device support @@ -555,15 +640,14 @@ CONFIG_SCSI_PROC_FS=y CONFIG_BLK_DEV_SD=y # CONFIG_CHR_DEV_ST is not set # CONFIG_CHR_DEV_OSST is not set -CONFIG_BLK_DEV_SR=m -# CONFIG_BLK_DEV_SR_VENDOR is not set -CONFIG_CHR_DEV_SG=m +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set # CONFIG_CHR_DEV_SCH is not set # # Some SCSI devices (e.g. CD jukebox) support multiple LUNs # -CONFIG_SCSI_MULTI_LUN=y +# CONFIG_SCSI_MULTI_LUN is not set # CONFIG_SCSI_CONSTANTS is not set # CONFIG_SCSI_LOGGING is not set @@ -579,59 +663,17 @@ CONFIG_SCSI_MULTI_LUN=y # SCSI low-level drivers # # CONFIG_ISCSI_TCP is not set -# CONFIG_BLK_DEV_3W_XXXX_RAID is not set -# CONFIG_SCSI_3W_9XXX is not set -# CONFIG_SCSI_ACARD is not set -# CONFIG_SCSI_AACRAID is not set -# CONFIG_SCSI_AIC7XXX is not set -# CONFIG_SCSI_AIC7XXX_OLD is not set -# CONFIG_SCSI_AIC79XX is not set -# CONFIG_SCSI_DPT_I2O is not set -# CONFIG_MEGARAID_NEWGEN is not set -# CONFIG_MEGARAID_LEGACY is not set -# CONFIG_MEGARAID_SAS is not set # CONFIG_SCSI_SATA is not set -# CONFIG_SCSI_BUSLOGIC is not set -# CONFIG_SCSI_DMX3191D is not set -# CONFIG_SCSI_EATA is not set -# CONFIG_SCSI_FUTURE_DOMAIN is not set -# CONFIG_SCSI_GDTH is not set -# CONFIG_SCSI_IPS is not set -# CONFIG_SCSI_INITIO is not set -# CONFIG_SCSI_INIA100 is not set -# CONFIG_SCSI_SYM53C8XX_2 is not set -# CONFIG_SCSI_IPR is not set -# CONFIG_SCSI_QLOGIC_FC is not set -# CONFIG_SCSI_QLOGIC_1280 is not set -CONFIG_SCSI_QLA2XXX=y -# CONFIG_SCSI_QLA21XX is not set -# CONFIG_SCSI_QLA22XX is not set -# CONFIG_SCSI_QLA2300 is not set -# CONFIG_SCSI_QLA2322 is not set -# CONFIG_SCSI_QLA6312 is not set -# CONFIG_SCSI_QLA24XX is not set -# CONFIG_SCSI_LPFC is not set -# CONFIG_SCSI_DC395x is not set -# CONFIG_SCSI_DC390T is not set -# CONFIG_SCSI_NSP32 is not set # CONFIG_SCSI_DEBUG is not set # # Multi-device support (RAID and LVM) # CONFIG_MD=y -CONFIG_BLK_DEV_MD=m -CONFIG_MD_LINEAR=m -CONFIG_MD_RAID0=m -CONFIG_MD_RAID1=m -CONFIG_MD_RAID10=m -CONFIG_MD_RAID5=m -CONFIG_MD_RAID6=m -CONFIG_MD_MULTIPATH=m -CONFIG_MD_FAULTY=m +# CONFIG_BLK_DEV_MD is not set CONFIG_BLK_DEV_DM=m -# CONFIG_DM_CRYPT is not set -# CONFIG_DM_SNAPSHOT is not set +CONFIG_DM_CRYPT=m +CONFIG_DM_SNAPSHOT=m # CONFIG_DM_MIRROR is not set # CONFIG_DM_ZERO is not set # CONFIG_DM_MULTIPATH is not set @@ -640,19 +682,14 @@ CONFIG_BLK_DEV_DM=m # Fusion MPT device support # # CONFIG_FUSION is not set -# CONFIG_FUSION_SPI is not set -# CONFIG_FUSION_FC is not set -# CONFIG_FUSION_SAS is not set # # IEEE 1394 (FireWire) support # -# CONFIG_IEEE1394 is not set # # I2O device support # -# CONFIG_I2O is not set # # Network device support @@ -661,12 +698,7 @@ CONFIG_NETDEVICES=y # CONFIG_DUMMY is not set # CONFIG_BONDING is not set # CONFIG_EQUALIZER is not set -CONFIG_TUN=m - -# -# ARCnet devices -# -# CONFIG_ARCNET is not set +# CONFIG_TUN is not set # # PHY device support @@ -677,116 +709,47 @@ CONFIG_TUN=m # Ethernet (10 or 100Mbit) # CONFIG_NET_ETHERNET=y -CONFIG_MACLIST=y -CONFIG_MII=y -# CONFIG_HAPPYMEAL is not set -# CONFIG_SUNGEM is not set -# CONFIG_CASSINI is not set -# CONFIG_NET_VENDOR_3COM is not set +CONFIG_MII=m # CONFIG_SMC91X is not set # CONFIG_DM9000 is not set - -# -# Tulip family network device support -# -# CONFIG_NET_TULIP is not set -# CONFIG_HP100 is not set CONFIG_NET_PCI=y -# CONFIG_PCNET32 is not set -# CONFIG_AMD8111_ETH is not set -# CONFIG_ADAPTEC_STARFIRE is not set -# CONFIG_B44 is not set -# CONFIG_FORCEDETH is not set -# CONFIG_DGRS is not set -# CONFIG_EEPRO100 is not set -# CONFIG_E100 is not set -# CONFIG_FEALNX is not set -# CONFIG_NATSEMI is not set -# CONFIG_NE2K_PCI is not set -# CONFIG_8139CP is not set -# CONFIG_8139TOO is not set -# CONFIG_SIS900 is not set -# CONFIG_EPIC100 is not set -# CONFIG_SUNDANCE is not set -# CONFIG_TLAN is not set -# CONFIG_VIA_RHINE is not set +CONFIG_CS89x0=y # # Ethernet (1000 Mbit) # -# CONFIG_ACENIC is not set -# CONFIG_DL2K is not set -# CONFIG_E1000 is not set -# CONFIG_NS83820 is not set -# CONFIG_HAMACHI is not set -# CONFIG_YELLOWFIN is not set -# CONFIG_R8169 is not set -# CONFIG_SIS190 is not set -# CONFIG_SKGE is not set -# CONFIG_SK98LIN is not set -# CONFIG_VIA_VELOCITY is not set -# CONFIG_TIGON3 is not set -# CONFIG_BNX2 is not set # # Ethernet (10000 Mbit) # -# CONFIG_CHELSIO_T1 is not set -# CONFIG_IXGB is not set -# CONFIG_S2IO is not set # # Token Ring devices # -# CONFIG_TR is not set # # Wireless LAN (non-hamradio) # -CONFIG_NET_RADIO=y - -# -# Obsolete Wireless cards support (pre-802.11) -# -# CONFIG_STRIP is not set - -# -# Wireless 802.11b ISA/PCI cards support -# -# CONFIG_AIRO is not set -# CONFIG_HERMES is not set -# CONFIG_ATMEL is not set - -# -# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support -# -# CONFIG_PRISM54 is not set -# CONFIG_HOSTAP is not set -CONFIG_NET_WIRELESS=y +# CONFIG_NET_RADIO is not set # # Wan interfaces # # CONFIG_WAN is not set -# CONFIG_FDDI is not set -# CONFIG_HIPPI is not set CONFIG_PPP=m -# CONFIG_PPP_MULTILINK is not set -CONFIG_PPP_FILTER=y +CONFIG_PPP_MULTILINK=y +# CONFIG_PPP_FILTER is not set CONFIG_PPP_ASYNC=m -# CONFIG_PPP_SYNC_TTY is not set +CONFIG_PPP_SYNC_TTY=m CONFIG_PPP_DEFLATE=m CONFIG_PPP_BSDCOMP=m -# CONFIG_PPP_MPPE is not set +CONFIG_PPP_MPPE=m # CONFIG_PPPOE is not set # CONFIG_SLIP is not set -# CONFIG_NET_FC is not set # CONFIG_SHAPER is not set -CONFIG_NETCONSOLE=m -CONFIG_NETPOLL=y -# CONFIG_NETPOLL_RX is not set -# CONFIG_NETPOLL_TRAP is not set -CONFIG_NET_POLL_CONTROLLER=y +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set # # ISDN subsystem @@ -801,52 +764,71 @@ CONFIG_INPUT=y # # Userland interfaces # -# CONFIG_INPUT_MOUSEDEV is not set +CONFIG_INPUT_MOUSEDEV=y +# CONFIG_INPUT_MOUSEDEV_PSAUX is not set +CONFIG_INPUT_MOUSEDEV_SCREEN_X=480 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640 # CONFIG_INPUT_JOYDEV is not set # CONFIG_INPUT_TSDEV is not set -CONFIG_INPUT_EVDEV=m -# CONFIG_INPUT_EVBUG is not set +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_EVBUG=m # # Input Device Drivers # -# CONFIG_INPUT_KEYBOARD is not set -# CONFIG_INPUT_MOUSE is not set +CONFIG_INPUT_KEYBOARD=y +# CONFIG_KEYBOARD_ATKBD is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_NEWTON is not set +CONFIG_KEYBOARD_GTA01=m +CONFIG_INPUT_MOUSE=y +# CONFIG_MOUSE_PS2 is not set +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_VSXXXAA is not set # CONFIG_INPUT_JOYSTICK is not set -# CONFIG_INPUT_TOUCHSCREEN is not set -CONFIG_INPUT_MISC=y -CONFIG_INPUT_NSLU2_BEEPER=m -# CONFIG_INPUT_UINPUT is not set +CONFIG_INPUT_TOUCHSCREEN=y +# CONFIG_TOUCHSCREEN_ADS7846 is not set +CONFIG_TOUCHSCREEN_S3C2410=y +# CONFIG_TOUCHSCREEN_S3C2410_DEBUG is not set +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +# CONFIG_INPUT_MISC is not set # # Hardware I/O ports # -# CONFIG_SERIO is not set +CONFIG_SERIO=y +# CONFIG_SERIO_SERPORT is not set +# CONFIG_SERIO_RAW is not set # CONFIG_GAMEPORT is not set # # Character devices # -# CONFIG_VT is not set +CONFIG_VT=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y # CONFIG_SERIAL_NONSTANDARD is not set # # Serial drivers # -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_8250_NR_UARTS=2 -# CONFIG_SERIAL_8250_EXTENDED is not set +# CONFIG_SERIAL_8250 is not set # # Non-8250 serial port support # +CONFIG_SERIAL_S3C2410=y +CONFIG_SERIAL_S3C2410_CONSOLE=y CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y -# CONFIG_SERIAL_JSM is not set CONFIG_UNIX98_PTYS=y CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=16 +CONFIG_LEGACY_PTY_COUNT=256 # # IPMI @@ -856,35 +838,15 @@ CONFIG_LEGACY_PTY_COUNT=16 # # Watchdog Cards # -CONFIG_WATCHDOG=y -# CONFIG_WATCHDOG_NOWAYOUT is not set - -# -# Watchdog Device Drivers -# -# CONFIG_SOFT_WATCHDOG is not set -CONFIG_IXP4XX_WATCHDOG=y - -# -# PCI-based Watchdog Cards -# -# CONFIG_PCIPCWATCHDOG is not set -# CONFIG_WDTPCI is not set - -# -# USB-based Watchdog Cards -# -# CONFIG_USBPCWATCHDOG is not set +# CONFIG_WATCHDOG is not set # CONFIG_NVRAM is not set -# CONFIG_RTC is not set +CONFIG_S3C2410_RTC=y # CONFIG_DTLK is not set # CONFIG_R3964 is not set -# CONFIG_APPLICOM is not set # # Ftape, the floppy tape device driver # -# CONFIG_DRM is not set # CONFIG_RAW_DRIVER is not set # @@ -892,6 +854,7 @@ CONFIG_IXP4XX_WATCHDOG=y # # CONFIG_TCG_TPM is not set # CONFIG_TELCLOCK is not set +# CONFIG_TS0710_MUX is not set # # I2C support @@ -902,35 +865,16 @@ CONFIG_I2C_CHARDEV=y # # I2C Algorithms # -CONFIG_I2C_ALGOBIT=y +# CONFIG_I2C_ALGOBIT is not set # CONFIG_I2C_ALGOPCF is not set # CONFIG_I2C_ALGOPCA is not set # # I2C Hardware Bus support # -# CONFIG_I2C_ALI1535 is not set -# CONFIG_I2C_ALI1563 is not set -# CONFIG_I2C_ALI15X3 is not set -# CONFIG_I2C_AMD756 is not set -# CONFIG_I2C_AMD8111 is not set -# CONFIG_I2C_I801 is not set -# CONFIG_I2C_I810 is not set -# CONFIG_I2C_PIIX4 is not set -# CONFIG_I2C_IOP3XX is not set -CONFIG_I2C_IXP4XX=y -# CONFIG_I2C_NFORCE2 is not set # CONFIG_I2C_PARPORT_LIGHT is not set -# CONFIG_I2C_PROSAVAGE is not set -# CONFIG_I2C_SAVAGE4 is not set -# CONFIG_SCx200_ACB is not set -# CONFIG_I2C_SIS5595 is not set -# CONFIG_I2C_SIS630 is not set -# CONFIG_I2C_SIS96X is not set +CONFIG_I2C_S3C2410=y # CONFIG_I2C_STUB is not set -# CONFIG_I2C_VIA is not set -# CONFIG_I2C_VIAPRO is not set -# CONFIG_I2C_VOODOO3 is not set # CONFIG_I2C_PCA_ISA is not set # @@ -938,19 +882,42 @@ CONFIG_I2C_IXP4XX=y # # CONFIG_SENSORS_DS1337 is not set # CONFIG_SENSORS_DS1374 is not set -CONFIG_SENSORS_EEPROM=y +# CONFIG_SENSORS_EEPROM is not set +CONFIG_SENSORS_PCF50606=y # CONFIG_SENSORS_PCF8574 is not set # CONFIG_SENSORS_PCA9539 is not set # CONFIG_SENSORS_PCF8591 is not set -# CONFIG_SENSORS_RTC8564 is not set # CONFIG_SENSORS_MAX6875 is not set -# CONFIG_RTC_X1205_I2C is not set # 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 # +# SPI support +# +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +CONFIG_SPI_BITBANG=y +CONFIG_SPI_S3C24XX_GPIO=y +CONFIG_SPI_S3C24XX=y + +# +# SPI Protocol Masters +# +CONFIG_SPI_SLAVE_JBT6K74=y + +# +# Dallas's 1-wire bus +# +# CONFIG_W1 is not set + +# # Hardware Monitoring support # CONFIG_HWMON=y @@ -963,6 +930,7 @@ CONFIG_HWMON=y # CONFIG_SENSORS_ASB100 is not set # CONFIG_SENSORS_ATXP1 is not set # CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_F71805F is not set # CONFIG_SENSORS_FSCHER is not set # CONFIG_SENSORS_FSCPOS is not set # CONFIG_SENSORS_GL518SM is not set @@ -980,10 +948,8 @@ CONFIG_HWMON=y # CONFIG_SENSORS_LM92 is not set # CONFIG_SENSORS_MAX1619 is not set # CONFIG_SENSORS_PC87360 is not set -# CONFIG_SENSORS_SIS5595 is not set # CONFIG_SENSORS_SMSC47M1 is not set # CONFIG_SENSORS_SMSC47B397 is not set -# CONFIG_SENSORS_VIA686A is not set # CONFIG_SENSORS_W83781D is not set # CONFIG_SENSORS_W83792D is not set # CONFIG_SENSORS_W83L785TS is not set @@ -996,89 +962,98 @@ CONFIG_HWMON=y # # -# Multimedia Capabilities Port drivers +# LED devices # +# CONFIG_NEW_LEDS is not set # -# Multimedia devices -# -CONFIG_VIDEO_DEV=m - -# -# Video For Linux +# LED drivers # # -# Video Adapters +# LED Triggers # -CONFIG_VIDEO_BT848=m -# CONFIG_VIDEO_SAA6588 is not set -CONFIG_VIDEO_CPIA=m -CONFIG_VIDEO_CPIA_USB=m -CONFIG_VIDEO_SAA5246A=m -CONFIG_VIDEO_SAA5249=m -CONFIG_TUNER_3036=m -CONFIG_VIDEO_STRADIS=m -CONFIG_VIDEO_ZORAN=m -CONFIG_VIDEO_ZORAN_BUZ=m -CONFIG_VIDEO_ZORAN_DC10=m -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 -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 +# Multimedia devices # -# CONFIG_RADIO_GEMTEK_PCI is not set -# CONFIG_RADIO_MAXIRADIO is not set -# CONFIG_RADIO_MAESTRO is not set +# CONFIG_VIDEO_DEV is not set +CONFIG_VIDEO_V4L2=y # # Digital Video Broadcasting Devices # # CONFIG_DVB is not set -CONFIG_VIDEO_SAA7146=m -CONFIG_VIDEO_SAA7146_VV=m -CONFIG_VIDEO_VIDEOBUF=m -CONFIG_VIDEO_TUNER=m -CONFIG_VIDEO_BUF=m -CONFIG_VIDEO_BTCX=m -CONFIG_VIDEO_IR=m -CONFIG_VIDEO_TVEEPROM=m +# CONFIG_USB_DABUSB is not set # # Graphics support # -# CONFIG_FB is not set +CONFIG_FB=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_MACMODES is not set +CONFIG_FB_FIRMWARE_EDID=y +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set +# CONFIG_FB_S1D13XXX is not set +CONFIG_FB_S3C2410=y +# CONFIG_FB_S3C2410_DEBUG is not set +# CONFIG_FB_VIRTUAL is not set + +# +# Console display driver support +# +# CONFIG_VGA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +CONFIG_FONTS=y +# CONFIG_FONT_8x8 is not set +# CONFIG_FONT_8x16 is not set +CONFIG_FONT_6x11=y +# CONFIG_FONT_7x14 is not set +# CONFIG_FONT_PEARL_8x8 is not set +# CONFIG_FONT_ACORN_8x8 is not set +# CONFIG_FONT_MINI_4x6 is not set +# CONFIG_FONT_SUN8x16 is not set +# CONFIG_FONT_SUN12x22 is not set +# CONFIG_FONT_10x18 is not set + +# +# Logo configuration +# +CONFIG_LOGO=y +# CONFIG_LOGO_LINUX_MONO is not set +# CONFIG_LOGO_LINUX_VGA16 is not set +CONFIG_LOGO_LINUX_CLUT224=y +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_DEVICE=y +CONFIG_LCD_CLASS_DEVICE=y +CONFIG_LCD_DEVICE=y +CONFIG_BACKLIGHT_GTA01=y # # Sound # -CONFIG_SOUND=m +CONFIG_SOUND=y # # Advanced Linux Sound Architecture # -CONFIG_SND=m -CONFIG_SND_TIMER=m -CONFIG_SND_PCM=m -CONFIG_SND_HWDEP=m -CONFIG_SND_RAWMIDI=m +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y # CONFIG_SND_SEQUENCER is not set CONFIG_SND_OSSEMUL=y -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m +CONFIG_SND_MIXER_OSS=y +CONFIG_SND_PCM_OSS=y +CONFIG_SND_PCM_OSS_PLUGINS=y +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_VERBOSE_PROCFS=y # CONFIG_SND_VERBOSE_PRINTK is not set # CONFIG_SND_DEBUG is not set @@ -1091,58 +1066,62 @@ CONFIG_SND_PCM_OSS=m # CONFIG_SND_MPU401 is not set # -# PCI devices -# -# CONFIG_SND_ALI5451 is not set -# CONFIG_SND_ATIIXP is not set -# CONFIG_SND_ATIIXP_MODEM is not set -# CONFIG_SND_AU8810 is not set -# CONFIG_SND_AU8820 is not set -# CONFIG_SND_AU8830 is not set -# CONFIG_SND_AZT3328 is not set -# CONFIG_SND_BT87X is not set -# CONFIG_SND_CS46XX is not set -# CONFIG_SND_CS4281 is not set -# CONFIG_SND_EMU10K1 is not set -# CONFIG_SND_EMU10K1X is not set -# CONFIG_SND_CA0106 is not set -# CONFIG_SND_KORG1212 is not set -# CONFIG_SND_MIXART is not set -# CONFIG_SND_NM256 is not set -# CONFIG_SND_RME32 is not set -# CONFIG_SND_RME96 is not set -# CONFIG_SND_RME9652 is not set -# CONFIG_SND_HDSP is not set -# CONFIG_SND_HDSPM is not set -# CONFIG_SND_TRIDENT is not set -# CONFIG_SND_YMFPCI is not set -# CONFIG_SND_AD1889 is not set -# CONFIG_SND_ALS4000 is not set -# CONFIG_SND_CMIPCI is not set -# CONFIG_SND_ENS1370 is not set -# CONFIG_SND_ENS1371 is not set -# CONFIG_SND_ES1938 is not set -# CONFIG_SND_ES1968 is not set -# CONFIG_SND_MAESTRO3 is not set -# CONFIG_SND_FM801 is not set -# CONFIG_SND_ICE1712 is not set -# CONFIG_SND_ICE1724 is not set -# CONFIG_SND_INTEL8X0 is not set -# CONFIG_SND_INTEL8X0M is not set -# CONFIG_SND_SONICVIBES is not set -# CONFIG_SND_VIA82XX is not set -# CONFIG_SND_VIA82XX_MODEM is not set -# CONFIG_SND_VX222 is not set -# CONFIG_SND_HDA_INTEL is not set - -# # ALSA ARM devices # # # USB devices # -CONFIG_SND_USB_AUDIO=m +# CONFIG_SND_USB_AUDIO is not set + +# +# SoC audio support +# +CONFIG_SND_SOC=y + +# +# Soc Platforms +# + +# +# SoC Audio for the Intel PXA2xx +# + +# +# SoC Audio for the Atmel AT91 +# + +# +# SoC Audio for the Freescale i.MX +# + +# +# SoC Audio for the Samsung S3C24XX +# +CONFIG_SND_S3C24XX_SOC=m +CONFIG_SND_S3C24XX_SOC_I2S=m +CONFIG_SND_S3C24XX_SOC_NEO1973_WM8753=m + +# +# Soc Codecs +# +# CONFIG_SND_SOC_AC97_CODEC is not set +# CONFIG_SND_SOC_WM8711 is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8731 is not set +# CONFIG_SND_SOC_WM8750 is not set +CONFIG_SND_SOC_WM8753=m +# CONFIG_SND_SOC_WM8772 is not set +# CONFIG_SND_SOC_WM8971 is not set +# CONFIG_SND_SOC_WM8956 is not set +# CONFIG_SND_SOC_WM8960 is not set +CONFIG_SND_SOC_WM8976=m +# CONFIG_SND_SOC_WM8974 is not set +# CONFIG_SND_SOC_WM8980 is not set +# CONFIG_SND_SOC_WM9713 is not set +# CONFIG_SND_SOC_WM9712 is not set +# CONFIG_SND_SOC_UDA1380 is not set +# CONFIG_SND_SOC_AK4535 is not set # # Open Sound System @@ -1154,6 +1133,7 @@ CONFIG_SND_USB_AUDIO=m # CONFIG_USB_ARCH_HAS_HCD=y CONFIG_USB_ARCH_HAS_OHCI=y +# CONFIG_USB_ARCH_HAS_EHCI is not set CONFIG_USB=y # CONFIG_USB_DEBUG is not set @@ -1163,25 +1143,21 @@ CONFIG_USB=y CONFIG_USB_DEVICEFS=y # CONFIG_USB_BANDWIDTH is not set # CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_SUSPEND is not set # CONFIG_USB_OTG is not set # # USB Host Controller Drivers # -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_EHCI_SPLIT_ISO=y -# CONFIG_USB_EHCI_ROOT_HUB_TT is not set # CONFIG_USB_ISP116X_HCD is not set -CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD=m # CONFIG_USB_OHCI_BIG_ENDIAN is not set CONFIG_USB_OHCI_LITTLE_ENDIAN=y -# CONFIG_USB_UHCI_HCD is not set # CONFIG_USB_SL811_HCD is not set # # USB Device Class drivers # -# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set CONFIG_USB_ACM=m CONFIG_USB_PRINTER=m @@ -1194,39 +1170,41 @@ CONFIG_USB_PRINTER=m # CONFIG_USB_STORAGE=y # CONFIG_USB_STORAGE_DEBUG is not set -# CONFIG_USB_STORAGE_DATAFAB is not set -# CONFIG_USB_STORAGE_FREECOM is not set -# CONFIG_USB_STORAGE_DPCM is not set -# CONFIG_USB_STORAGE_USBAT is not set -# CONFIG_USB_STORAGE_SDDR09 is not set -# CONFIG_USB_STORAGE_SDDR55 is not set -# CONFIG_USB_STORAGE_JUMPSHOT is not set -# CONFIG_USB_STORAGE_ONETOUCH is not set +CONFIG_USB_STORAGE_DATAFAB=y +CONFIG_USB_STORAGE_FREECOM=y +CONFIG_USB_STORAGE_ISD200=y +CONFIG_USB_STORAGE_DPCM=y +CONFIG_USB_STORAGE_USBAT=y +CONFIG_USB_STORAGE_SDDR09=y +CONFIG_USB_STORAGE_SDDR55=y +CONFIG_USB_STORAGE_JUMPSHOT=y +CONFIG_USB_STORAGE_ALAUDA=y +CONFIG_USB_LIBUSUAL=y # # USB Input Devices # CONFIG_USB_HID=m CONFIG_USB_HIDINPUT=y +# CONFIG_USB_HIDINPUT_POWERBOOK is not set # CONFIG_HID_FF is not set -CONFIG_USB_HIDDEV=y +# CONFIG_USB_HIDDEV is not set # # USB HID Boot Protocol drivers # -CONFIG_USB_KBD=m +# CONFIG_USB_KBD is not set # CONFIG_USB_MOUSE is not set # CONFIG_USB_AIPTEK is not set # CONFIG_USB_WACOM is not set # CONFIG_USB_ACECAD is not set # CONFIG_USB_KBTAB is not set # CONFIG_USB_POWERMATE is not set -# CONFIG_USB_MTOUCH is not set -# CONFIG_USB_ITMTOUCH is not set -# CONFIG_USB_EGALAX is not set +# CONFIG_USB_TOUCHSCREEN is not set # CONFIG_USB_YEALINK is not set # CONFIG_USB_XPAD is not set # CONFIG_USB_ATI_REMOTE is not set +# CONFIG_USB_ATI_REMOTE2 is not set # CONFIG_USB_KEYSPAN_REMOTE is not set # CONFIG_USB_APPLETOUCH is not set @@ -1237,21 +1215,6 @@ CONFIG_USB_KBD=m # CONFIG_USB_MICROTEK is not set # -# USB Multimedia devices -# -# CONFIG_USB_DABUSB is not set -# CONFIG_USB_VICAM is not set -# CONFIG_USB_DSBR is not set -# CONFIG_USB_IBMCAM is not set -# CONFIG_USB_KONICAWC is not set -# CONFIG_USB_OV511 is not set -# CONFIG_USB_SE401 is not set -# CONFIG_USB_SN9C102 is not set -# CONFIG_USB_STV680 is not set -# CONFIG_USB_W9968CF is not set -CONFIG_USB_PWC=m - -# # USB Network Adapters # CONFIG_USB_CATC=m @@ -1261,14 +1224,18 @@ CONFIG_USB_RTL8150=m CONFIG_USB_USBNET=m CONFIG_USB_NET_AX8817X=m CONFIG_USB_NET_CDCETHER=m -# CONFIG_USB_NET_GL620A is not set +CONFIG_USB_NET_GL620A=m CONFIG_USB_NET_NET1080=m -# CONFIG_USB_NET_PLUSB is not set -# CONFIG_USB_NET_RNDIS_HOST is not set -# CONFIG_USB_NET_CDC_SUBSET is not set +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_NET_CDC_SUBSET=m +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AN2720=y +CONFIG_USB_BELKIN=y +CONFIG_USB_ARMLINUX=y +CONFIG_USB_EPSON2888=y CONFIG_USB_NET_ZAURUS=m -# CONFIG_USB_ZD1201 is not set -# CONFIG_USB_MON is not set +CONFIG_USB_MON=y # # USB port drivers @@ -1279,15 +1246,17 @@ 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_AIRPRIME=m +CONFIG_USB_SERIAL_ANYDATA=m +CONFIG_USB_SERIAL_ARK3116=m CONFIG_USB_SERIAL_BELKIN=m CONFIG_USB_SERIAL_WHITEHEAT=m CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -# CONFIG_USB_SERIAL_CP2101 is not set +CONFIG_USB_SERIAL_CP2101=m CONFIG_USB_SERIAL_CYPRESS_M8=m CONFIG_USB_SERIAL_EMPEG=m CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_FUNSOFT=m CONFIG_USB_SERIAL_VISOR=m CONFIG_USB_SERIAL_IPAQ=m CONFIG_USB_SERIAL_IR=m @@ -1296,14 +1265,27 @@ CONFIG_USB_SERIAL_EDGEPORT_TI=m CONFIG_USB_SERIAL_GARMIN=m CONFIG_USB_SERIAL_IPW=m CONFIG_USB_SERIAL_KEYSPAN_PDA=m -# CONFIG_USB_SERIAL_KEYSPAN is not set +CONFIG_USB_SERIAL_KEYSPAN=m +CONFIG_USB_SERIAL_KEYSPAN_MPR=y +CONFIG_USB_SERIAL_KEYSPAN_USA28=y +CONFIG_USB_SERIAL_KEYSPAN_USA28X=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y +CONFIG_USB_SERIAL_KEYSPAN_USA19=y +CONFIG_USB_SERIAL_KEYSPAN_USA18X=y +CONFIG_USB_SERIAL_KEYSPAN_USA19W=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y +CONFIG_USB_SERIAL_KEYSPAN_USA49W=y +CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y CONFIG_USB_SERIAL_KLSI=m CONFIG_USB_SERIAL_KOBIL_SCT=m CONFIG_USB_SERIAL_MCT_U232=m +CONFIG_USB_SERIAL_NAVMAN=m CONFIG_USB_SERIAL_PL2303=m -# CONFIG_USB_SERIAL_HP4X is not set +CONFIG_USB_SERIAL_HP4X=m CONFIG_USB_SERIAL_SAFE=m -# CONFIG_USB_SERIAL_SAFE_PADDED is not set +CONFIG_USB_SERIAL_SAFE_PADDED=y CONFIG_USB_SERIAL_TI=m CONFIG_USB_SERIAL_CYBERJACK=m CONFIG_USB_SERIAL_XIRCOM=m @@ -1324,7 +1306,6 @@ CONFIG_USB_EZUSB=y # CONFIG_USB_PHIDGETKIT is not set # CONFIG_USB_PHIDGETSERVO is not set # CONFIG_USB_IDMOUSE is not set -# CONFIG_USB_SISUSBVGA is not set # CONFIG_USB_LD is not set # CONFIG_USB_TEST is not set @@ -1335,17 +1316,42 @@ CONFIG_USB_EZUSB=y # # USB Gadget Support # -# CONFIG_USB_GADGET is not set +CONFIG_USB_GADGET=y +# CONFIG_USB_GADGET_DEBUG_FILES is not set +CONFIG_USB_GADGET_SELECTED=y +# CONFIG_USB_GADGET_NET2280 is not set +# CONFIG_USB_GADGET_PXA2XX is not set +# CONFIG_USB_GADGET_GOKU is not set +# CONFIG_USB_GADGET_LH7A40X is not set +# CONFIG_USB_GADGET_OMAP is not set +CONFIG_USB_GADGET_S3C2410=y +CONFIG_USB_S3C2410=y +# CONFIG_USB_S3C2410_DEBUG is not set +# CONFIG_USB_GADGET_AT91 is not set +# CONFIG_USB_GADGET_DUMMY_HCD is not set +# CONFIG_USB_GADGET_DUALSPEED is not set +# CONFIG_USB_ZERO is not set +CONFIG_USB_ETH=y +CONFIG_USB_ETH_RNDIS=y +# CONFIG_USB_GADGETFS is not set +# CONFIG_USB_FILE_STORAGE is not set +# CONFIG_USB_G_SERIAL is not set # # MMC/SD Card support # -# CONFIG_MMC is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_BLOCK=y +CONFIG_MMC_S3C=y # # Real Time Clock # +CONFIG_RTC_LIB=y CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" # # RTC interfaces @@ -1357,52 +1363,47 @@ CONFIG_RTC_INTF_DEV=y # # RTC drivers # -CONFIG_RTC_DRV_X1205=y +# CONFIG_RTC_DRV_X1205 is not set # CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_M48T86 is not set # CONFIG_RTC_DRV_TEST is not set # # File systems # -CONFIG_EXT2_FS=m -CONFIG_EXT2_FS_XATTR=y -CONFIG_EXT2_FS_POSIX_ACL=y -CONFIG_EXT2_FS_SECURITY=y +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set # CONFIG_EXT2_FS_XIP is not set -CONFIG_EXT3_FS=m +CONFIG_EXT3_FS=y CONFIG_EXT3_FS_XATTR=y -CONFIG_EXT3_FS_POSIX_ACL=y -CONFIG_EXT3_FS_SECURITY=y -CONFIG_JBD=m +# CONFIG_EXT3_FS_POSIX_ACL is not set +# CONFIG_EXT3_FS_SECURITY is not set +CONFIG_JBD=y # CONFIG_JBD_DEBUG is not set -CONFIG_FS_MBCACHE=m -CONFIG_REISERFS_FS=m -# CONFIG_REISERFS_CHECK is not set -# CONFIG_REISERFS_PROC_INFO is not set -CONFIG_REISERFS_FS_XATTR=y -CONFIG_REISERFS_FS_POSIX_ACL=y -CONFIG_REISERFS_FS_SECURITY=y +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set # CONFIG_JFS_FS is not set CONFIG_FS_POSIX_ACL=y # CONFIG_XFS_FS is not set +# CONFIG_OCFS2_FS is not set # CONFIG_MINIX_FS is not set -# CONFIG_ROMFS_FS is not set +CONFIG_ROMFS_FS=y CONFIG_INOTIFY=y # CONFIG_QUOTA is not set CONFIG_DNOTIFY=y # CONFIG_AUTOFS_FS is not set -CONFIG_AUTOFS4_FS=m -# CONFIG_FUSE_FS is not set +# CONFIG_AUTOFS4_FS is not set +CONFIG_FUSE_FS=m # # CD-ROM/DVD Filesystems # CONFIG_ISO9660_FS=m CONFIG_JOLIET=y -CONFIG_ZISOFS=y -CONFIG_ZISOFS_FS=m -CONFIG_UDF_FS=m -CONFIG_UDF_NLS=y +# CONFIG_ZISOFS is not set +# CONFIG_UDF_FS is not set # # DOS/FAT/NT Filesystems @@ -1411,10 +1412,8 @@ CONFIG_FAT_FS=m CONFIG_MSDOS_FS=m CONFIG_VFAT_FS=m CONFIG_FAT_DEFAULT_CODEPAGE=437 -CONFIG_FAT_DEFAULT_IOCHARSET="utf8" -CONFIG_NTFS_FS=m -# CONFIG_NTFS_DEBUG is not set -CONFIG_NTFS_RW=y +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set # # Pseudo filesystems @@ -1424,7 +1423,7 @@ CONFIG_SYSFS=y CONFIG_TMPFS=y # CONFIG_HUGETLB_PAGE is not set CONFIG_RAMFS=y -# CONFIG_RELAYFS_FS is not set +CONFIG_CONFIGFS_FS=m # # Miscellaneous filesystems @@ -1436,19 +1435,18 @@ CONFIG_RAMFS=y # CONFIG_BEFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EFS_FS is not set -# CONFIG_JFFS_FS is not set +CONFIG_JFFS_FS=m +CONFIG_JFFS_FS_VERBOSE=0 +# CONFIG_JFFS_PROC_FS is not set CONFIG_JFFS2_FS=y CONFIG_JFFS2_FS_DEBUG=0 CONFIG_JFFS2_FS_WRITEBUFFER=y -# CONFIG_JFFS2_SUMMARY is not set +CONFIG_JFFS2_SUMMARY=y # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set CONFIG_JFFS2_ZLIB=y CONFIG_JFFS2_RTIME=y # CONFIG_JFFS2_RUBIN is not set -# CONFIG_JFFS2_NATIVE_ENDIAN is not set -CONFIG_JFFS2_BIG_ENDIAN=y -# CONFIG_JFFS2_LITTLE_ENDIAN is not set -# CONFIG_CRAMFS is not set +CONFIG_CRAMFS=y # CONFIG_VXFS_FS is not set # CONFIG_HPFS_FS is not set # CONFIG_QNX4FS_FS is not set @@ -1458,31 +1456,27 @@ CONFIG_JFFS2_BIG_ENDIAN=y # # Network File Systems # -CONFIG_NFS_FS=m +CONFIG_NFS_FS=y CONFIG_NFS_V3=y # CONFIG_NFS_V3_ACL is not set CONFIG_NFS_V4=y -CONFIG_NFS_DIRECTIO=y +# CONFIG_NFS_DIRECTIO is not set CONFIG_NFSD=m CONFIG_NFSD_V3=y # CONFIG_NFSD_V3_ACL is not set CONFIG_NFSD_V4=y CONFIG_NFSD_TCP=y -CONFIG_LOCKD=m +CONFIG_ROOT_NFS=y +CONFIG_LOCKD=y CONFIG_LOCKD_V4=y CONFIG_EXPORTFS=m CONFIG_NFS_COMMON=y -CONFIG_SUNRPC=m -CONFIG_SUNRPC_GSS=m -CONFIG_RPCSEC_GSS_KRB5=m +CONFIG_SUNRPC=y +CONFIG_SUNRPC_GSS=y +CONFIG_RPCSEC_GSS_KRB5=y # CONFIG_RPCSEC_GSS_SPKM3 is not set -CONFIG_SMB_FS=m -# CONFIG_SMB_NLS_DEFAULT is not set -CONFIG_CIFS=m -# CONFIG_CIFS_STATS is not set -CONFIG_CIFS_XATTR=y -CONFIG_CIFS_POSIX=y -# CONFIG_CIFS_EXPERIMENTAL is not set +# CONFIG_SMB_FS is not set +# CONFIG_CIFS is not set # CONFIG_NCP_FS is not set # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set @@ -1491,65 +1485,51 @@ CONFIG_CIFS_POSIX=y # # Partition Types # -CONFIG_PARTITION_ADVANCED=y -# CONFIG_ACORN_PARTITION is not set -# CONFIG_OSF_PARTITION is not set -# CONFIG_AMIGA_PARTITION is not set -# CONFIG_ATARI_PARTITION is not set -# CONFIG_MAC_PARTITION is not set +# CONFIG_PARTITION_ADVANCED is not set CONFIG_MSDOS_PARTITION=y -# CONFIG_BSD_DISKLABEL is not set -# CONFIG_MINIX_SUBPARTITION is not set -# CONFIG_SOLARIS_X86_PARTITION is not set -# CONFIG_UNIXWARE_DISKLABEL is not set -# CONFIG_LDM_PARTITION is not set -# CONFIG_SGI_PARTITION is not set -# CONFIG_ULTRIX_PARTITION is not set -# CONFIG_SUN_PARTITION is not set -# CONFIG_EFI_PARTITION is not set # # Native Language Support # CONFIG_NLS=m -CONFIG_NLS_DEFAULT="utf8" +CONFIG_NLS_DEFAULT="iso8859-1" CONFIG_NLS_CODEPAGE_437=m -CONFIG_NLS_CODEPAGE_737=m -CONFIG_NLS_CODEPAGE_775=m +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set CONFIG_NLS_CODEPAGE_850=m -CONFIG_NLS_CODEPAGE_852=m -CONFIG_NLS_CODEPAGE_855=m -CONFIG_NLS_CODEPAGE_857=m -CONFIG_NLS_CODEPAGE_860=m -CONFIG_NLS_CODEPAGE_861=m -CONFIG_NLS_CODEPAGE_862=m -CONFIG_NLS_CODEPAGE_863=m -CONFIG_NLS_CODEPAGE_864=m -CONFIG_NLS_CODEPAGE_865=m -CONFIG_NLS_CODEPAGE_866=m -CONFIG_NLS_CODEPAGE_869=m +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set CONFIG_NLS_CODEPAGE_936=m CONFIG_NLS_CODEPAGE_950=m -CONFIG_NLS_CODEPAGE_932=m -CONFIG_NLS_CODEPAGE_949=m -CONFIG_NLS_CODEPAGE_874=m -CONFIG_NLS_ISO8859_8=m -CONFIG_NLS_CODEPAGE_1250=m -CONFIG_NLS_CODEPAGE_1251=m -CONFIG_NLS_ASCII=m +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +# CONFIG_NLS_ASCII is not set CONFIG_NLS_ISO8859_1=m -CONFIG_NLS_ISO8859_2=m -CONFIG_NLS_ISO8859_3=m -CONFIG_NLS_ISO8859_4=m -CONFIG_NLS_ISO8859_5=m -CONFIG_NLS_ISO8859_6=m -CONFIG_NLS_ISO8859_7=m -CONFIG_NLS_ISO8859_9=m -CONFIG_NLS_ISO8859_13=m -CONFIG_NLS_ISO8859_14=m -CONFIG_NLS_ISO8859_15=m -CONFIG_NLS_KOI8_R=m -CONFIG_NLS_KOI8_U=m +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set CONFIG_NLS_UTF8=m # @@ -1561,11 +1541,31 @@ CONFIG_NLS_UTF8=m # Kernel hacking # # CONFIG_PRINTK_TIME is not set -# CONFIG_DEBUG_KERNEL is not set +CONFIG_MAGIC_SYSRQ=y +CONFIG_DEBUG_KERNEL=y CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_DEBUG_BUGVERBOSE is not set +CONFIG_DETECT_SOFTLOCKUP=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_DEBUG_SLAB is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_SPINLOCK_SLEEP is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_INFO=y +# CONFIG_DEBUG_FS is not set +# CONFIG_DEBUG_VM is not set CONFIG_FRAME_POINTER=y +CONFIG_UNWIND_INFO=y +CONFIG_FORCED_INLINING=y +# CONFIG_RCU_TORTURE_TEST is not set # CONFIG_DEBUG_USER is not set +# CONFIG_DEBUG_WAITQ is not set +# CONFIG_DEBUG_ERRORS is not set +CONFIG_DEBUG_LL=y +# CONFIG_DEBUG_ICEDCC is not set +CONFIG_DEBUG_S3C2410_PORT=y +CONFIG_DEBUG_S3C2410_UART=0 # # Security options @@ -1579,28 +1579,28 @@ CONFIG_FRAME_POINTER=y CONFIG_CRYPTO=y CONFIG_CRYPTO_HMAC=y # CONFIG_CRYPTO_NULL is not set -CONFIG_CRYPTO_MD4=m +# CONFIG_CRYPTO_MD4 is not set CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_SHA1=m -CONFIG_CRYPTO_SHA256=m -CONFIG_CRYPTO_SHA512=m -CONFIG_CRYPTO_WP512=m -CONFIG_CRYPTO_TGR192=m -CONFIG_CRYPTO_DES=m -CONFIG_CRYPTO_BLOWFISH=m -CONFIG_CRYPTO_TWOFISH=m -CONFIG_CRYPTO_SERPENT=m -CONFIG_CRYPTO_AES=m -CONFIG_CRYPTO_CAST5=m -CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_TEA=m +# CONFIG_CRYPTO_SHA256 is not set +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_WP512 is not set +# CONFIG_CRYPTO_TGR192 is not set +CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_TWOFISH is not set +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_AES is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_TEA is not set CONFIG_CRYPTO_ARC4=m -CONFIG_CRYPTO_KHAZAD=m -CONFIG_CRYPTO_ANUBIS=m +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_ANUBIS is not set CONFIG_CRYPTO_DEFLATE=m -CONFIG_CRYPTO_MICHAEL_MIC=m -CONFIG_CRYPTO_CRC32C=m -CONFIG_CRYPTO_TEST=m +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# CONFIG_CRYPTO_CRC32C is not set +# CONFIG_CRYPTO_TEST is not set # # Hardware crypto devices @@ -1610,8 +1610,12 @@ CONFIG_CRYPTO_TEST=m # Library routines # CONFIG_CRC_CCITT=m -# CONFIG_CRC16 is not set +CONFIG_CRC16=m CONFIG_CRC32=y CONFIG_LIBCRC32C=m CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=y +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_KMP=m +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m diff --git a/packages/linux/linux-gta01/udc-nomodule-misccr.patch b/packages/linux/linux-gta01/udc-nomodule-misccr.patch new file mode 100644 index 0000000000..0f84b56c2a --- /dev/null +++ b/packages/linux/linux-gta01/udc-nomodule-misccr.patch @@ -0,0 +1,22 @@ +Index: linux-2.6.17.14-fic1/drivers/usb/gadget/s3c2410_udc.c +=================================================================== +--- linux-2.6.17.14-fic1.orig/drivers/usb/gadget/s3c2410_udc.c 2006-11-03 01:22:14.000000000 +0100 ++++ linux-2.6.17.14-fic1/drivers/usb/gadget/s3c2410_udc.c 2006-11-03 12:41:52.000000000 +0100 +@@ -1492,7 +1492,7 @@ + return -ENODEV; + if (udc->driver) + return -EBUSY; +- if (!driver->bind || !driver->unbind || !driver->setup ++ if (!driver->bind || !driver->setup + || driver->speed == USB_SPEED_UNKNOWN) + return -EINVAL; + +@@ -1700,6 +1700,8 @@ + } + dprintk(DEBUG_VERBOSE, "%s: got irq %i\n", gadget_name, IRQ_USBD); + ++ s3c2410_modify_misccr(S3C2410_MISCCR_USBHOST|S3C2410_MISCCR_USBSUSPND0|S3C2410_MISCCR_USBSUSPND1, 0); ++ + #ifdef ENABLE_SYSFS + /* create device files */ + device_create_file(&pdev->dev, &dev_attr_regs); diff --git a/packages/linux/linux-gta01_2.6.17.14.bb b/packages/linux/linux-gta01_2.6.17.14.bb new file mode 100644 index 0000000000..8f3c37753a --- /dev/null +++ b/packages/linux/linux-gta01_2.6.17.14.bb @@ -0,0 +1,101 @@ +DESCRIPTION = "2.6 Linux Development Kernel for FIC Neo1973 (GTA01)" +SECTION = "kernel" +AUTHOR = "Harald Welte <laforge@openmoko.org>" +HOMEPAGE = "N/A" +LICENSE = "GPL" +DEPENDS += "uboot-gta01" +MOKOR = "moko7" +PR = "${MOKOR}-r1" + +inherit kernel + +FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/linux-gta01" +#HWSRC = "http://people.gta01.openmoko.org/laforge/src/kernel/20060806" + +############################################################## +# source and patches +# +SRC_URI = "http://ftp.de.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.14.tar.bz2 \ + svn://svn.openmoko.org/trunk/src/target/kernel;module=patches;proto=https \ + file://defconfig-${MACHINE}" +S = "${WORKDIR}/linux-2.6.17.14" + +############################################################## +# kernel image resides on a seperate flash partition (for now) +# +FILES_kernel-image = "" +ALLOW_EMPTY = "1" + +COMPATIBLE_MACHINE = 'fic-gta01' + +CMDLINE_CON = "console=ttySAC0,115200n8" +#CMDLINE_ROOT = "root=/dev/mmcblk0p1 rootfstype=ext3 rootdelay=5" +# uncomment if you want to boot over NFS +#CMDLINE_ROOT = "root=/dev/nfs nfsroot=192.168.1.10:/export/opie-image rootdelay=5 3" +# uncomment to enable dyntick +#CMDLINE_OTHER = "dyntick=enable" +CMDLINE_DEBUG = '${@base_conditional("DISTRO_TYPE", "release", "quiet", "debug",d)}' +CMDLINE_IP = "ip=192.168.1.2:192.168.1.10:192.168.1.10:255.255.255.0:ezx:usb0:off" +CMDLINE = "${CMDLINE_CON} ${CMDLINE_ROOT} ${CMDLINE_IP} ${CMDLINE_ROTATE} ${CMDLINE_OTHER} ${CMDLINE_DEBUG}" + +############################################################### +# module configs specific to this kernel +# +module_autoload_ohci-hcd = "ohci-hcd" +module_autoload_g_ether = "g_ether" +#module_autoload_snd-pcm-oss = "snd-pcm-oss" +#module_autoload_snd-soc-corgi_c7x0 = "snd-soc-s3c24xx" + +do_prepatch() { + mv ${WORKDIR}/patches ${S}/patches && cd ${S} && quilt push -av + rm -Rf patches .pc +} + +do_configure() { + #install -m 0644 ${WORKDIR}/logo_linux_clut224.ppm drivers/video/logo/logo_linux_clut224.ppm + + if [ ! -e ${WORKDIR}/defconfig-${MACHINE} ]; then + die "No default configuration for ${MACHINE} available." + fi + + echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >> ${S}/.config + + if [ "${TARGET_OS}" == "linux-gnueabi" ]; then + echo "CONFIG_AEABI=y" >> ${S}/.config + echo "CONFIG_OABI_COMPAT=y" >> ${S}/.config + else + echo "# CONFIG_AEABI is not set" >> ${S}/.config + echo "# CONFIG_OABI_COMPAT is not set" >> ${S}/.config + fi + + sed -e '/CONFIG_AEABI/d' \ + -e '/CONFIG_OABI_COMPAT=/d' \ + -e '/CONFIG_CMDLINE=/d' \ + -e '/CONFIG_MTD_MTDRAM_SA1100=/d' \ + -e '/CONFIG_MTDRAM_TOTAL_SIZE=/d' \ + -e '/CONFIG_MTDRAM_ERASE_SIZE=/d' \ + -e '/CONFIG_MTDRAM_ABS_POS=/d' \ + '${WORKDIR}/defconfig-${MACHINE}' >>'${S}/.config' + + yes '' | oe_runmake oldconfig +} + +############################################################### +# put into deploy directory and append u-boot header +# +do_deploy() { + install -d ${DEPLOY_DIR_IMAGE} + install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${PR}-${MACHINE}-${DATETIME}.bin + tar -cvzf ${DEPLOY_DIR_IMAGE}/modules-${KERNEL_RELEASE}-${PR}-${MACHINE}.tgz -C ${D} lib + arm-linux-objcopy -O binary -R .note -R .comment -S vmlinux linux.bin + rm -f linux.bin.gz + gzip -9 linux.bin + uboot-mkimage -A arm -O linux -T kernel -C gzip -a 30008000 -e 30008000 -n "OpenMoko Kernel Image Neo1973(GTA01)" -d linux.bin.gz ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE}-${DATETIME}.bin + rm -f linux.bin.gz +} + +do_deploy[dirs] = "${S}" + +addtask prepatch before do_patch after do_unpack +addtask deploy before do_package after do_install + diff --git a/packages/linux/linux-gta01_2.6.17.7.bb b/packages/linux/linux-gta01_2.6.17.7.bb new file mode 100644 index 0000000000..cf4bfeb8ea --- /dev/null +++ b/packages/linux/linux-gta01_2.6.17.7.bb @@ -0,0 +1,97 @@ +DESCRIPTION = "2.6 Linux Development Kernel for FIC GTA01" +SECTION = "kernel" +AUTHOR = "Harald Welte <hwelte@hmw-consulting.de>" +HOMEPAGE = "N/A" +LICENSE = "GPL" +DEPENDS += "uboot-gta01" +PR = "r4" + +inherit kernel + +FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/linux-gta01" +HWSRC = "http://people.gta01.hmw-consulting.de/laforge/src/kernel/20060806" + +############################################################## +# source and patches +# +SRC_URI = "http://people.gta01.hmw-consulting.de/laforge/tmp/linux-2.6.17.7-gta01-lcm.tar.bz2 \ + file://defconfig-${MACHINE}" +S = "${WORKDIR}/linux-2.6.17.7-new" + +############################################################## +# kernel image resides on a seperate flash partition (for now) +# +FILES_kernel-image = "" +ALLOW_EMPTY = "1" + +COMPATIBLE_MACHINE = 'fic-gta01' + +CMDLINE_CON = "console=ttySAC0,115200n8" +#CMDLINE_ROOT = "root=/dev/mmcblk0p1 rootfstype=ext3 rootdelay=5" +# uncomment if you want to boot over NFS +#CMDLINE_ROOT = "root=/dev/nfs nfsroot=192.168.1.10:/export/opie-image rootdelay=5 3" +# uncomment to enable dyntick +#CMDLINE_OTHER = "dyntick=enable" +CMDLINE_DEBUG = '${@base_conditional("DISTRO_TYPE", "release", "quiet", "debug",d)}' +CMDLINE_IP = "ip=192.168.1.2:192.168.1.10:192.168.1.10:255.255.255.0:ezx:usb0:off" +CMDLINE = "${CMDLINE_CON} ${CMDLINE_ROOT} ${CMDLINE_IP} ${CMDLINE_ROTATE} ${CMDLINE_OTHER} ${CMDLINE_DEBUG}" + +############################################################### +# module configs specific to this kernel +# +#module_autoload_pxaficp_ir = "pxaficp_ir" +#module_autoload_snd-pcm-oss = "snd-pcm-oss" + +do_prepatch() { + mv ${WORKDIR}/patches ${S}/patches && cd ${S} && quilt push -av + rm -Rf patches .pc +} + +do_configure() { + #install -m 0644 ${WORKDIR}/logo_linux_clut224.ppm drivers/video/logo/logo_linux_clut224.ppm + + if [ ! -e ${WORKDIR}/defconfig-${MACHINE} ]; then + die "No default configuration for ${MACHINE} available." + fi + + echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >> ${S}/.config + + if [ "${TARGET_OS}" == "linux-gnueabi" ]; then + echo "CONFIG_AEABI=y" >> ${S}/.config + echo "CONFIG_OABI_COMPAT=y" >> ${S}/.config + else + echo "# CONFIG_AEABI is not set" >> ${S}/.config + echo "# CONFIG_OABI_COMPAT is not set" >> ${S}/.config + fi + + sed -e '/CONFIG_AEABI/d' \ + -e '/CONFIG_OABI_COMPAT=/d' \ + -e '/CONFIG_CMDLINE=/d' \ + -e '/CONFIG_MTD_MTDRAM_SA1100=/d' \ + -e '/CONFIG_MTDRAM_TOTAL_SIZE=/d' \ + -e '/CONFIG_MTDRAM_ERASE_SIZE=/d' \ + -e '/CONFIG_MTDRAM_ABS_POS=/d' \ + '${WORKDIR}/defconfig-${MACHINE}' >>'${S}/.config' + + yes '' | oe_runmake oldconfig +} + +############################################################### +# put into deploy directory and append u-boot header +# +do_deploy() { + install -d ${DEPLOY_DIR_IMAGE} + install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}.bin + tar -cvzf ${DEPLOY_DIR_IMAGE}/modules-${KERNEL_RELEASE}-${MACHINE}.tgz -C ${D} lib + arm-linux-objcopy -O binary -R .note -R .comment -S vmlinux linux.bin + rm -f linux.bin.gz + gzip -9 linux.bin + uboot-mkimage -A arm -O linux -T kernel -C gzip -a 30008000 -e 30008000 -n "Kernel Image QT2410" -d linux.bin.gz ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${MACHINE}-${DATETIME}.bin + rm -f linux.bin.gz +} + +do_deploy[dirs] = "${S}" + +addtask prepatch before do_patch after do_unpack +addtask deploy before do_package after do_install + diff --git a/packages/linux/linux-gta01_2.6.20.bb b/packages/linux/linux-gta01_2.6.20.bb new file mode 100644 index 0000000000..a922abd701 --- /dev/null +++ b/packages/linux/linux-gta01_2.6.20.bb @@ -0,0 +1,102 @@ +DESCRIPTION = "2.6 Linux Development Kernel for FIC Neo1973 (GTA01)" +SECTION = "kernel" +AUTHOR = "Harald Welte <laforge@openmoko.org>" +HOMEPAGE = "N/A" +LICENSE = "GPL" +DEPENDS += "uboot-gta01" +MOKOR = "moko7" +PR = "${MOKOR}-r1" + +VANILLA_VERSION = "2.6.20" + +inherit kernel + +FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/linux-gta01" + +############################################################## +# source and patches +# +SRC_URI = "http://ftp.de.kernel.org/pub/linux/kernel/v2.6/linux-${VANILLA_VERSION}.tar.bz2 \ + svn://svn.openmoko.org/trunk/src/target/kernel;module=patches;proto=http \ + file://defconfig-${VANILLA_VERSION}-${MACHINE}" +S = "${WORKDIR}/linux-${VANILLA_VERSION}" + +############################################################## +# kernel image resides on a seperate flash partition (for now) +# +FILES_kernel-image = "" +ALLOW_EMPTY = "1" + +COMPATIBLE_MACHINE = 'fic-gta01' + +CMDLINE_CON = "console=ttySAC0,115200n8" +#CMDLINE_ROOT = "root=/dev/mmcblk0p1 rootfstype=ext3 rootdelay=5" +# uncomment if you want to boot over NFS +#CMDLINE_ROOT = "root=/dev/nfs nfsroot=192.168.1.10:/export/opie-image rootdelay=5 3" +# uncomment to enable dyntick +#CMDLINE_OTHER = "dyntick=enable" +CMDLINE_DEBUG = '${@base_conditional("DISTRO_TYPE", "release", "quiet", "debug",d)}' +CMDLINE_IP = "ip=192.168.1.2:192.168.1.10:192.168.1.10:255.255.255.0:ezx:usb0:off" +CMDLINE = "${CMDLINE_CON} ${CMDLINE_ROOT} ${CMDLINE_IP} ${CMDLINE_ROTATE} ${CMDLINE_OTHER} ${CMDLINE_DEBUG}" + +############################################################### +# module configs specific to this kernel +# +module_autoload_ohci-hcd = "ohci-hcd" +module_autoload_g_ether = "g_ether" +#module_autoload_snd-pcm-oss = "snd-pcm-oss" +#module_autoload_snd-soc-corgi_c7x0 = "snd-soc-s3c24xx" + +do_prepatch() { + mv ${WORKDIR}/patches ${S}/patches && cd ${S} && quilt push -av + rm -Rf patches .pc +} + +do_configure() { + #install -m 0644 ${WORKDIR}/logo_linux_clut224.ppm drivers/video/logo/logo_linux_clut224.ppm + + if [ ! -e ${WORKDIR}/defconfig-${VANILLA_VERSION}-${MACHINE} ]; then + die "No default configuration for ${MACHINE} available." + fi + + echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >> ${S}/.config + + if [ "${TARGET_OS}" == "linux-gnueabi" ]; then + echo "CONFIG_AEABI=y" >> ${S}/.config + echo "CONFIG_OABI_COMPAT=y" >> ${S}/.config + else + echo "# CONFIG_AEABI is not set" >> ${S}/.config + echo "# CONFIG_OABI_COMPAT is not set" >> ${S}/.config + fi + + sed -e '/CONFIG_AEABI/d' \ + -e '/CONFIG_OABI_COMPAT=/d' \ + -e '/CONFIG_CMDLINE=/d' \ + -e '/CONFIG_MTD_MTDRAM_SA1100=/d' \ + -e '/CONFIG_MTDRAM_TOTAL_SIZE=/d' \ + -e '/CONFIG_MTDRAM_ERASE_SIZE=/d' \ + -e '/CONFIG_MTDRAM_ABS_POS=/d' \ + '${WORKDIR}/defconfig-${VANILLA_VERSION}-${MACHINE}' >>'${S}/.config' + + yes '' | oe_runmake oldconfig +} + +############################################################### +# put into deploy directory and append u-boot header +# +do_deploy() { + install -d ${DEPLOY_DIR_IMAGE} + install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${PR}-${MACHINE}-${DATETIME}.bin + tar -cvzf ${DEPLOY_DIR_IMAGE}/modules-${KERNEL_RELEASE}-${PR}-${MACHINE}.tgz -C ${D} lib + ${OBJCOPY} -O binary -R .note -R .comment -S vmlinux linux.bin + rm -f linux.bin.gz + gzip -9 linux.bin + uboot-mkimage -A arm -O linux -T kernel -C gzip -a 30008000 -e 30008000 -n "OpenMoko Kernel Image Neo1973(GTA01)" -d linux.bin.gz ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE}-${DATETIME}.bin + rm -f linux.bin.gz +} + +do_deploy[dirs] = "${S}" + +addtask prepatch before do_patch after do_unpack +addtask deploy before do_package after do_install + diff --git a/packages/obsolete/nslu2/nslu2-kernel/files/.mtn2git_empty b/packages/linux/linux-z/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/obsolete/nslu2/nslu2-kernel/files/.mtn2git_empty +++ b/packages/linux/linux-z/.mtn2git_empty diff --git a/packages/sqlite/sqlite3-3.3.7/.mtn2git_empty b/packages/linux/linux-z/shark/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/sqlite/sqlite3-3.3.7/.mtn2git_empty +++ b/packages/linux/linux-z/shark/.mtn2git_empty diff --git a/packages/linux/linux-z/shark/defconfig b/packages/linux/linux-z/shark/defconfig new file mode 100644 index 0000000000..c9b11665db --- /dev/null +++ b/packages/linux/linux-z/shark/defconfig @@ -0,0 +1,1126 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.18-rc3 +# Tue Jan 16 00:41:41 2007 +# +CONFIG_ARM=y +CONFIG_MMU=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" + +# +# Code maturity level options +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +# CONFIG_POSIX_MQUEUE is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set +CONFIG_SYSCTL=y +# CONFIG_AUDIT is not set +# CONFIG_IKCONFIG is not set +# CONFIG_RELAY is not set +CONFIG_INITRAMFS_SOURCE="" +CONFIG_UID16=y +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +# CONFIG_EMBEDDED is not set +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_RT_MUTEXES=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SHMEM=y +CONFIG_SLAB=y +CONFIG_VM_EVENT_COUNTERS=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 +# CONFIG_SLOB is not set + +# +# Loadable module support +# +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_KMOD=y + +# +# Block layer +# +# CONFIG_BLK_DEV_IO_TRACE is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +# CONFIG_DEFAULT_AS is not set +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" + +# +# System Type +# +# CONFIG_ARCH_AAEC2000 is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_CLPS7500 is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_CO285 is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_IMX is not set +# CONFIG_ARCH_IOP3XX is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP23XX is not set +# CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_PNX4008 is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C2410 is not set +CONFIG_ARCH_SHARK=y +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_OMAP is not set + +# +# Processor Type +# +CONFIG_CPU_32=y +CONFIG_CPU_SA110=y +CONFIG_CPU_32v4=y +CONFIG_CPU_ABRT_EV4=y +CONFIG_CPU_CACHE_V4WB=y +CONFIG_CPU_CACHE_VIVT=y +CONFIG_CPU_COPY_V4WB=y +CONFIG_CPU_TLB_V4WB=y + +# +# Processor Features +# +# CONFIG_KEXEC is not set + +# +# Bus support +# +CONFIG_ISA=y +CONFIG_ISA_DMA=y +CONFIG_ISA_DMA_API=y +CONFIG_PCI=y +CONFIG_PCI_HOST_VIA82C505=y +# CONFIG_PCI_DEBUG is not set + +# +# PCCARD (PCMCIA/CardBus) support +# +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +# CONFIG_PREEMPT is not set +# CONFIG_NO_IDLE_HZ is not set +CONFIG_HZ=100 +# CONFIG_AEABI is not set +# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +# CONFIG_SPARSEMEM_STATIC is not set +CONFIG_SPLIT_PTLOCK_CPUS=4096 +# CONFIG_RESOURCES_64BIT is not set +CONFIG_LEDS=y +CONFIG_LEDS_TIMER=y +# CONFIG_LEDS_CPU is not set +CONFIG_ALIGNMENT_TRAP=y + +# +# Boot options +# +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_CMDLINE="" +# CONFIG_XIP_KERNEL is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_FPE_NWFPE=y +# CONFIG_FPE_NWFPE_XP is not set +# CONFIG_FPE_FASTFPE is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_BINFMT_AOUT is not set +# CONFIG_BINFMT_MISC is not set +# CONFIG_ARTHUR is not set + +# +# Power management options +# +# CONFIG_PM is not set +# CONFIG_APM is not set + +# +# Networking +# +CONFIG_NET=y + +# +# Networking options +# +# CONFIG_NETDEBUG is not set +CONFIG_PACKET=y +# CONFIG_PACKET_MMAP is not set +CONFIG_UNIX=y +# CONFIG_NET_KEY is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_FIB_HASH=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +# CONFIG_IP_PNP_RARP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE is not set +CONFIG_IP_MROUTE=y +CONFIG_IP_PIMSM_V1=y +CONFIG_IP_PIMSM_V2=y +# CONFIG_ARPD is not set +CONFIG_SYN_COOKIES=y +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_TUNNEL is not set +# CONFIG_INET_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_DIAG is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_BIC=y +# CONFIG_IPV6 is not set +# CONFIG_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETFILTER is not set + +# +# DCCP Configuration (EXPERIMENTAL) +# +# CONFIG_IP_DCCP is not set + +# +# SCTP Configuration (EXPERIMENTAL) +# +# CONFIG_IP_SCTP is not set + +# +# TIPC Configuration (EXPERIMENTAL) +# +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_BRIDGE is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_NET_DIVERT is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set + +# +# QoS and/or fair queueing +# +# CONFIG_NET_SCHED is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_IEEE80211 is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +# CONFIG_STANDALONE is not set +CONFIG_PREVENT_FIRMWARE_BUILD=y +# CONFIG_FW_LOADER is not set +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_SYS_HYPERVISOR is not set + +# +# Connector - unified userspace <-> kernelspace linker +# +# CONFIG_CONNECTOR is not set + +# +# Memory Technology Devices (MTD) +# +# CONFIG_MTD is not set + +# +# Parallel port support +# +CONFIG_PARPORT=m +CONFIG_PARPORT_PC=m +# CONFIG_PARPORT_SERIAL is not set +# CONFIG_PARPORT_PC_FIFO is not set +# CONFIG_PARPORT_PC_SUPERIO is not set +# CONFIG_PARPORT_GSC is not set +# CONFIG_PARPORT_AX88796 is not set +# CONFIG_PARPORT_1284 is not set + +# +# Plug and Play support +# +# CONFIG_PNP is not set + +# +# Block devices +# +# CONFIG_BLK_DEV_XD is not set +# CONFIG_PARIDE is not set +# CONFIG_BLK_CPQ_DA is not set +# CONFIG_BLK_CPQ_CISS_DA is not set +# CONFIG_BLK_DEV_DAC960 is not set +# CONFIG_BLK_DEV_UMEM is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +CONFIG_BLK_DEV_NBD=m +# CONFIG_BLK_DEV_SX8 is not set +CONFIG_BLK_DEV_RAM=m +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 +# CONFIG_BLK_DEV_INITRD is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set + +# +# ATA/ATAPI/MFM/RLL support +# +CONFIG_IDE=m +CONFIG_BLK_DEV_IDE=m + +# +# Please see Documentation/ide.txt for help/info on IDE drives +# +# CONFIG_BLK_DEV_IDE_SATA is not set +CONFIG_BLK_DEV_IDEDISK=m +# CONFIG_IDEDISK_MULTI_MODE is not set +CONFIG_BLK_DEV_IDECD=m +# CONFIG_BLK_DEV_IDETAPE is not set +CONFIG_BLK_DEV_IDEFLOPPY=m +# CONFIG_BLK_DEV_IDESCSI is not set +# CONFIG_IDE_TASK_IOCTL is not set + +# +# IDE chipset support/bugfixes +# +CONFIG_IDE_GENERIC=m +# CONFIG_BLK_DEV_IDEPCI is not set +CONFIG_IDE_ARM=y +# CONFIG_IDE_CHIPSETS is not set +# CONFIG_BLK_DEV_IDEDMA is not set +# CONFIG_IDEDMA_AUTO is not set +# CONFIG_BLK_DEV_HD is not set + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=m +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=m +CONFIG_CHR_DEV_ST=m +# CONFIG_CHR_DEV_OSST is not set +CONFIG_BLK_DEV_SR=m +# CONFIG_BLK_DEV_SR_VENDOR is not set +CONFIG_CHR_DEV_SG=m +# CONFIG_CHR_DEV_SCH is not set + +# +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs +# +# CONFIG_SCSI_MULTI_LUN is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set + +# +# SCSI Transport Attributes +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set + +# +# SCSI low-level drivers +# +# CONFIG_ISCSI_TCP is not set +# CONFIG_BLK_DEV_3W_XXXX_RAID is not set +# CONFIG_SCSI_3W_9XXX is not set +# CONFIG_SCSI_7000FASST is not set +# CONFIG_SCSI_ACARD is not set +# CONFIG_SCSI_AHA152X is not set +# CONFIG_SCSI_AHA1542 is not set +# CONFIG_SCSI_AACRAID is not set +# CONFIG_SCSI_AIC7XXX is not set +# CONFIG_SCSI_AIC7XXX_OLD is not set +# CONFIG_SCSI_AIC79XX is not set +# CONFIG_SCSI_DPT_I2O is not set +# CONFIG_SCSI_IN2000 is not set +# CONFIG_MEGARAID_NEWGEN is not set +# CONFIG_MEGARAID_LEGACY is not set +# CONFIG_MEGARAID_SAS is not set +# CONFIG_SCSI_SATA is not set +# CONFIG_SCSI_HPTIOP is not set +# CONFIG_SCSI_BUSLOGIC is not set +# CONFIG_SCSI_DMX3191D is not set +# CONFIG_SCSI_DTC3280 is not set +# CONFIG_SCSI_EATA is not set +# CONFIG_SCSI_FUTURE_DOMAIN is not set +# CONFIG_SCSI_GDTH is not set +# CONFIG_SCSI_GENERIC_NCR5380 is not set +# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set +# CONFIG_SCSI_IPS is not set +# CONFIG_SCSI_INITIO is not set +# CONFIG_SCSI_INIA100 is not set +# CONFIG_SCSI_PPA is not set +# CONFIG_SCSI_IMM is not set +# CONFIG_SCSI_NCR53C406A is not set +# CONFIG_SCSI_SYM53C8XX_2 is not set +# CONFIG_SCSI_IPR is not set +# CONFIG_SCSI_PAS16 is not set +# CONFIG_SCSI_PSI240I is not set +# CONFIG_SCSI_QLOGIC_FAS is not set +# CONFIG_SCSI_QLOGIC_1280 is not set +# CONFIG_SCSI_QLA_FC is not set +# CONFIG_SCSI_LPFC is not set +# CONFIG_SCSI_SYM53C416 is not set +# CONFIG_SCSI_DC395x is not set +# CONFIG_SCSI_DC390T is not set +# CONFIG_SCSI_T128 is not set +# CONFIG_SCSI_U14_34F is not set +# CONFIG_SCSI_NSP32 is not set +# CONFIG_SCSI_DEBUG is not set + +# +# Multi-device support (RAID and LVM) +# +# CONFIG_MD is not set + +# +# Fusion MPT device support +# +# CONFIG_FUSION is not set +# CONFIG_FUSION_SPI is not set +# CONFIG_FUSION_FC is not set +# CONFIG_FUSION_SAS is not set + +# +# IEEE 1394 (FireWire) support +# +# CONFIG_IEEE1394 is not set + +# +# I2O device support +# +# CONFIG_I2O is not set + +# +# Network device support +# +CONFIG_NETDEVICES=y +# CONFIG_DUMMY is not set +# CONFIG_BONDING is not set +# CONFIG_EQUALIZER is not set +CONFIG_TUN=m + +# +# ARCnet devices +# +# CONFIG_ARCNET is not set + +# +# PHY device support +# +# CONFIG_PHYLIB is not set + +# +# Ethernet (10 or 100Mbit) +# +CONFIG_NET_ETHERNET=y +# CONFIG_MII is not set +# CONFIG_HAPPYMEAL is not set +# CONFIG_SUNGEM is not set +# CONFIG_CASSINI is not set +# CONFIG_NET_VENDOR_3COM is not set +# CONFIG_LANCE is not set +# CONFIG_NET_VENDOR_SMC is not set +# CONFIG_SMC91X is not set +# CONFIG_DM9000 is not set +# CONFIG_NET_VENDOR_RACAL is not set + +# +# Tulip family network device support +# +# CONFIG_NET_TULIP is not set +# CONFIG_AT1700 is not set +# CONFIG_DEPCA is not set +# CONFIG_HP100 is not set +# CONFIG_NET_ISA is not set +CONFIG_NET_PCI=y +# CONFIG_PCNET32 is not set +# CONFIG_AMD8111_ETH is not set +# CONFIG_ADAPTEC_STARFIRE is not set +# CONFIG_AC3200 is not set +# CONFIG_APRICOT is not set +# CONFIG_B44 is not set +# CONFIG_FORCEDETH is not set +CONFIG_CS89x0=y +# CONFIG_DGRS is not set +# CONFIG_EEPRO100 is not set +# CONFIG_E100 is not set +# CONFIG_FEALNX is not set +# CONFIG_NATSEMI is not set +# CONFIG_NE2K_PCI is not set +# CONFIG_8139CP is not set +# CONFIG_8139TOO is not set +# CONFIG_SIS900 is not set +# CONFIG_EPIC100 is not set +# CONFIG_SUNDANCE is not set +# CONFIG_TLAN is not set +# CONFIG_VIA_RHINE is not set +# CONFIG_NET_POCKET is not set + +# +# Ethernet (1000 Mbit) +# +# CONFIG_ACENIC is not set +# CONFIG_DL2K is not set +# CONFIG_E1000 is not set +# CONFIG_NS83820 is not set +# CONFIG_HAMACHI is not set +# CONFIG_YELLOWFIN is not set +# CONFIG_R8169 is not set +# CONFIG_SIS190 is not set +# CONFIG_SKGE is not set +# CONFIG_SKY2 is not set +# CONFIG_SK98LIN is not set +# CONFIG_VIA_VELOCITY is not set +# CONFIG_TIGON3 is not set +# CONFIG_BNX2 is not set + +# +# Ethernet (10000 Mbit) +# +# CONFIG_CHELSIO_T1 is not set +# CONFIG_IXGB is not set +# CONFIG_S2IO is not set +# CONFIG_MYRI10GE is not set + +# +# Token Ring devices +# +# CONFIG_TR is not set + +# +# Wireless LAN (non-hamradio) +# +# CONFIG_NET_RADIO is not set + +# +# Wan interfaces +# +# CONFIG_WAN is not set +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +# CONFIG_PLIP is not set +CONFIG_PPP=m +CONFIG_PPP_MULTILINK=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_ASYNC=m +CONFIG_PPP_SYNC_TTY=m +CONFIG_PPP_DEFLATE=m +CONFIG_PPP_BSDCOMP=m +# CONFIG_PPP_MPPE is not set +CONFIG_PPPOE=m +# CONFIG_SLIP is not set +# CONFIG_NET_FC is not set +# CONFIG_SHAPER is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set + +# +# ISDN subsystem +# +# CONFIG_ISDN is not set + +# +# Input device support +# +CONFIG_INPUT=y + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +# CONFIG_INPUT_JOYDEV is not set +# CONFIG_INPUT_TSDEV is not set +# CONFIG_INPUT_EVDEV is not set +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_NEWTON is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_INPORT is not set +# CONFIG_MOUSE_LOGIBM is not set +# CONFIG_MOUSE_PC110PAD is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_I8042=y +# CONFIG_SERIO_SERPORT is not set +# CONFIG_SERIO_PARKBD is not set +# CONFIG_SERIO_PCIPS2 is not set +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_PCI=y +CONFIG_SERIAL_8250_NR_UARTS=4 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +# CONFIG_SERIAL_8250_EXTENDED is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_JSM is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_LEGACY_PTYS is not set +CONFIG_PRINTER=m +# CONFIG_LP_CONSOLE is not set +# CONFIG_PPDEV is not set +# CONFIG_TIPAR is not set + +# +# IPMI +# +# CONFIG_IPMI_HANDLER is not set + +# +# Watchdog Cards +# +# CONFIG_WATCHDOG is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_NVRAM is not set +# CONFIG_DTLK is not set +# CONFIG_R3964 is not set +# CONFIG_APPLICOM is not set + +# +# Ftape, the floppy tape device driver +# +# CONFIG_DRM is not set +# CONFIG_RAW_DRIVER is not set + +# +# TPM devices +# +# CONFIG_TCG_TPM is not set +# CONFIG_TELCLOCK is not set + +# +# I2C support +# +# CONFIG_I2C is not set + +# +# SPI support +# +# CONFIG_SPI is not set +# CONFIG_SPI_MASTER is not set + +# +# Dallas's 1-wire bus +# + +# +# Hardware Monitoring support +# +# CONFIG_HWMON is not set +# CONFIG_HWMON_VID is not set + +# +# Misc devices +# + +# +# LED devices +# +# CONFIG_NEW_LEDS is not set + +# +# LED drivers +# + +# +# LED Triggers +# + +# +# Multimedia devices +# +# CONFIG_VIDEO_DEV is not set +CONFIG_VIDEO_V4L2=y + +# +# Digital Video Broadcasting Devices +# +# CONFIG_DVB is not set + +# +# Graphics support +# +CONFIG_FIRMWARE_EDID=y +CONFIG_FB=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set +CONFIG_FB_CYBER2000=y +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_IMSTT is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set +# CONFIG_FB_VOODOO1 is not set +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_VIRTUAL is not set + +# +# Console display driver support +# +# CONFIG_VGA_CONSOLE is not set +# CONFIG_MDA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +# CONFIG_FONTS is not set +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y + +# +# Logo configuration +# +CONFIG_LOGO=y +# CONFIG_LOGO_LINUX_MONO is not set +# CONFIG_LOGO_LINUX_VGA16 is not set +CONFIG_LOGO_LINUX_CLUT224=y +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set + +# +# Sound +# +CONFIG_SOUND=y + +# +# Advanced Linux Sound Architecture +# +# CONFIG_SND is not set + +# +# Open Sound System +# +CONFIG_SOUND_PRIME=y +# CONFIG_SOUND_BT878 is not set +# CONFIG_SOUND_EMU10K1 is not set +# CONFIG_SOUND_FUSION is not set +# CONFIG_SOUND_ES1371 is not set +# CONFIG_SOUND_ICH is not set +# CONFIG_SOUND_TRIDENT is not set +# CONFIG_SOUND_MSNDCLAS is not set +# CONFIG_SOUND_MSNDPIN is not set +# CONFIG_SOUND_VIA82CXXX is not set +CONFIG_SOUND_OSS=y +# CONFIG_SOUND_TRACEINIT is not set +# CONFIG_SOUND_DMAP is not set +# CONFIG_SOUND_AD1816 is not set +# CONFIG_SOUND_AD1889 is not set +# CONFIG_SOUND_ADLIB is not set +# CONFIG_SOUND_ACI_MIXER is not set +# CONFIG_SOUND_CS4232 is not set +# CONFIG_SOUND_SSCAPE is not set +# CONFIG_SOUND_VMIDI is not set +# CONFIG_SOUND_TRIX is not set +# CONFIG_SOUND_MSS is not set +# CONFIG_SOUND_MPU401 is not set +# CONFIG_SOUND_NM256 is not set +# CONFIG_SOUND_PAS is not set +# CONFIG_SOUND_PSS is not set +CONFIG_SOUND_SB=m +# CONFIG_SOUND_YM3812 is not set +# CONFIG_SOUND_OPL3SA2 is not set +# CONFIG_SOUND_UART6850 is not set +# CONFIG_SOUND_AEDSP16 is not set +# CONFIG_SOUND_KAHLUA is not set + +# +# USB support +# +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB_ARCH_HAS_EHCI=y +# CONFIG_USB is not set + +# +# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' +# + +# +# USB Gadget Support +# +# CONFIG_USB_GADGET is not set + +# +# MMC/SD Card support +# +# CONFIG_MMC is not set + +# +# Real Time Clock +# +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set + +# +# File systems +# +CONFIG_EXT2_FS=m +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +CONFIG_EXT3_FS=m +CONFIG_EXT3_FS_XATTR=y +# CONFIG_EXT3_FS_POSIX_ACL is not set +# CONFIG_EXT3_FS_SECURITY is not set +CONFIG_JBD=m +# CONFIG_JBD_DEBUG is not set +CONFIG_FS_MBCACHE=m +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_FS_POSIX_ACL is not set +# CONFIG_XFS_FS is not set +# CONFIG_OCFS2_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_ROMFS_FS is not set +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +CONFIG_DNOTIFY=y +# CONFIG_AUTOFS_FS is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=m +CONFIG_JOLIET=y +# CONFIG_ZISOFS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=m +CONFIG_MSDOS_FS=m +CONFIG_VFAT_FS=m +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +# CONFIG_HUGETLB_PAGE is not set +CONFIG_RAMFS=y +# CONFIG_CONFIGFS_FS is not set + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +# CONFIG_CRAMFS is not set +# CONFIG_VXFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set + +# +# Network File Systems +# +CONFIG_NFS_FS=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_DIRECTIO is not set +# CONFIG_NFSD is not set +CONFIG_ROOT_NFS=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_RPCSEC_GSS_KRB5 is not set +# CONFIG_RPCSEC_GSS_SPKM3 is not set +# CONFIG_SMB_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +# CONFIG_9P_FS is not set + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +# CONFIG_EFI_PARTITION is not set + +# +# Native Language Support +# +CONFIG_NLS=m +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=m +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +CONFIG_NLS_CODEPAGE_850=m +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +# CONFIG_NLS_ASCII is not set +CONFIG_NLS_ISO8859_1=m +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_UTF8 is not set + +# +# Profiling support +# +# CONFIG_PROFILING is not set + +# +# Kernel hacking +# +# CONFIG_PRINTK_TIME is not set +# CONFIG_MAGIC_SYSRQ is not set +# CONFIG_UNUSED_SYMBOLS is not set +CONFIG_DEBUG_KERNEL=y +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_DETECT_SOFTLOCKUP=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_DEBUG_SLAB is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_RT_MUTEX_TESTER is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_RWSEMS is not set +# CONFIG_DEBUG_SPINLOCK_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_INFO is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_DEBUG_VM is not set +CONFIG_FRAME_POINTER=y +# CONFIG_UNWIND_INFO is not set +CONFIG_FORCED_INLINING=y +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_DEBUG_USER=y +# CONFIG_DEBUG_WAITQ is not set +# CONFIG_DEBUG_ERRORS is not set +# CONFIG_DEBUG_LL is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set + +# +# Cryptographic options +# +# CONFIG_CRYPTO is not set + +# +# Hardware crypto devices +# + +# +# Library routines +# +CONFIG_CRC_CCITT=m +# CONFIG_CRC16 is not set +CONFIG_CRC32=y +# CONFIG_LIBCRC32C is not set +CONFIG_ZLIB_INFLATE=m +CONFIG_ZLIB_DEFLATE=m +CONFIG_PLIST=y diff --git a/packages/linux/linux-z_2.6.20.bb b/packages/linux/linux-z_2.6.20.bb new file mode 100644 index 0000000000..b707a2649b --- /dev/null +++ b/packages/linux/linux-z_2.6.20.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "2.6 Linux Development Kernel for the DNARD/Shark, SIMpad." +SECTION = "kernel" +LICENSE = "GPL" + +inherit kernel + +S = "${WORKDIR}/git" +SRC_URI = "git://www.openembedded.org/~zecke/git/linux/linux-2.6/.git;protocol=http \ + file://defconfig" + + +RPROVIDES_kernel-image += "hostap-modules" + +COMPATIBLE_HOST = "(arm).*-linux" +COMPATIBLE_MACHINE = '(shark)' + + +KERNEL_IMAGETYPE = "zImage" + + +do_configure_prepend() { + install -m 0644 ${WORKDIR}/defconfig ${S}/.config +} diff --git a/packages/linux/linux/progear/progear_bl-r6.patch b/packages/linux/linux/progear/progear_bl-r6.patch index 5ef7469ff3..6ac01714b7 100644 --- a/packages/linux/linux/progear/progear_bl-r6.patch +++ b/packages/linux/linux/progear/progear_bl-r6.patch @@ -7,35 +7,34 @@ driver by M Schacht. Signed-Off-By: Marcin Juszkiewicz <openembedded@hrw.one.pl> --- -Patch follow kernel version 2.6.19-rc6 +Patch follow kernel version 2.6.20 Kconfig | 8 +++ - Makefile | 1 - progear_bl.c | 155 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 164 insertions(+) + Makefile | 1 + progear_bl.c | 154 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 163 insertions(+) - -Index: linux-2.6.20/drivers/video/backlight/Kconfig +Index: git/drivers/video/backlight/Kconfig =================================================================== ---- linux-2.6.20.orig/drivers/video/backlight/Kconfig 2007-02-04 19:44:54.000000000 +0100 -+++ linux-2.6.20/drivers/video/backlight/Kconfig 2007-02-05 16:13:13.000000000 +0100 +--- git.orig/drivers/video/backlight/Kconfig 2006-12-29 17:31:36.511043439 +0100 ++++ git/drivers/video/backlight/Kconfig 2007-02-07 08:57:31.020095845 +0100 @@ -66,3 +66,11 @@ If you have a HP Jornada 680, say y to enable the backlight driver. +config BACKLIGHT_PROGEAR + tristate "Frontpath ProGear Backlight Driver" -+ depends on BACKLIGHT_DEVICE && PCI ++ depends on BACKLIGHT_DEVICE && PCI && X86 + default y + help + If you have a Frontpath ProGear say Y to enable the + backlight driver. + -Index: linux-2.6.20/drivers/video/backlight/progear_bl.c +Index: git/drivers/video/backlight/progear_bl.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.20/drivers/video/backlight/progear_bl.c 2007-02-05 16:29:14.000000000 +0100 -@@ -0,0 +1,157 @@ ++++ git/drivers/video/backlight/progear_bl.c 2007-02-07 08:55:46.813993140 +0100 +@@ -0,0 +1,154 @@ +/* + * Backlight Driver for Frontpath ProGear HX1050+ + * @@ -68,123 +67,120 @@ Index: linux-2.6.20/drivers/video/backlight/progear_bl.c +#define HW_LEVEL_MAX 0x77 +#define HW_LEVEL_MIN 0x4f + -+static int progearbl_intensity; -+static struct backlight_properties progearbl_data; -+static struct backlight_device *progear_backlight_device; -+ +static struct pci_dev *pmu_dev = NULL; +static struct pci_dev *sb_dev = NULL; + -+static int progearbl_send_intensity(struct backlight_device *bd) ++static int progearbl_set_intensity(struct backlight_device *bd) +{ -+ int intensity = bd->props->brightness; ++ int intensity = bd->props->brightness; + -+ if (bd->props->power != FB_BLANK_UNBLANK) -+ intensity = 0; -+ if (bd->props->fb_blank != FB_BLANK_UNBLANK) -+ intensity = 0; ++ if (bd->props->power != FB_BLANK_UNBLANK) ++ intensity = 0; ++ if (bd->props->fb_blank != FB_BLANK_UNBLANK) ++ intensity = 0; + -+ pci_write_config_byte(pmu_dev, PMU_LPCR, intensity + HW_LEVEL_MIN); ++ pci_write_config_byte(pmu_dev, PMU_LPCR, intensity + HW_LEVEL_MIN); + -+ progearbl_intensity = intensity; -+ -+ return 0; ++ return 0; +} + +static int progearbl_get_intensity(struct backlight_device *bd) +{ -+ return progearbl_intensity; -+} -+ -+static int progearbl_set_intensity(struct backlight_device *bd) -+{ -+ progearbl_send_intensity(progear_backlight_device); ++ u8 intensity; ++ pci_read_config_byte(pmu_dev, PMU_LPCR, &intensity); + -+ return 0; ++ return intensity - HW_LEVEL_MIN; +} + +static struct backlight_properties progearbl_data = { -+ .owner = THIS_MODULE, -+ .get_brightness = progearbl_get_intensity, -+ .update_status = progearbl_set_intensity, ++ .owner = THIS_MODULE, ++ .get_brightness = progearbl_get_intensity, ++ .update_status = progearbl_set_intensity, +}; + +static int progearbl_probe(struct platform_device *pdev) +{ -+ u8 temp; -+ -+ pmu_dev = pci_get_device(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M7101, 0); -+ if (!pmu_dev) { -+ printk("ALI M7101 PMU not found.\n"); -+ return -ENODEV; -+ } -+ -+ sb_dev = pci_get_device(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M1533, 0); -+ if (!sb_dev) { -+ printk("ALI 1533 SB not found.\n"); -+ pci_dev_put(pmu_dev); -+ return -ENODEV; -+ } -+ -+ /* Set SB_MPS1 to enable brightness control. */ -+ pci_read_config_byte(sb_dev, SB_MPS1, &temp); -+ pci_write_config_byte(sb_dev, SB_MPS1, temp | 0x20); -+ -+ progear_backlight_device = backlight_device_register("progear-bl", -+ &pdev->dev, NULL, &progearbl_data); -+ if (IS_ERR(progear_backlight_device)) -+ return PTR_ERR(progear_backlight_device); -+ -+ progearbl_data.power = FB_BLANK_UNBLANK; -+ progearbl_data.brightness = HW_LEVEL_MAX - HW_LEVEL_MIN; -+ progearbl_data.max_brightness = HW_LEVEL_MAX - HW_LEVEL_MIN; -+ progearbl_send_intensity(progear_backlight_device); -+ -+ return 0; ++ u8 temp; ++ struct backlight_device *progear_backlight_device; ++ ++ pmu_dev = pci_get_device(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M7101, 0); ++ if (!pmu_dev) { ++ printk("ALI M7101 PMU not found.\n"); ++ return -ENODEV; ++ } ++ ++ sb_dev = pci_get_device(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M1533, 0); ++ if (!sb_dev) { ++ printk("ALI 1533 SB not found.\n"); ++ pci_dev_put(pmu_dev); ++ return -ENODEV; ++ } ++ ++ /* Set SB_MPS1 to enable brightness control. */ ++ pci_read_config_byte(sb_dev, SB_MPS1, &temp); ++ pci_write_config_byte(sb_dev, SB_MPS1, temp | 0x20); ++ ++ progear_backlight_device = backlight_device_register("progear-bl", ++ &pdev->dev, NULL, ++ &progearbl_data); ++ if (IS_ERR(progear_backlight_device)) ++ return PTR_ERR(progear_backlight_device); ++ ++ platform_set_drvdata(pdev, progear_backlight_device); ++ ++ progearbl_data.power = FB_BLANK_UNBLANK; ++ progearbl_data.brightness = HW_LEVEL_MAX - HW_LEVEL_MIN; ++ progearbl_data.max_brightness = HW_LEVEL_MAX - HW_LEVEL_MIN; ++ progearbl_set_intensity(progear_backlight_device); ++ ++ return 0; +} + -+static int progearbl_remove(struct platform_device *dev) ++static int progearbl_remove(struct platform_device *pdev) +{ -+ backlight_device_unregister(progear_backlight_device); ++ struct backlight_device *bd = platform_get_drvdata(pdev); ++ backlight_device_unregister(bd); + -+ return 0; ++ return 0; +} + +static struct platform_driver progearbl_driver = { -+ .probe = progearbl_probe, -+ .remove = progearbl_remove, -+ .driver = { -+ .name = "progear-bl", -+ }, ++ .probe = progearbl_probe, ++ .remove = progearbl_remove, ++ .driver = { ++ .name = "progear-bl", ++ }, +}; + +static struct platform_device *progearbl_device; + +static int __init progearbl_init(void) +{ -+ int ret = platform_driver_register(&progearbl_driver); -+ if (!ret) { -+ progearbl_device = platform_device_alloc("progear-bl", -1); -+ if (!progearbl_device) -+ return -ENOMEM; -+ -+ ret = platform_device_add(progearbl_device); -+ -+ if (ret) { -+ platform_device_put(progearbl_device); -+ platform_driver_unregister(&progearbl_driver); -+ } -+ } -+ return ret; ++ int ret = platform_driver_register(&progearbl_driver); ++ ++ if (!ret) { ++ progearbl_device = platform_device_alloc("progear-bl", -1); ++ if (!progearbl_device) ++ return -ENOMEM; ++ ++ ret = platform_device_add(progearbl_device); ++ ++ if (ret) { ++ platform_device_put(progearbl_device); ++ platform_driver_unregister(&progearbl_driver); ++ } ++ } ++ ++ return ret; +} + +static void __exit progearbl_exit(void) +{ -+ pci_dev_put(pmu_dev); -+ pci_dev_put(sb_dev); ++ pci_dev_put(pmu_dev); ++ pci_dev_put(sb_dev); + -+ platform_device_unregister(progearbl_device); -+ platform_driver_unregister(&progearbl_driver); ++ platform_device_unregister(progearbl_device); ++ platform_driver_unregister(&progearbl_driver); +} + +module_init(progearbl_init); @@ -193,10 +189,10 @@ Index: linux-2.6.20/drivers/video/backlight/progear_bl.c +MODULE_AUTHOR("Marcin Juszkiewicz <linux@hrw.one.pl>"); +MODULE_DESCRIPTION("ProGear Backlight Driver"); +MODULE_LICENSE("GPL"); -Index: linux-2.6.20/drivers/video/backlight/Makefile +Index: git/drivers/video/backlight/Makefile =================================================================== ---- linux-2.6.20.orig/drivers/video/backlight/Makefile 2007-02-04 19:44:54.000000000 +0100 -+++ linux-2.6.20/drivers/video/backlight/Makefile 2007-02-05 16:13:13.000000000 +0100 +--- git.orig/drivers/video/backlight/Makefile 2006-12-29 17:31:36.511043439 +0100 ++++ git/drivers/video/backlight/Makefile 2007-02-06 21:34:54.503712923 +0100 @@ -5,3 +5,4 @@ obj-$(CONFIG_BACKLIGHT_CORGI) += corgi_bl.o obj-$(CONFIG_BACKLIGHT_HP680) += hp680_bl.o diff --git a/packages/sqlite/sqlite3-3.3.9/.mtn2git_empty b/packages/linux/linux/simpad/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/sqlite/sqlite3-3.3.9/.mtn2git_empty +++ b/packages/linux/linux/simpad/.mtn2git_empty diff --git a/packages/linux/linux/simpad/defconfig b/packages/linux/linux/simpad/defconfig new file mode 100644 index 0000000000..a718a46989 --- /dev/null +++ b/packages/linux/linux/simpad/defconfig @@ -0,0 +1,1167 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.20 +# Mon Feb 12 16:35:21 2007 +# +CONFIG_ARM=y +# CONFIG_GENERIC_TIME is not set +CONFIG_MMU=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +# CONFIG_ARCH_HAS_ILOG2_U32 is not set +# CONFIG_ARCH_HAS_ILOG2_U64 is not set +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_ARCH_MTD_XIP=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" + +# +# Code maturity level options +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_LOCK_KERNEL=y +CONFIG_INIT_ENV_ARG_LIMIT=32 + +# +# General setup +# +CONFIG_LOCALVERSION="oe1" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +# CONFIG_IPC_NS is not set +# CONFIG_POSIX_MQUEUE is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set +# CONFIG_UTS_NS is not set +# CONFIG_AUDIT is not set +# CONFIG_IKCONFIG is not set +CONFIG_SYSFS_DEPRECATED=y +# CONFIG_RELAY is not set +CONFIG_INITRAMFS_SOURCE="" +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_EMBEDDED=y +CONFIG_UID16=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +CONFIG_KALLSYMS_EXTRA_PASS=y +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SHMEM=y +CONFIG_SLAB=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_RT_MUTEXES=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 +# CONFIG_SLOB is not set + +# +# Loadable module support +# +CONFIG_MODULES=y +# CONFIG_MODULE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_KMOD=y + +# +# Block layer +# +CONFIG_BLOCK=y +# CONFIG_LBD is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_LSF is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +# CONFIG_DEFAULT_AS is not set +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" + +# +# System Type +# +# CONFIG_ARCH_AAEC2000 is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_CLPS7500 is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_CO285 is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_IMX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP23XX is not set +# CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_PNX4008 is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +CONFIG_ARCH_SA1100=y +# CONFIG_ARCH_S3C2410 is not set +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_OMAP is not set + +# +# SA11x0 Implementations +# +# CONFIG_SA1100_ASSABET is not set +# CONFIG_SA1100_CERF is not set +# CONFIG_SA1100_COLLIE is not set +# CONFIG_SA1100_H3100 is not set +# CONFIG_SA1100_H3600 is not set +# CONFIG_SA1100_H3800 is not set +# CONFIG_SA1100_BADGE4 is not set +# CONFIG_SA1100_JORNADA720 is not set +# CONFIG_SA1100_HACKKIT is not set +# CONFIG_SA1100_LART is not set +# CONFIG_SA1100_PLEB is not set +# CONFIG_SA1100_SHANNON is not set +CONFIG_SA1100_SIMPAD=y +# CONFIG_SA1100_SSP is not set + +# +# Processor Type +# +CONFIG_CPU_32=y +CONFIG_CPU_SA1100=y +CONFIG_CPU_32v4=y +CONFIG_CPU_ABRT_EV4=y +CONFIG_CPU_CACHE_V4WB=y +CONFIG_CPU_CACHE_VIVT=y +CONFIG_CPU_TLB_V4WB=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set + +# +# Bus support +# +CONFIG_ISA=y + +# +# PCCARD (PCMCIA/CardBus) support +# +CONFIG_PCCARD=y +# CONFIG_PCMCIA_DEBUG is not set +CONFIG_PCMCIA=y +CONFIG_PCMCIA_LOAD_CIS=y +CONFIG_PCMCIA_IOCTL=y + +# +# PC-card bridges +# +# CONFIG_I82365 is not set +# CONFIG_TCIC is not set +CONFIG_PCMCIA_SA1100=y + +# +# Kernel Features +# +CONFIG_PREEMPT=y +# CONFIG_NO_IDLE_HZ is not set +CONFIG_HZ=100 +# CONFIG_AEABI is not set +CONFIG_ARCH_DISCONTIGMEM_ENABLE=y +CONFIG_NODES_SHIFT=2 +CONFIG_SELECT_MEMORY_MODEL=y +# CONFIG_FLATMEM_MANUAL is not set +CONFIG_DISCONTIGMEM_MANUAL=y +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_DISCONTIGMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_NEED_MULTIPLE_NODES=y +# CONFIG_SPARSEMEM_STATIC is not set +CONFIG_SPLIT_PTLOCK_CPUS=4096 +# CONFIG_RESOURCES_64BIT is not set +CONFIG_LEDS=y +CONFIG_LEDS_TIMER=y +# CONFIG_LEDS_CPU is not set +CONFIG_ALIGNMENT_TRAP=y + +# +# Boot options +# +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_CMDLINE="mtdparts=sa1100:512k(boot),1m(kernel),-(root) console=ttySA0 root=1f02 noinitrd mem=64M jffs2_orphaned_inodes=delete rootfstype=jffs2" +# CONFIG_XIP_KERNEL is not set + +# +# CPU Frequency scaling +# +# CONFIG_CPU_FREQ is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_FPE_NWFPE=y +# CONFIG_FPE_NWFPE_XP is not set +# CONFIG_FPE_FASTFPE is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_BINFMT_AOUT is not set +CONFIG_BINFMT_MISC=m +# CONFIG_ARTHUR is not set + +# +# Power management options +# +CONFIG_PM=y +# CONFIG_PM_LEGACY is not set +# CONFIG_PM_DEBUG is not set +# CONFIG_PM_SYSFS_DEPRECATED is not set +CONFIG_APM=y + +# +# Networking +# +CONFIG_NET=y + +# +# Networking options +# +# CONFIG_NETDEBUG is not set +CONFIG_PACKET=y +CONFIG_PACKET_MMAP=y +CONFIG_UNIX=y +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_FIB_HASH=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +# CONFIG_IP_PNP_RARP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE is not set +# CONFIG_ARPD is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_TUNNEL is not set +# CONFIG_INET_TUNNEL is not set +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +# CONFIG_IPV6 is not set +# CONFIG_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETFILTER is not set + +# +# DCCP Configuration (EXPERIMENTAL) +# +# CONFIG_IP_DCCP is not set + +# +# SCTP Configuration (EXPERIMENTAL) +# +# CONFIG_IP_SCTP is not set + +# +# TIPC Configuration (EXPERIMENTAL) +# +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_BRIDGE is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set + +# +# QoS and/or fair queueing +# +# CONFIG_NET_SCHED is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +CONFIG_IRDA=m + +# +# IrDA protocols +# +CONFIG_IRLAN=m +CONFIG_IRNET=m +CONFIG_IRCOMM=m +# CONFIG_IRDA_ULTRA is not set + +# +# IrDA options +# +# CONFIG_IRDA_CACHE_LAST_LSAP is not set +# CONFIG_IRDA_FAST_RR is not set +# CONFIG_IRDA_DEBUG is not set + +# +# Infrared-port device drivers +# + +# +# SIR device drivers +# +CONFIG_IRTTY_SIR=m + +# +# Dongle support +# +# CONFIG_DONGLE is not set + +# +# Old SIR device drivers +# +CONFIG_IRPORT_SIR=m + +# +# Old Serial dongle support +# +# CONFIG_DONGLE_OLD is not set + +# +# FIR device drivers +# +CONFIG_SA1100_FIR=m +CONFIG_BT=m +CONFIG_BT_L2CAP=m +CONFIG_BT_SCO=m +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=m +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +# CONFIG_BT_HIDP is not set + +# +# Bluetooth device drivers +# +# CONFIG_BT_HCIUART is not set +# CONFIG_BT_HCIDTL1 is not set +# CONFIG_BT_HCIBT3C is not set +# CONFIG_BT_HCIBLUECARD is not set +# CONFIG_BT_HCIBTUART is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_IEEE80211 is not set +CONFIG_WIRELESS_EXT=y + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_SYS_HYPERVISOR is not set + +# +# Connector - unified userspace <-> kernelspace linker +# +# CONFIG_CONNECTOR is not set + +# +# Memory Technology Devices (MTD) +# +CONFIG_MTD=y +# CONFIG_MTD_DEBUG is not set +CONFIG_MTD_CONCAT=y +CONFIG_MTD_PARTITIONS=y +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_CHAR=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set + +# +# RAM/ROM/Flash chip drivers +# +CONFIG_MTD_CFI=y +CONFIG_MTD_JEDECPROBE=y +CONFIG_MTD_GEN_PROBE=y +CONFIG_MTD_CFI_ADV_OPTIONS=y +CONFIG_MTD_CFI_NOSWAP=y +# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set +# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set +CONFIG_MTD_CFI_GEOMETRY=y +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +# CONFIG_MTD_CFI_I2 is not set +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_OTP is not set +CONFIG_MTD_CFI_INTELEXT=y +# CONFIG_MTD_CFI_AMDSTD is not set +# CONFIG_MTD_CFI_STAA is not set +CONFIG_MTD_CFI_UTIL=y +CONFIG_MTD_RAM=y +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set +# CONFIG_MTD_OBSOLETE_CHIPS is not set +# CONFIG_MTD_XIP is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PHYSMAP is not set +# CONFIG_MTD_ARM_INTEGRATOR is not set +CONFIG_MTD_SA1100=y +# CONFIG_MTD_IMPA7 is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set + +# +# NAND Flash Device Drivers +# +# CONFIG_MTD_NAND is not set + +# +# OneNAND Flash Device Drivers +# +# CONFIG_MTD_ONENAND is not set + +# +# Parallel port support +# +# CONFIG_PARPORT is not set + +# +# Plug and Play support +# +# CONFIG_PNP is not set + +# +# Block devices +# +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_RAM=m +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=8192 +CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 +# CONFIG_BLK_DEV_INITRD is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set + +# +# ATA/ATAPI/MFM/RLL support +# +# CONFIG_IDE is not set + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +# CONFIG_SCSI is not set +# CONFIG_SCSI_NETLINK is not set + +# +# Serial ATA (prod) and Parallel ATA (experimental) drivers +# +# CONFIG_ATA is not set + +# +# Multi-device support (RAID and LVM) +# +# CONFIG_MD is not set + +# +# Fusion MPT device support +# +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# + +# +# I2O device support +# + +# +# Network device support +# +CONFIG_NETDEVICES=y +CONFIG_DUMMY=y +# CONFIG_BONDING is not set +# CONFIG_EQUALIZER is not set +# CONFIG_TUN is not set + +# +# ARCnet devices +# +# CONFIG_ARCNET is not set + +# +# PHY device support +# +# CONFIG_PHYLIB is not set + +# +# Ethernet (10 or 100Mbit) +# +CONFIG_NET_ETHERNET=y +CONFIG_MII=m +# CONFIG_NET_VENDOR_3COM is not set +# CONFIG_NET_VENDOR_SMC is not set +# CONFIG_SMC91X is not set +# CONFIG_DM9000 is not set +# CONFIG_NET_VENDOR_RACAL is not set +# CONFIG_AT1700 is not set +# CONFIG_DEPCA is not set +# CONFIG_HP100 is not set +# CONFIG_NET_ISA is not set +CONFIG_NET_PCI=y +# CONFIG_AC3200 is not set +# CONFIG_APRICOT is not set +# CONFIG_CS89x0 is not set + +# +# Ethernet (1000 Mbit) +# + +# +# Ethernet (10000 Mbit) +# + +# +# Token Ring devices +# +# CONFIG_TR is not set + +# +# Wireless LAN (non-hamradio) +# +CONFIG_NET_RADIO=y +# CONFIG_NET_WIRELESS_RTNETLINK is not set + +# +# Obsolete Wireless cards support (pre-802.11) +# +# CONFIG_STRIP is not set +# CONFIG_ARLAN is not set +# CONFIG_WAVELAN is not set +CONFIG_PCMCIA_WAVELAN=m +# CONFIG_PCMCIA_NETWAVE is not set + +# +# Wireless 802.11 Frequency Hopping cards support +# +# CONFIG_PCMCIA_RAYCS is not set + +# +# Wireless 802.11b ISA/PCI cards support +# +# CONFIG_HERMES is not set +# CONFIG_ATMEL is not set + +# +# Wireless 802.11b Pcmcia/Cardbus cards support +# +# CONFIG_AIRO_CS is not set +# CONFIG_PCMCIA_WL3501 is not set +# CONFIG_HOSTAP is not set +CONFIG_NET_WIRELESS=y + +# +# PCMCIA network device support +# +CONFIG_NET_PCMCIA=y +CONFIG_PCMCIA_3C589=m +CONFIG_PCMCIA_3C574=m +# CONFIG_PCMCIA_FMVJ18X is not set +CONFIG_PCMCIA_PCNET=m +# CONFIG_PCMCIA_NMCLAN is not set +CONFIG_PCMCIA_SMC91C92=m +CONFIG_PCMCIA_XIRC2PS=m +# CONFIG_PCMCIA_AXNET is not set + +# +# Wan interfaces +# +# CONFIG_WAN is not set +CONFIG_PPP=m +CONFIG_PPP_MULTILINK=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_ASYNC=m +CONFIG_PPP_SYNC_TTY=m +CONFIG_PPP_DEFLATE=m +CONFIG_PPP_BSDCOMP=m +# CONFIG_PPP_MPPE is not set +CONFIG_PPPOE=m +# CONFIG_SLIP is not set +CONFIG_SLHC=m +# CONFIG_SHAPER is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set + +# +# ISDN subsystem +# +# CONFIG_ISDN is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_FF_MEMLESS is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=800 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=600 +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_TSDEV=y +CONFIG_INPUT_TSDEV_SCREEN_X=800 +CONFIG_INPUT_TSDEV_SCREEN_Y=600 +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_EVBUG=y + +# +# Input Device Drivers +# +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=m +CONFIG_SERIO_SERPORT=m +# CONFIG_SERIO_LIBPS2 is not set +# CONFIG_SERIO_RAW is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_SA1100=y +CONFIG_SERIAL_SA1100_CONSOLE=y +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_UNIX98_PTYS=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=256 + +# +# IPMI +# +# CONFIG_IPMI_HANDLER is not set + +# +# Watchdog Cards +# +# CONFIG_WATCHDOG is not set +CONFIG_HW_RANDOM=y +# CONFIG_NVRAM is not set +# CONFIG_DTLK is not set +# CONFIG_R3964 is not set + +# +# PCMCIA character devices +# +# CONFIG_SYNCLINK_CS is not set +# CONFIG_CARDMAN_4000 is not set +# CONFIG_CARDMAN_4040 is not set +# CONFIG_RAW_DRIVER is not set + +# +# TPM devices +# +# CONFIG_TCG_TPM is not set + +# +# I2C support +# +# CONFIG_I2C is not set + +# +# SPI support +# +# CONFIG_SPI is not set +# CONFIG_SPI_MASTER is not set + +# +# Dallas's 1-wire bus +# +# CONFIG_W1 is not set + +# +# Hardware Monitoring support +# +CONFIG_HWMON=y +# CONFIG_HWMON_VID is not set +# CONFIG_SENSORS_ABITUGURU is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_HWMON_DEBUG_CHIP is not set + +# +# Misc devices +# +# CONFIG_TIFM_CORE is not set + +# +# Multimedia Capabilities Port drivers +# +CONFIG_MCP=y +CONFIG_MCP_SA11X0=y +CONFIG_MCP_UCB1200=y +CONFIG_MCP_UCB1200_TS=y +CONFIG_MCP_UCB1200_SWITCHES=y + +# +# LED devices +# +# CONFIG_NEW_LEDS is not set + +# +# LED drivers +# + +# +# LED Triggers +# + +# +# Multimedia devices +# +# CONFIG_VIDEO_DEV is not set + +# +# Digital Video Broadcasting Devices +# +# CONFIG_DVB is not set + +# +# Graphics support +# +CONFIG_FIRMWARE_EDID=y +CONFIG_FB=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set +# CONFIG_FB_SA1100 is not set +# CONFIG_FB_S1D13XXX is not set +CONFIG_FB_MQ200=y +# CONFIG_FB_VIRTUAL is not set + +# +# Console display driver support +# +# CONFIG_VGA_CONSOLE is not set +# CONFIG_MDA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +# CONFIG_FONTS is not set +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y + +# +# Logo configuration +# +CONFIG_LOGO=y +CONFIG_LOGO_LINUX_MONO=y +CONFIG_LOGO_LINUX_VGA16=y +CONFIG_LOGO_LINUX_CLUT224=y +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set + +# +# Sound +# +CONFIG_SOUND=y + +# +# Advanced Linux Sound Architecture +# +# CONFIG_SND is not set + +# +# Open Sound System +# +# CONFIG_SOUND_PRIME is not set + +# +# HID Devices +# +CONFIG_HID=y + +# +# USB support +# +CONFIG_USB_ARCH_HAS_HCD=y +# CONFIG_USB_ARCH_HAS_OHCI is not set +# CONFIG_USB_ARCH_HAS_EHCI is not set +# CONFIG_USB is not set + +# +# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' +# + +# +# USB Gadget Support +# +# CONFIG_USB_GADGET is not set + +# +# MMC/SD Card support +# +# CONFIG_MMC is not set + +# +# Real Time Clock +# +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set + +# +# File systems +# +CONFIG_EXT2_FS=m +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +CONFIG_EXT3_FS=m +CONFIG_EXT3_FS_XATTR=y +# CONFIG_EXT3_FS_POSIX_ACL is not set +# CONFIG_EXT3_FS_SECURITY is not set +# CONFIG_EXT4DEV_FS is not set +CONFIG_JBD=m +# CONFIG_JBD_DEBUG is not set +CONFIG_FS_MBCACHE=m +CONFIG_REISERFS_FS=m +# CONFIG_REISERFS_CHECK is not set +CONFIG_REISERFS_PROC_INFO=y +# CONFIG_REISERFS_FS_XATTR is not set +# CONFIG_JFS_FS is not set +CONFIG_FS_POSIX_ACL=y +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_ROMFS_FS is not set +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +CONFIG_DNOTIFY=y +# CONFIG_AUTOFS_FS is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +CONFIG_GENERIC_ACL=y + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=m +CONFIG_MSDOS_FS=m +CONFIG_VFAT_FS=m +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +# CONFIG_HUGETLB_PAGE is not set +CONFIG_RAMFS=y +# CONFIG_CONFIGFS_FS is not set + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +CONFIG_CRAMFS=m +# CONFIG_VXFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set + +# +# Network File Systems +# +CONFIG_NFS_FS=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_DIRECTIO is not set +# CONFIG_NFSD is not set +# CONFIG_ROOT_NFS is not set +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_RPCSEC_GSS_KRB5 is not set +# CONFIG_RPCSEC_GSS_SPKM3 is not set +CONFIG_SMB_FS=m +# CONFIG_SMB_NLS_DEFAULT is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +# CONFIG_9P_FS is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y + +# +# Native Language Support +# +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +CONFIG_NLS_CODEPAGE_850=y +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +# CONFIG_NLS_ASCII is not set +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +CONFIG_NLS_ISO8859_15=y +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_UTF8 is not set + +# +# Distributed Lock Manager +# +# CONFIG_DLM is not set + +# +# Profiling support +# +# CONFIG_PROFILING is not set + +# +# Kernel hacking +# +# CONFIG_PRINTK_TIME is not set +CONFIG_ENABLE_MUST_CHECK=y +# CONFIG_MAGIC_SYSRQ is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +CONFIG_DEBUG_KERNEL=y +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_DETECT_SOFTLOCKUP=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_DEBUG_SLAB is not set +CONFIG_DEBUG_PREEMPT=y +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_RT_MUTEX_TESTER is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_RWSEMS is not set +# CONFIG_DEBUG_SPINLOCK_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_INFO is not set +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_LIST is not set +CONFIG_FRAME_POINTER=y +CONFIG_FORCED_INLINING=y +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_ERRORS=y +CONFIG_DEBUG_LL=y +# CONFIG_DEBUG_ICEDCC is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set + +# +# Cryptographic options +# +# CONFIG_CRYPTO is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_CRC_CCITT=m +# CONFIG_CRC16 is not set +CONFIG_CRC32=y +# CONFIG_LIBCRC32C is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_PLIST=y +CONFIG_IOMAP_COPY=y diff --git a/packages/linux/linux/simpad/linux-2.6.20.SIMpad.mq200.patch b/packages/linux/linux/simpad/linux-2.6.20.SIMpad.mq200.patch new file mode 100644 index 0000000000..6b315de79d --- /dev/null +++ b/packages/linux/linux/simpad/linux-2.6.20.SIMpad.mq200.patch @@ -0,0 +1,1776 @@ +diff -uNr linux-2.6.20.vanilla/drivers/video/Kconfig linux-2.6.20/drivers/video/Kconfig +--- linux-2.6.20.vanilla/drivers/video/Kconfig 2007-02-10 19:02:14.000000000 +0100 ++++ linux-2.6.20/drivers/video/Kconfig 2007-02-11 16:39:54.000000000 +0100 +@@ -1147,6 +1147,18 @@ + help + If you have a S3 Trio say Y. Say N for S3 Virge. + ++config FB_MQ200 ++ bool "MQ200 Driver" ++ depends on (FB = y) && ARM && ARCH_SA1100 ++ select FB_CFB_FILLRECT ++ select FB_CFB_COPYAREA ++ select FB_CFB_IMAGEBLIT ++ help ++ This is a MQ200 driver tested only on Simens SIMpads. You may need to ++ boot your SIMpad with a 2.4 SIMpad Kernel first in order to use this ++ driver. This is also needed if the SIMpad lost his power ++ connection (empty accu or accu disconnect). ++ + config FB_SAVAGE + tristate "S3 Savage support" + depends on FB && PCI && EXPERIMENTAL +diff -uNr linux-2.6.20.vanilla/drivers/video/Makefile linux-2.6.20/drivers/video/Makefile +--- linux-2.6.20.vanilla/drivers/video/Makefile 2007-02-10 19:02:14.000000000 +0100 ++++ linux-2.6.20/drivers/video/Makefile 2007-02-11 16:40:07.000000000 +0100 +@@ -30,6 +30,7 @@ + obj-$(CONFIG_FB_PM2) += pm2fb.o + obj-$(CONFIG_FB_PM3) += pm3fb.o + ++obj-$(CONFIG_FB_MQ200) += mq200/ + obj-$(CONFIG_FB_MATROX) += matrox/ + obj-$(CONFIG_FB_RIVA) += riva/ vgastate.o + obj-$(CONFIG_FB_NVIDIA) += nvidia/ +diff -uNr linux-2.6.20.vanilla/drivers/video/mq200/Makefile linux-2.6.20/drivers/video/mq200/Makefile +--- linux-2.6.20.vanilla/drivers/video/mq200/Makefile 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.20/drivers/video/mq200/Makefile 2007-02-11 16:41:44.000000000 +0100 +@@ -0,0 +1,6 @@ ++# Makefile for mq200 video driver ++# 4 Aug 2003, Holger Hans Peter Freyther ++# 2 Jan 2007, mr nice ++ ++obj-$(CONFIG_FB_MQ200) += mq_skeleton.o mq_external.o ++ +diff -uNr linux-2.6.20.vanilla/drivers/video/mq200/mq200_data.h linux-2.6.20/drivers/video/mq200/mq200_data.h +--- linux-2.6.20.vanilla/drivers/video/mq200/mq200_data.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.20/drivers/video/mq200/mq200_data.h 2007-02-11 16:41:09.000000000 +0100 +@@ -0,0 +1,893 @@ ++/* ++ * From ucLinux mq200fb.c and mq200fb.h ++ */ ++ ++#ifndef __MQ200_FB_H__ ++#define __MQ200_FB_H__ ++ ++struct mq200_io_regions { ++ u32 fb_size; /* framebuffer size */ ++ unsigned long phys_mmio_base; /* physical register memory base */ ++ unsigned long virt_mmio_base; /* virtual start of registers */ ++ unsigned long phys_fb_base; /* physical address of frame buffer */ ++ unsigned long virt_fb_base; /* virtual start of the framebuffer */ ++}; ++ ++#define MQ200_MONITOR_HORI_RES(info) info->monitor_info.horizontal_res ++#define MQ200_MONITOR_VERT_RES(info) info->monitor_info.vertical_res ++#define MQ200_MONITOR_DEPTH(info) info->monitor_info.depth ++#define MQ200_MONITOR_LINE_LENGTH(info) info->monitor_info.line_length ++ ++struct mq200_monitor_info { ++ unsigned int horizontal_res; ++ unsigned int vertical_res; ++ unsigned int depth; ++ unsigned int refresh; ++ unsigned int line_length; ++ unsigned long flags; ++}; ++ ++ ++/** ++ * Addresses of Module ++ */ ++#define MQ200_FB_BASE (x) (x + 0x1800000) /* framebuffer */ ++#define MQ200_FB_SIZE 0x200000 /* framebuffer size in bytes */ ++#define MQ200_REGS_BASE(x) (x + 0x1e00000) /* start of registers area */ ++#define MQ200_REGS_SIZE 0x200000 /* registers area size */ ++ ++#define PMU_OFFSET 0x00000 /* power management */ ++#define CPU_OFFSET 0x02000 /* CPU interface */ ++#define MIU_OFFSET 0x04000 /* memory controller */ ++#define IN_OFFSET 0x08000 /* interrupt controller */ ++#define GC_OFFSET 0x0a000 /* graphics controller 1&2 */ ++#define GE_OFFSET 0x0c000 /* graphics engine */ ++#define FPI_OFFSET 0x0e000 /* flat panel controller */ ++#define CP1_OFFSET 0x10000 /* color palette 1 */ ++#define DC_OFFSET 0x14000 /* device configuration */ ++#define PCI_OFFSET 0x16000 /* PCI configuration */ ++#define PSF_OFFSET 0x18000 /* ??? */ ++ ++ ++/**** ++ * Registers ++ */ ++ ++/* power management unit */ ++#define PMR(addr) (addr + PCI_OFFSET + 0x40)/* power management ++ register */ ++#define PMR_VALUE 0x06210001 /* expected read value of PMR register */ ++#define PM00R(addr) (addr + PMU_OFFSET + 0x00) /* power management unit ++ configuration ++ register */ ++#define PM01R(addr) (addr + PMU_OFFSET + 0x04) /* D1 state control */ ++#define PM02R(addr) (addr + PMU_OFFSET + 0x08) /* d2 state control */ ++#define PM06R(addr) (addr + PMU_OFFSET + 0x18) /* PLL 2 programming */ ++#define PM07R(addr) (addr + PMU_OFFSET + 0x1c) /* PLL 3 programming */ ++ ++#define PMCSR(addr) (addr + PCI_OFFSET + 0x44) /* power management ++ control/status ++ register */ ++ ++/* memory interface unit */ ++#define MM00R(addr) (addr + MIU_OFFSET + 0x00)/* MIU interface control ++ 0 */ ++#define MM01R(addr) (addr + MIU_OFFSET + 0x04) /* MIU interface control ++ 1 */ ++#define MM02R(addr) (addr + MIU_OFFSET + 0x08) /* memory interface ++ control 2 */ ++#define MM03R(addr) (addr + MIU_OFFSET + 0x0c) /* memory interface ++ control 3 */ ++#define MM04R(addr) (addr + MIU_OFFSET + 0x10) /* memory interface ++ control 4 */ ++/* graphics controller 1 module */ ++#define GC00R(addr) (addr + GC_OFFSET + 0x00) /* graphics controller 1 ++ control */ ++#define GC01R(addr) (addr + GC_OFFSET + 0x04) /* graphics controller ++ CRT control */ ++#define GC02R(addr) (addr + GC_OFFSET + 0x08) /* horizontal display 1 ++ control */ ++#define GC03R(addr) (addr + GC_OFFSET + 0x0c) /* vertical display 1 ++ control */ ++#define GC04R(addr) (addr + GC_OFFSET + 0x10) /* horizontal sync 1 ++ control */ ++#define GC05R(addr) (addr + GC_OFFSET + 0x14) /* vertical sync 1 ++ control */ ++#define GC07R(addr) (addr + GC_OFFSET + 0x1c) /* vertical display 1 ++ count */ ++#define GC08R(addr) (addr + GC_OFFSET + 0x20) /* horizontal window 1 ++ control */ ++#define GC09R(addr) (addr + GC_OFFSET + 0x24) /* vertical window 1 ++ control */ ++#define GC0AR(addr) (addr + GC_OFFSET + 0x28) /* alternate horizontal ++ window 1 control */ ++#define GC0BR(addr) (addr + GC_OFFSET + 0x2c) /* alternate vertical ++ window 1 control */ ++#define GC0CR(addr) (addr + GC_OFFSET + 0x30) /* window 1 ++ start address */ ++#define GC0DR(addr) (addr + GC_OFFSET + 0x34) /* alternate window 1 ++ start address */ ++#define GC0ER(addr) (addr + GC_OFFSET + 0x38) /* window 1 stride */ ++#define GC0FR(addr) (addr + GC_OFFSET + 0x3c) /* reserved */ ++#define GC10R(addr) (addr + GC_OFFSET + 0x40) /* hardware cursor 1 ++ position */ ++#define GC11R(addr) (addr + GC_OFFSET + 0x44) /* hardware cursor 1 ++ start address and ++ offset */ ++#define GC12R(addr) (addr + GC_OFFSET + 0x48) /* hardware cursor 1 ++ foreground color */ ++#define GC13R(addr) (addr + GC_OFFSET + 0x4c) /* hardware cursor 1 ++ background color */ ++/* graphics engine */ ++#define ROP_SRCCOPY 0xCC /* dest = source */ ++#define ROP_SRCPAINT 0xEE /* dest = source OR dest */ ++#define ROP_SRCAND 0x88 /* dest = source AND dest */ ++#define ROP_SRCINVERT 0x66 /* dest = source XOR dest */ ++#define ROP_SRCERASE 0x44 /* dest = source AND (NOT dest) */ ++#define ROP_NOTSRCCOPY 0x33 /* dest = NOT source */ ++#define ROP_NOTSRCERASE 0x11 /* dest = (NOT source) AND (NOT dest) */ ++#define ROP_MERGECOPY 0xC0 /* dest = source AND pattern */ ++#define ROP_MERGEPAINT 0xBB /* dest = (NOT source) OR dest */ ++#define ROP_PATCOPY 0xF0 /* dest = pattern */ ++#define ROP_PATPAINT 0xFB /* dest = DPSnoo */ ++#define ROP_PATINVERT 0x5A /* dest = pattern XOR dest */ ++#define ROP_DSTINVERT 0x55 /* dest = NOT dest */ ++#define ROP_BLACKNESS 0x00 /* dest = BLACK */ ++#define ROP_WHITENESS 0xFF /* dest = WHITE */ ++ ++#define GE00R(addr) (addr + GE_OFFSET + 0x00) /* primary drawing command ++ register */ ++#define GE01R(addr) (addr + GE_OFFSET + 0x04) /* primary width and ++ height register */ ++#define GE02R(addr) (addr + GE_OFFSET + 0x08) /* primary destination ++ address register */ ++#define GE03R(addr) (addr + GE_OFFSET + 0x0c) /* primary source XY ++ register */ ++#define GE04R(addr) (addr + GE_OFFSET + 0x10) /* primary color compare ++ register */ ++#define GE05R(addr) (addr + GE_OFFSET + 0x14) /* primary clip left/top ++ register */ ++#define GE06R(addr) (addr + GE_OFFSET + 0x18) /* primary clip ++ right/bottom register ++ */ ++#define GE07R(addr) (addr + GE_OFFSET + 0x1c) /* primary source and ++ pattern offset ++ register */ ++#define GE08R(addr) (addr + GE_OFFSET + 0x20) /* primary foreground ++ color ++ register/rectangle ++ fill register */ ++#define GE09R(addr) (addr + GE_OFFSET + 0x24) /* source stride/offset ++ register */ ++#define GE0AR(addr) (addr + GE_OFFSET + 0x28) /* destination stride ++ register and color ++ depth */ ++#define GE0BR(addr) (addr + GE_OFFSET + 0x2c) /* image base address ++ register */ ++#define GE40R(addr) (addr + GE_OFFSET + 0x100) /* mono pattern register ++ 0 */ ++#define GE41R(addr) (addr + GE_OFFSET + 0x104) /* mono pattern register ++ 1 */ ++#define GE42R(addr) (addr + GE_OFFSET + 0x108) /* foreground color ++ register */ ++#define GE43R(addr) (addr + GE_OFFSET + 0x10c) /* background color ++ register */ ++/* color palette */ ++#define C1xxR(addr, regno) \ ++ (addr + CP1_OFFSET + (regno) * 4) /* graphics controller color ++ palette 1 */ ++/* device configuration */ ++#define DC00R(addr) (addr + DC_OFFSET + 0x00) /* device configuration ++ register 0 */ ++#define DC_RESET 0x4000 ++/* PCI configuration space */ ++#define PC00R(addr) (addr + PCI_OFFSET + 0x00)/* device ID/vendor ID ++ register */ ++/* Flatpanel Control */ ++#define FP00R(addr) (addr + FPI_OFFSET + 0x00) /* Flat Panel Control 0 */ ++#define FP01R(addr) (addr + FPI_OFFSET + 0x04) /* Flat Panel Output Pin */ ++#define FP02R(addr) (addr + FPI_OFFSET + 0x08) /* Flat Panel Gener Purpose ++ Outout Control Register */ ++#define FP03R(addr) (addr + FPI_OFFSET + 0x0c) /* General Purpose I/O Port ++ Control Register */ ++#define FP04R(addr) (addr + FPI_OFFSET + 0x10) /* STN Panel Control Register */ ++#define FP05R(addr) (addr + FPI_OFFSET + 0x14) /* D-STN Half Frame Buffer ++ Control Register -By Guess */ ++#define FP0FR(addr) (addr + FPI_OFFSET + 0x3c) /* Pulse Width Modulation ++ Control Register */ ++#define FRCTL_PATTERN_COUNT 32 ++#define FP10R(addr) (addr + FPI_OFFSET + 0x40) /* Frame-Rate Control Pattern ++ Register */ ++#define FP11R(addr) (addr + FPI_OFFSET + 0x44) ++#define FP2FR(addr) (addr + FPI_OFFSET + 0xc0) /* Frame-Rate Control Weight ++ Registers */ ++ ++ ++ ++ ++/* power management miscellaneous control */ ++union pm00r { ++ struct { ++ u32 pll1_n_b5 :1; /* PLL 1 N parameter bit 5 is 0 */ ++ u32 reserved_1 :1; ++ u32 pll2_enbl :1; /* PLL 2 enable */ ++ u32 pll3_enbl :1; /* PLL 3 enable */ ++ u32 reserved_2 :1; ++ u32 pwr_st_ctrl :1; /* power state status control */ ++ u32 reserved_3 :2; ++ ++ u32 ge_enbl :1; /* graphics engine enable */ ++ u32 ge_bsy_gl :1; /* graphics engine force busy (global) */ ++ u32 ge_bsy_lcl :1; /* graphics engine force busy (local) */ ++ u32 ge_clock :2; /* graphics engine clock select */ ++ u32 ge_cmd_fifo :1; /* graphics engine command FIFO reset */ ++ u32 ge_src_fifo :1; /* graphics engine CPU source FIFO reset */ ++ u32 miu_pwr_seq :1; /* memory interface unit power sequencing ++ enable */ ++ ++ u32 d3_mem_rfsh :1; /* D3 memory refresh */ ++ u32 d4_mem_rfsh :1; /* D4 memory refresh */ ++ u32 gpwr_intrvl :2; /* general power sequencing interval */ ++ u32 fppwr_intrvl:2; /* flat panel power sequencing interval */ ++ u32 gpwr_seq_ctr:1; /* general power sequencing interval control */ ++ u32 pmu_tm :1; /* PMU test mode */ ++ ++ u32 pwr_state :2; /* power state (read only) */ ++ u32 pwr_seq_st :1; /* power sequencing active status (read ++ only) */ ++ u32 reserved_4 :5; ++ } part; ++ u32 whole; ++}; ++ ++/* D1 state control */ ++union pm01r { ++ struct { ++ u32 osc_enbl :1; /* D1 oscillator enable */ ++ u32 pll1_enbl :1; /* D1 PLL 1 enable */ ++ u32 pll2_enbl :1; /* D1 PLL 2 enable */ ++ u32 pll3_enbl :1; /* D1 PLL 3 enable */ ++ u32 miu_enbl :1; /* D1 Memory Interface Unit (MIU) enable */ ++ u32 mem_rfsh :1; /* D1 memory refresh enable */ ++ u32 ge_enbl :1; /* D1 Graphics Engine (GE) enable */ ++ u32 reserved_1 :1; ++ ++ u32 crt_enbl :1; /* D1 CRT enable */ ++ u32 fpd_enbl :1; /* D1 Flat Panel enable */ ++ u32 reserved_2 :6; ++ ++ u32 ctl1_enbl :1; /* D1 controller 1 enable */ ++ u32 win1_enbl :1; /* D1 window 1 enable */ ++ u32 awin1_enbl :1; /* D1 alternate window 1 enable */ ++ u32 cur1_enbl :1; /* D1 cursor 1 enable */ ++ u32 reserved_3 :4; ++ ++ u32 ctl2_enbl :1; /* D1 controller 2 enable */ ++ u32 win2_enbl :1; /* D1 window 2 enable */ ++ u32 awin2_enbl :1; /* D1 alternate window 2 enable */ ++ u32 cur2_enbl :1; /* D1 cursor 2 enable */ ++ u32 reserved_4 :4; ++ } part; ++ u32 whole; ++}; ++ ++/* D2 state control */ ++union pm02r { ++ struct { ++ u32 osc_enbl :1; /* D2 oscillator enable */ ++ u32 pll1_enbl :1; /* D2 PLL 1 enable */ ++ u32 pll2_enbl :1; /* D2 PLL 2 enable */ ++ u32 pll3_enbl :1; /* D2 PLL 3 enable */ ++ u32 miu_enbl :1; /* D2 Memory Interface Unit (MIU) enable */ ++ u32 mem_rfsh :1; /* D2 memory refresh enable */ ++ u32 ge_enbl :1; /* D2 Graphics Engine (GE) enable */ ++ u32 reserved_1 :1; ++ ++ u32 crt_enbl :1; /* D2 CRT enable */ ++ u32 fpd_enbl :1; /* D2 Flat Panel enable */ ++ u32 reserved_2 :6; ++ ++ u32 ctl1_enbl :1; /* D2 controller 1 enable */ ++ u32 win1_enbl :1; /* D2 window 1 enable */ ++ u32 awin1_enbl :1; /* D2 alternate window 1 enable */ ++ u32 cur1_enbl :1; /* D2 cursor 1 enable */ ++ u32 reserved_3 :4; ++ ++ u32 ctl2_enbl :1; /* D2 controller 2 enable */ ++ u32 win2_enbl :1; /* D2 window 2 enable */ ++ u32 awin2_enbl :1; /* D2 alternate window 2 enable */ ++ u32 cur2_enbl :1; /* D2 cursor 2 enable */ ++ u32 reserved_4 :4; ++ } part; ++ u32 whole; ++}; ++ ++/* PLL 2 programming */ ++union pm06r { ++ struct { ++ u32 clk_src :1; /* PLL 2 reference clock source */ ++ u32 bypass :1; /* PLL 2 bypass */ ++ u32 reserved_1 :2; ++ u32 p_par :3; /* PLL 2 P parameter */ ++ u32 reserved_2 :1; ++ ++ u32 n_par :5; /* PLL 2 N parameter */ ++ u32 reserved_3 :3; ++ ++ u32 m_par :8; /* PLL 2 M parameter */ ++ ++ u32 reserved_4 :4; ++ u32 trim :4; /* PLL 2 trim value */ ++ } part; ++ u32 whole; ++}; ++ ++/* PLL 3 programming */ ++union pm07r { ++ struct { ++ u32 clk_src :1; /* PLL 3 reference clock source */ ++ u32 bypass :1; /* PLL 3 bypass */ ++ u32 reserved_1 :2; ++ u32 p_par :3; /* PLL 3 P parameter */ ++ u32 reserved_2 :1; ++ ++ u32 n_par :5; /* PLL 3 N parameter */ ++ u32 reserved_3 :3; ++ ++ u32 m_par :8; /* PLL 3 M parameter */ ++ ++ u32 reserved_4 :4; ++ u32 trim :4; /* PLL 3 trim value */ ++ } part; ++ u32 whole; ++}; ++ ++ ++ ++/* MIU interface control 1 */ ++union mm00r { ++ struct { ++ u32 miu_enbl :1; /* MIU enable bit */ ++ u32 mr_dsbl :1; /* MIU reset disable bit */ ++ u32 edr_dsbl :1; /* embedded DRAM reset disable bit */ ++ u32 reserved_1 :29; ++ } part; ++ u32 whole; ++}; ++ ++/* MIU interface control 2 */ ++union mm01r { ++ struct { ++ u32 mc_src :1; /* memory clock source */ ++ u32 msr_enbl :1; /* memory slow refresh enable bit */ ++ u32 pb_cpu :1; /* page break enable for CPU */ ++ u32 pb_gc1 :1; /* page break enable for GC1 */ ++ u32 pb_gc2 :1; /* page break enable for GC2 */ ++ u32 pb_stn_r :1; /* page break enable for STN read */ ++ u32 pb_stn_w :1; /* page break enable for STN write */ ++ u32 pb_ge :1; /* page break enable for GE */ ++ u32 reserved_1 :4; ++ u32 mr_interval :14; /* normal memory refresh time interval */ ++ u32 reserved_2 :4; ++ u32 edarm_enbl :1; /* embedded DRAM auto-refresh mode enable */ ++ u32 eds_enbl :1; /* EDRAM standby enable for EDRAM normal ++ mode operation */ ++ } part; ++ u32 whole; ++}; ++ ++/* memory interface control 3 */ ++union mm02r { ++ struct { ++ u32 bs_ :2; ++ u32 bs_stnr :2; /* burst count for STN read memory cycles */ ++ u32 bs_stnw :2; /* burst count for STN write memroy cycles */ ++ u32 bs_ge :2; /* burst count for graphics engine ++ read/write memroy cycles */ ++ u32 bs_cpuw :2; /* burst count for CPU write memory cycles */ ++ u32 fifo_gc1 :4; /* GC1 display refresh FIFO threshold */ ++ u32 fifo_gc2 :4; /* GC2 display refresh FIFO threshold */ ++ u32 fifo_stnr :4; /* STN read FIFO threshold */ ++ u32 fifo_stnw :4; /* STN write FIFO threshold */ ++ u32 fifo_ge_src :3; /* GE source read FIFO threshold */ ++ u32 fifo_ge_dst :3; /* GE destination read FIFO threshold */ ++ } part; ++ u32 whole; ++}; ++ ++/* memory interface control 4 */ ++union mm03r { ++ struct { ++ u32 rd_late_req :1; /* read latency request */ ++ u32 reserved_1 :31; ++ } part; ++ u32 whole; ++}; ++ ++/* memory interface control 5 */ ++union mm04r { ++ struct { ++ u32 latency :3; /* EDRAM latency */ ++ u32 dmm_cyc :1; /* enable for the dummy cycle insertion ++ between read and write cycles */ ++ u32 pre_dmm_cyc :1; /* enable for the dummy cycle insertion ++ between read/write and precharge cycles ++ for the same bank */ ++ u32 reserved_1 :3; ++ u32 bnk_act_cls :2; /* bank activate command to bank close ++ command timing interval control */ ++ u32 bnk_act_rw :1; /* bank activate command to read/wirte ++ command timing interval control */ ++ u32 bnk_cls_act :1; /* bank close command to bank activate ++ command timing interval control */ ++ u32 trc :1; /* row cycle time */ ++ u32 reserved_2 :3; ++ u32 delay_r :2; /* programmable delay for read clock */ ++ u32 delay_m :2; /* programmable delay for internal memory ++ clock */ ++ } part; ++ u32 whole; ++}; ++ ++/* graphics controller 1 register */ ++union gc00r { ++ struct { ++ u32 ctl_enbl :1; /* Controller 1 Enable */ ++ u32 hc_reset :1; /* Horizontal Counter 1 Reset */ ++ u32 vc_reset :1; /* Vertical Counter 1 Reset */ ++ u32 iwin_enbl :1; /* Image Window 1 Enable */ ++ u32 gcd :4; /* Graphics Color Depth (GCD) */ ++ ++ u32 hc_enbl :1; /* Hardware Cursor 1 Enable */ ++ u32 reserved_1 :2; ++ u32 aiwin_enbl :1; /* Alternate Image Window Enable */ ++ u32 agcd :4; /* Alternate Graphics Color Depth (AGCD) */ ++ ++ u32 g1rclk_src :2; /* G1RCLK Source */ ++ u32 tm0 :1; /* Test Mode 0 */ ++ u32 tm1 :1; /* Test Mode 1 */ ++ u32 fd :3; /* G1MCLK First Clock Divisor (FD1) */ ++ u32 reserved_2 :1; ++ ++ u32 sd :8; /* G1MCLK Second Clock Divisor (SD1) */ ++ } part; ++ u32 whole; ++}; ++ ++/* graphics controller CRT control */ ++union gc01r { ++ struct { ++ u32 dac_enbl :2; /* CRT DAC enable */ ++ u32 hsync_out :1; /* CRT HSYNC output during power down mode */ ++ u32 vsync_out :1; /* CRT VSYNC output during power down mode */ ++ u32 hsync_ctl :2; /* CRT HSYNC control */ ++ u32 vsync_ctl :2; /* CRT VSYNC control */ ++ /**/ ++ u32 hsync_pol :1; /* CRT HSYNC polarity */ ++ u32 vsync_pol :1; /* CRT VSYNC polarity */ ++ u32 sync_p_enbl :1; /* sync pedestal enable */ ++ u32 blnk_p_enbl :1; /* blank pedestal enable */ ++ u32 c_sync_enbl :1; /* composite sync enable */ ++ u32 vref_sel :1; /* VREF select */ ++ u32 mn_sns_enbl :1; /* monitor sense enable */ ++ u32 ct_out_enbl :1; /* constant output enable */ ++ /**/ ++ u32 dac_out_lvl :8; /* monitor sense DAC output level */ ++ /**/ ++ u32 blue_dac_r :1; /* blue DAC sense result */ ++ u32 green_dac_r :1; /* green DAC sense result */ ++ u32 red_dac_r :1; /* red DAC sense result */ ++ u32 reserved_1 :1; ++ u32 mon_col_sel :1; /* mono/color monitor select */ ++ u32 reserved_2 :3; ++ } part; ++ u32 whole; ++}; ++ ++/* horizontal display 1 control */ ++union gc02r { ++ struct { ++ u32 hd1t :12; /* horizontal display 1 total */ ++ u32 reserved_1 :4; ++ ++ u32 hd1e :12; /* horizontal display 1 end */ ++ u32 reserved_2 :4; ++ } part; ++ u32 whole; ++}; ++ ++/* vertical display 1 control */ ++union gc03r { ++ struct { ++ u32 vd1t :12; /* vertical display 1 total */ ++ u32 reserved_1 :4; ++ ++ u32 vd1e :12; /* vertical display 1 end */ ++ u32 reserved_2 :4; ++ } part; ++ u32 whole; ++}; ++ ++/* horizontal sync 1 control */ ++union gc04r { ++ struct { ++ u32 hs1s :12; /* horizontal sync 1 start */ ++ u32 reserved_1 :4; ++ ++ u32 hs1e :12; /* horizontal sync 1 end */ ++ u32 reserved_2 :4; ++ } part; ++ u32 whole; ++}; ++ ++/* vertical sync 1 control */ ++union gc05r { ++ struct { ++ u32 vs1s :12; /* vertical sync 1 start */ ++ u32 reserved_1 :4; ++ ++ u32 vs1e :12; /* vertical sync 1 end */ ++ u32 reserved_2 :4; ++ } part; ++ u32 whole; ++}; ++ ++/* vertical display 1 count */ ++union gc07r { ++ struct { ++ u32 vd_cnt :12; /* vertical display 1 count */ ++ u32 reverved_1 :20; ++ } part; ++ u32 whole; ++}; ++ ++/* horizontal window 1 control */ ++union gc08r { ++ struct { ++ u32 hw1s :12; /* horizontal window 1 start (HW1S) */ ++ u32 reserved_1 :4; ++ ++ u32 hw1w :12; /* horizontal window 1 width (HW1W) */ ++ u32 w1ald :4; /* window 1 additional line data */ ++ } part; ++ u32 whole; ++}; ++ ++/* vertical window 1 control */ ++union gc09r { ++ struct { ++ u32 vw1s :12; /* vertical window 1 start */ ++ u32 reserved_1 :4; ++ u32 vw1h :12; /* vertical window 1 height */ ++ u32 reserved_2 :4; ++ } part; ++ u32 whole; ++}; ++ ++/* window 1 start address */ ++union gc0cr { ++ struct { ++ u32 w1sa :21; /* window 1 start address */ ++ u32 reserved_1 :11; ++ } part; ++ u32 whole; ++}; ++ ++/* window 1 stride */ ++union gc0er { ++ struct { ++ s16 w1st; /* window 1 stride */ ++ s16 aw1st; /* alternate window 1 stride */ ++ } part; ++ u32 whole; ++}; ++ ++/* hardware cursor 1 position */ ++union gc10r { ++ struct { ++ u32 hc1s :12; /* horizontal cursor 1 start */ ++ u32 reserved_1 :4; ++ u32 vc1s :12; /* vertical cursor 1 start */ ++ u32 reserved_2 :4; ++ } part; ++ u32 whole; ++}; ++ ++/* hardware cursor 1 start address and offset */ ++union gc11r { ++ struct { ++ u32 hc1sa :11; /* hardware cursor 1 start address */ ++ u32 reserved_1 :5; ++ u32 hc1o :6; /* horizontal cursor 1 offset */ ++ u32 reserved_2 :2; ++ u32 vc1o :6; /* vertical cursor 1 offset */ ++ u32 reserved_3 :2; ++ } part; ++ u32 whole; ++}; ++ ++/* hardware cursor 1 foreground color */ ++union gc12r { ++ struct { ++ u32 hc1fc :24; /* hardware cursor 1 foreground color */ ++ u32 reserved_1 :8; ++ } part; ++ u32 whole; ++}; ++ ++/* hardware cursor 1 background color */ ++union gc13r { ++ struct { ++ u32 hc1bc :24; /* hardware cursor 1 background color */ ++ u32 reserved_1 :8; ++ } part; ++ u32 whole; ++}; ++ ++/* primary drawing command register */ ++union ge00r { ++ struct { ++ u32 rop :8; /* raster operation */ ++ /**/ ++ u32 cmd_typ :3; /* command type */ ++ u32 x_dir :1; /* x direction */ ++ u32 y_dir :1; /* y direction */ ++ u32 src_mem :1; /* source memory */ ++ u32 mon_src :1; /* mono source */ ++ u32 mon_ptn :1; /* mono pattern */ ++ /**/ ++ u32 dst_trns_e :1; /* destination transparency enable */ ++ u32 dst_trns_p :1; /* destination transparency polarity */ ++ u32 mon_trns_e :1; /* mono source or mono pattern transparency ++ enable */ ++ u32 mon_trns_p :1; /* mono transparency polarity */ ++ u32 mod_sel :1; /* memory to screen or off screen to screen ++ mode select */ ++ u32 alpha_sel :2; /* Alpha byte mask selection */ ++ u32 sol_col :1; /* solid color */ ++ /**/ ++ u32 stride_eq :1; /* source stride is equal to destination ++ stride */ ++ u32 rop2_sel :1; /* ROP2 code selection */ ++ u32 clipping :1; /* enable clipping */ ++ u32 auto_exec :1; /* auto execute */ ++ u32 reserved_1 :4; ++ } part; ++ u32 whole; ++}; ++ ++/* primary width and height register */ ++union ge01r { ++ struct { ++ u32 width :12; /* source/destination window width */ ++ u32 reserved_1 :4; ++ ++ u32 height :12; /* source/destination window height */ ++ u32 reserved_2 :1; ++ u32 reserved_3 :3; ++ } bitblt; ++ struct { ++ u32 dm :17; ++ u32 axis_major :12; ++ u32 x_y :1; /* x-major or y-major */ ++ u32 last_pix :1; /* decision to draw or not to draw the last ++ pixel of the line */ ++ u32 reserved_1 :1; ++ } bresenham; ++ u32 whole; ++}; ++ ++/* primary destination address register */ ++union ge02r { ++ struct { ++ u32 dst_x :12; /* destination x position */ ++ u32 reserved_1 :1; ++ u32 h_offset :3; /* mono/color pattern horizontal offset */ ++ ++ u32 dst_y :12; /* destination y position */ ++ u32 reserved_2 :1; ++ u32 v_offset :3; /* mono/color pattern vertical offset */ ++ } window; ++ struct { ++ u32 x :12; /* starting x coordinate */ ++ u32 dm :17; /* 17 bits major-axis delta */ ++ u32 reserved_1 :3; ++ } line; ++ u32 whole; ++}; ++ ++/* source XY register/line draw starting Y coordinate and mintor axis delta */ ++union ge03r { ++ struct { ++ u32 src_x :12; /* source X position */ ++ u32 reserved_1 :4; ++ ++ u32 src_y :12; /* source Y position */ ++ u32 reserved_2 :4; ++ } window; ++ struct { ++ u32 start_y :12; /* starting Y coordinate */ ++ u32 dn :17; /* 17 bits minor-axis delta */ ++ u32 reserved_1 :3; ++ } line; ++ u32 whole; ++}; ++ ++/* clip left/top register */ ++union ge05r { ++ struct { ++ u32 left :12; /* left edge of clipping rectangle */ ++ u32 reserved_1 :4; ++ ++ u32 top :12; /* top edge of clipping rectangle */ ++ u32 reserved_2 :4; ++ } part; ++ u32 whole; ++}; ++ ++/* source stride/offset register */ ++union ge09r { ++ struct { ++ u32 src_strid :12; /* source line stride */ ++ u32 reserved_1 :13; ++ u32 strt_bit :3; /* initial mono source bit offset */ ++ u32 strt_byte :3; /* initial mono/color source byte offset */ ++ u32 reserved_2 :1; ++ } line; ++ struct { ++ u32 strt_bit :5; /* initial mono source bit offset */ ++ u32 reserved_1 :1; ++ u32 amount :10; /* number of 16 bytes amount that MIU need ++ to fetch from frame buffer */ ++ ++ u32 reserved_2 :9; ++ u32 bit_spc :7; /* bit space between lines */ ++ } pack_mono; ++ struct { ++ u32 strt_bit :3; /* initial mono source bit offset */ ++ u32 strt_byte :3; /* initial mono/color source byte offset */ ++ u32 amount :10; /* number of 16 bytes amount that MIU need ++ to fetch from frame buffer */ ++ ++ u32 reserved_1 :9; ++ u32 bit_spc :3; /* bit space between lines */ ++ u32 byt_spc :4; /* byte space between lines */ ++ } pack_color; ++ u32 whole; ++}; ++ ++/* destination stride register and color depth */ ++union ge0ar { ++ struct { ++ u32 dst_strid :12; /* destination line stride and color depth */ ++ u32 reserved_1 :18; ++ u32 col_dpth :2; /* color depth */ ++ } part; ++ u32 whole; ++}; ++ ++/* graphics controller color pallete */ ++union c1xxr { ++ struct { ++ u8 red; /* red color pallete */ ++ u8 green; /* green/gray color pallete */ ++ u8 blue; /* blue color palette */ ++ u8 reserved_1; ++ } part; ++ u32 whole; ++}; ++ ++/* devicee configuration register 0 */ ++union dc00r { ++ struct { ++ u32 osc_bypass :1; /* oscillator bypass */ ++ u32 osc_enbl :1; /* oscillator enable */ ++ u32 pll1_bypass :1; /* PLL1 bypass */ ++ u32 pll1_enbl :1; /* PLL1 enable */ ++ u32 pll1_p_par :3; /* PLL1 P parameter */ ++ u32 cpu_div :1; /* CPU interface clock divisor */ ++ u32 pll1_n_par :5; /* PLL1 N parameter */ ++ u32 saisc :1; /* StrongARM interface synchronizer control */ ++ u32 s_chp_reset :1; /* software chip reset */ ++ u32 mem_enbl :1; /* memory standby enable */ ++ u32 pll1_m_par :8; /* PLL 1 M parameter */ ++ u32 osc_shaper :1; /* oscillator shaper disable */ ++ u32 fast_pwr :1; /* fast power sequencing */ ++ u32 osc_frq :2; /* oscillator frequency select */ ++ u32 pll1_trim :4; /* PLL 1 trim value */ ++ } part; ++ u32 whole; ++}; ++ ++/* device ID/vendor ID register */ ++union pc00r { ++ struct { ++ u16 device; /* device ID */ ++ u16 vendor; /* vendor ID */ ++ } part; ++ u32 whole; ++}; ++ ++/* Flat Panel Control Register */ ++union fp00r { ++ struct { ++ u32 flatp_enbl : 2; /* Flat Panel Interface Enable */ ++ u32 flatp_type : 2; /* Flat Panel Type */ ++ u32 mono : 1; /* Mono/Color Panel Select */ ++ u32 flatp_intf : 3; /* Flat Panel Interface */ ++ u32 dither_pat : 2; /* Dither Pattern */ ++ u32 reserved : 2; /* Reserved Must Be 0*/ ++ u32 dither_col : 3; /* Dither Base Color */ ++ u32 alt_win_ctl: 1; /* Alternate Window Control */ ++ u32 frc_ctl : 2; /* FRC Control */ ++ u32 dither_adj1: 6; /* Dither Pattern Adjust 1 */ ++ u32 dither_adj2: 3; /* Dither Pattern Adjust 2 */ ++ u32 dither_adj3: 1; /* Dither Pattern Adjust 3 */ ++ u32 test_mode0 : 1; /* Test Mode 0 */ ++ u32 test_mode1 : 1; /* Test Mode 1 */ ++ u32 test_mode2 : 1; /* Test Mode 2 */ ++ u32 test_mode3 : 1; /* Test Mode 3 */ ++ } part; ++ u32 whole; ++}; ++ ++union fp01r { ++ struct { ++ u32 dummy; ++ } part; ++ u32 whole; ++}; ++ ++union fp02r { ++ struct { ++ u32 dummy; ++ } part; ++ u32 whole; ++}; ++ ++union fp03r { ++ struct { ++ u32 dummy; ++ } part; ++ u32 whole; ++}; ++ ++union fp04r { ++ struct { ++ u32 dummy; ++ } part; ++ u32 whole; ++}; ++ ++union fp05r { ++ struct { ++ u32 dummy; ++ } part; ++ u32 whole; ++}; ++ ++union fp0fr { ++ struct { ++ u32 dummy; ++ } part; ++ u32 whole; ++}; ++ ++ ++ ++ ++/**** ++ * Others ++ */ ++ ++#define CHIPNAME "MQ-200" ++ ++extern void mq200_external_setpal(unsigned regno, unsigned long color, unsigned long addr); ++extern void mq200_external_setqmode(struct mq200_monitor_info*, unsigned long, spinlock_t *); ++extern void mq200_external_offdisplay(unsigned long); ++extern void mq200_external_ondisplay (unsigned long); ++extern int mq200_external_probe(unsigned long); ++ ++ ++ ++#endif +diff -uNr linux-2.6.20.vanilla/drivers/video/mq200/mq_external.c linux-2.6.20/drivers/video/mq200/mq_external.c +--- linux-2.6.20.vanilla/drivers/video/mq200/mq_external.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.20/drivers/video/mq200/mq_external.c 2007-02-11 16:41:09.000000000 +0100 +@@ -0,0 +1,427 @@ ++/* ++ * Copyright (C) 2005 Holger Hans Peter Freyther ++ * ++ * Based ON: ++ * ++ * linux/drivers/video/mq200fb.c -- MQ-200 for a frame buffer device ++ * based on linux/driver/video/pm2fb.c ++ * ++ * Copyright (C) 2000 Lineo, Japan ++ * ++ * 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. ++ */ ++ ++#include <asm/types.h> ++#include <asm/io.h> ++#include <linux/delay.h> ++#include <linux/spinlock.h> ++ ++#include "mq200_data.h" ++ ++ ++#if 1 ++#define PRINTK(args...) printk(args) ++#else ++#define PRINTK(args...) ++#endif ++ ++ ++/**** ++ * power state transition to "state". ++ */ ++static void ++power_state_transition(unsigned long register_base, int state) ++{ ++ int i; ++ writel(state, PMCSR(register_base)); ++ for (i = 1; ; i++) { ++ udelay(100); ++ if ((readl(PMCSR(register_base)) & 0x3) == state) { ++ break; ++ } ++ } ++} ++ ++ ++/**** ++ * device configuration initialization. ++ */ ++static void ++dc_reset(unsigned long register_base) ++{ ++ union dc00r dc00r; ++ ++ /* Reset First */ ++ dc00r.whole = DC_RESET; ++ writel(dc00r.whole, DC00R(register_base)); ++ udelay(10); ++ ++ ++ dc00r.whole = 0xEF2082A; ++ writel(dc00r.whole, DC00R(register_base)); ++ udelay(5); ++ PRINTK(CHIPNAME ": DC00R = %xx\n", readl(DC00R(register_base))); ++} ++ ++ ++/**** ++ * initialize memory interface unit. ++ */ ++static void ++miu_reset(unsigned long register_base) ++{ ++ union mm00r mm00r; ++ union mm01r mm01r; ++ union mm02r mm02r; ++ union mm03r mm03r; ++ union mm04r mm04r; ++ ++ /* MIU interface control 1 */ ++ mm00r.whole = 0x4; ++ writel(mm00r.whole, MM00R(register_base)); ++ udelay(5); ++ writel(0, MM00R(register_base)); ++ udelay(50); ++ ++ /* MIU interface control 2 ++ * o PLL 1 output is used as memory clock source. ++ */ ++ mm01r.whole = 0x4143e086; ++ writel(mm01r.whole, MM01R(register_base)); ++ ++ /* memory interface control 3 */ ++ mm02r.whole = 0x6d6aabff; ++ writel(mm02r.whole, MM02R(register_base)); ++ ++ /* memory interface control 5 */ ++ mm04r.whole = 0x10d; ++ writel(mm04r.whole, MM04R(register_base)); ++ ++ /* memory interface control 4 */ ++ mm03r.whole = 0x1; ++ writel(mm03r.whole, MM03R(register_base)); ++ mdelay(10); ++ ++ /* MIU interface control 1 */ ++ mm00r.whole = 0x3; ++ writel(mm00r.whole, MM00R(register_base)); ++ mdelay(50); ++} ++ ++/**** ++ * ++ */ ++static ++void fpctrl_reset(unsigned long addr) ++{ ++ /* ++ * We're in D0 State, let us set the FPCTRL ++ */ ++ union fp00r fp00r; ++ union fp01r fp01r; ++ union fp02r fp02r; ++ union fp03r fp03r; ++ union fp04r fp04r; ++ union fp0fr fp0fr; ++ ++ fp00r.whole = 0x6320; ++ writel(fp00r.whole, FP00R(addr)); ++ ++ fp01r.whole = 0x20; ++ writel(fp01r.whole, FP01R(addr)); ++ ++ fp04r.whole = 0xBD0001; ++ writel(fp04r.whole, FP04R(addr)); ++ ++ /* Set Flat Panel General Purpose register first */ ++ fp02r.whole = 0x0; ++ writel(fp02r.whole, FP02R(addr)); ++ ++ fp03r.whole = 0x0; ++ writel(fp03r.whole, FP03R(addr)); ++ ++ fp0fr.whole = 0xA16c44; ++ writel(fp0fr.whole, FP0FR(addr)); ++ ++ ++ /* Set them again */ ++ fp02r.whole = 0x0; ++ writel(fp02r.whole, FP02R(addr)); ++ ++ fp03r.whole = 0x0; ++ writel(fp03r.whole, FP03R(addr)); ++} ++ ++ ++/**** ++ * initialize power management unit. ++ */ ++static void ++pmu_reset(unsigned long register_base) ++{ ++ union pm00r pm00r; ++ union pm01r pm01r; ++ union pm02r pm02r; ++// union pm06r pm06r; ++// union pm07r pm07r; ++ ++ /* power management miscellaneous control ++ * o GE is driven by PLL 1 clock. ++ */ ++ pm00r.whole = 0xc0900; ++ writel(pm00r.whole, PM00R(register_base)); ++ ++ /* D1 state control */ ++ pm01r.whole = 0x5000271; ++ writel(pm01r.whole, PM01R(register_base)); ++ ++ /* D2 state control */ ++ pm02r.whole = 0x271; ++ writel(pm02r.whole, PM02R(register_base)); ++ ++#if 0 ++ /* PLL 2 programming */ ++ pm06r.whole = 0xE90830; ++ writel(pm06r.whole, PM06R(register_base)); ++ ++ /* PLL 3 programming */ ++ pm07r.whole = 0xE90830; ++ writel(pm07r.whole, PM07R(register_base)); ++#endif ++} ++ ++/**** ++ * initialize graphics controller 1. ++ */ ++static void ++gc1_reset(unsigned long register_base, spinlock_t *lock ) ++{ ++ unsigned long flags; ++ union gc00r gc00r; ++ union gc01r gc01r; ++ union gc02r gc02r; ++ union gc03r gc03r; ++ union gc04r gc04r; ++ union gc05r gc05r; ++ union gc08r gc08r; ++ union gc09r gc09r; ++// union gc0er gc0er; ++// union gc11r gc11r; ++ union pm00r pm00r; ++ union pm06r pm06r; ++ ++ spin_lock_irqsave(lock, flags); ++ ++ /* graphics controller CRT control */ ++ gc01r.whole = 0x800; ++ writel(gc01r.whole, GC01R(register_base)); ++ ++ /* horizontal display 1 control */ ++ gc02r.whole = 0x320041e; ++ writel(gc02r.whole, GC02R(register_base)); ++ ++ /* vertical display 1 control */ ++ gc03r.whole = 0x2570273; ++ writel(gc03r.whole, GC03R(register_base)); ++ ++ /* horizontal sync 1 control */ ++ gc04r.whole = 0x3c70347; ++ writel(gc04r.whole, GC04R(register_base)); ++ ++ /* vertical sync 1 control */ ++ gc05r.whole = 0x25d0259; ++ writel(gc05r.whole, GC05R(register_base)); ++ ++ /* horizontal window 1 control */ ++ gc08r.whole = 0x131f0000; ++ writel(gc08r.whole, GC08R(register_base)); ++ ++ /* vertical window 1 control */ ++ gc09r.whole = 0x2570000; ++ writel(gc09r.whole, GC09R(register_base)); ++ ++#if 0 ++ /* alternate horizontal window 1 control */ ++ writel(0, GC0AR(register_base)); ++ ++ /* alternate vertical window 1 control */ ++ writel(0, GC0BR(register_base)); ++ ++ /* window 1 start address */ ++ writel(0x2004100, GC0CR(register_base)); ++ ++ /* alternate window 1 start address */ ++ writel(0, GC0DR(register_base)); ++ ++ /* window 1 stride */ ++ gc0er.whole = 0x5100048; ++ writel(gc0er.whole, GC0ER(register_base)); ++ ++ /* reserved register - ??? - */ ++ writel(0x31f, GC0FR(register_base)); ++#endif ++ ++#if 0 ++ /* hardware cursor 1 position */ ++ writel(0, GC10R(register_base)); ++ ++ /* hardware cursor 1 start address and offset */ ++ gc11r.whole = 0x5100048; ++ writel(gc11r.whole, GC11R(register_base)); ++ ++ /* hardware cursor 1 foreground color */ ++ writel(0x00ffffff, GC12R(register_base)); ++ ++ /* hardware cursor 1 background color */ ++ writel(0x00000000, GC13R(register_base)); ++#endif ++ ++ /* PLL 2 programming */ ++ pm06r.whole = 0xE90830; ++ writel(pm06r.whole, PM06R(register_base)); ++ ++ ++ /* graphics controller 1 register ++ * o GC1 clock source is PLL 2. ++ * o hardware cursor is disabled. ++ */ ++ gc00r.whole = 0x10200C8; ++ writel(gc00r.whole, GC00R(register_base)); ++ ++ /* ++ * Enable PLL2 in the PM Register ++ */ ++ pm00r.whole = readl(PM00R(register_base)); ++ pm00r.part.pll2_enbl = 0x1; ++ writel(pm00r.whole, PM00R(register_base)); ++ ++ spin_unlock_irqrestore(lock, flags); ++} ++ ++ ++/**** ++ * initialize graphics engine. ++ */ ++static void ++ge_reset(unsigned long register_base) ++{ ++ /* drawing command register */ ++ writel(0, GE00R(register_base)); ++ ++ /* promary width and height register */ ++ writel(0, GE01R(register_base)); ++ ++ /* primary destination address register */ ++ writel(0, GE02R(register_base)); ++ ++ /* primary source XY register */ ++ writel(0, GE03R(register_base)); ++ ++ /* primary color compare register */ ++ writel(0, GE04R(register_base)); ++ ++ /* primary clip left/top register */ ++ writel(0, GE05R(register_base)); ++ ++ /* primary clip right/bottom register */ ++ writel(0, GE06R(register_base)); ++ ++ /* primary source and pattern offset register */ ++ writel(0, GE07R(register_base)); ++ ++ /* primary foreground color register/rectangle fill color depth */ ++ writel(0, GE08R(register_base)); ++ ++ /* source stride/offset register */ ++ writel(0, GE09R(register_base)); ++ ++ /* destination stride register and color depth */ ++ writel(0, GE0AR(register_base)); ++ ++ /* image base address register */ ++ writel(0, GE0BR(register_base)); ++} ++ ++ ++/**** ++ * initialize Color Palette 1. ++ */ ++static void ++cp1_reset(unsigned long addr_info) ++{ ++ int i; ++ ++ for (i = 0; i < 256; i++) ++ writel(0, C1xxR(addr_info, i)); ++} ++ ++ ++ ++ ++/* ++ * Below functions are called from the skeleton ++ */ ++void mq200_external_setpal(unsigned regno, unsigned long color, unsigned long addr) ++{ ++ writel(color,C1xxR(addr,regno)); ++} ++ ++void mq200_external_setqmode(struct mq200_monitor_info* info, ++ unsigned long addr, spinlock_t *lock) ++{ ++ dc_reset(addr); /* device configuration */ ++ ++ power_state_transition(addr, 0); /* transition to D0 state */ ++ pmu_reset(addr); /* power management unit */ ++ miu_reset(addr); /* memory interface unit */ ++ ge_reset(addr); /* graphics engine */ ++ fpctrl_reset(addr); /* reset the panel settings */ ++ gc1_reset(addr, lock); /* graphics controller 1 */ ++ cp1_reset(addr); /* color palette 1 */ ++ mq200_external_ondisplay(addr); ++} ++ ++void mq200_external_offdisplay(unsigned long addr) ++{ ++ /* ++ * Move the MQ200 to D3 mode ++ */ ++ power_state_transition(addr, 3); ++} ++ ++/** ++ * to be called after mq200_external_setqmode ++ */ ++void mq200_external_ondisplay (unsigned long addr) ++{ ++ /* ++ * Set the framebuffer details ++ */ ++ #warning FIX HERE AS WELL ++ union gc00r gc00r; ++ union fp00r fp00r; ++ gc00r.whole = readl(GC00R(addr)); ++ fp00r.whole = readl(FP00R(addr)); ++ ++ if(!(gc00r.whole & 0x1)) { ++ gc00r.whole |= 1; ++ writel(gc00r.whole, GC00R(addr)); ++ } ++ ++ fp00r.whole |= 0x01; ++ writel(fp00r.whole, FP00R(addr)); ++} ++ ++int mq200_external_probe(unsigned long addr) ++{ ++ union pc00r pc00r; ++ if(readl(PMR(addr)) != PMR_VALUE) ++ return 0; ++ ++ pc00r.whole = readl(PC00R(addr)); ++ printk(KERN_INFO "mq200 video driver found Vendor:%d Device:%d\n", ++ pc00r.part.device, pc00r.part.vendor); ++ return 1; ++} +diff -uNr linux-2.6.20.vanilla/drivers/video/mq200/mq_skeleton.c linux-2.6.20/drivers/video/mq200/mq_skeleton.c +--- linux-2.6.20.vanilla/drivers/video/mq200/mq_skeleton.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.20/drivers/video/mq200/mq_skeleton.c 2007-02-11 16:41:09.000000000 +0100 +@@ -0,0 +1,401 @@ ++/* ++ * Author: Holger Hans Peter Freyther ++ * ++ * ++ * This implements the frame buffer driver interface to communicate ++ * with the kernel. ++ * It uses the mq200 routines from the ucLinux driver from Lineo ++ * ++ * 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/autoconf.h> ++#include <linux/platform_device.h> ++#include <linux/module.h> ++#include <linux/fb.h> ++#include <linux/types.h> ++#include <linux/spinlock.h> ++ ++#include "mq200_data.h" ++ ++#if CONFIG_SA1100_SIMPAD ++/* ++ * Siemens SIMpad specefic data ++ */ ++#include <asm/arch/simpad.h> ++#include <asm/arch/hardware.h> ++ ++#define MQ200_REGIONS simpad_mq200_regions ++#define MQ200_MONITOR simpad_mq200_panel ++ ++static struct mq200_io_regions simpad_mq200_regions = { ++ .fb_size = MQ200_FB_SIZE, ++ .phys_mmio_base = 0x4be00000, ++ .virt_mmio_base = 0xf2e00000, ++ .phys_fb_base = 0x4b800000, ++ .virt_fb_base = 0xf2800000, ++}; ++ ++static struct mq200_monitor_info simpad_mq200_panel = { ++ .horizontal_res = 800, ++ .vertical_res = 600, ++ .depth = 16, ++ .refresh = 60, ++ .line_length = 1600, ++ .flags = 0x00130004, ++}; ++ ++extern long get_cs3_shadow(void); ++extern void set_cs3_bit(int value); ++extern void clear_cs3_bit(int value); ++#endif ++ ++ ++ ++struct mq200_info { ++ struct fb_info fb_info; ++ struct mq200_io_regions io_regions; ++ struct mq200_monitor_info monitor_info; ++ ++ /* palette */ ++ u32 pseudo_palette[17]; /* 16 colors + 1 in reserve not that well documented... */ ++ spinlock_t lock; ++}; ++ ++ ++ ++static int mq200_blank( int blank_mode, struct fb_info *info ) ++{ ++#ifdef CONFIG_SA1100_SIMPAD ++ if(blank_mode ){ ++ clear_cs3_bit(DISPLAY_ON); ++ }else { ++ set_cs3_bit(DISPLAY_ON); ++ } ++#endif ++ return 0; ++} ++ ++ ++static int mq200_check_var(struct fb_var_screeninfo *var, ++ struct fb_info *info ) ++{ /* TODO do we need sanity checks here */ ++ return 0; ++} ++ ++ ++static int mq200_set_par( struct fb_info *info ) ++{ ++ /* TODO set paraemeter */ ++ return 0; ++} ++ ++static int mq200_setcolreg(unsigned regno, unsigned red, unsigned green, ++ unsigned blue, unsigned transp, ++ struct fb_info *info ) ++{ ++ struct mq200_info *p; ++ unsigned long color; ++ u32* pal = info->pseudo_palette; ++ ++ p = info->par; ++ ++ if(regno > 255 ) ++ return 1; ++ ++ switch( info->var.bits_per_pixel ){ ++ case 16: ++ pal[regno] = ++ ((red & 0xf800) >> 0) | ++ ((green & 0xf800) >> 5) | ((blue & 0xf800) >> 11); ++ break; ++ case 24: ++ pal[regno] = ++ ((red & 0xff00) << 8) | ++ ((green & 0xff00)) | ((blue & 0xff00) >> 8); ++ break; ++ case 32: ++ pal[regno] = ++ ((red & 0xff00) >> 8) | ++ ((green & 0xff00)) | ((blue & 0xff00) << 8); ++ break; ++ default: ++ break; ++ } ++ ++ red &= 0xFF; ++ green &= 0xFF; ++ blue &= 0xFF; ++ ++ color = red | (green << 8) | (blue << 16); ++ mq200_external_setpal(regno, color, p->io_regions.virt_mmio_base); ++ ++ return 0; ++} ++ ++ ++ ++ ++static struct fb_ops mq200_ops = { ++ .owner = THIS_MODULE, ++ .fb_check_var = mq200_check_var, ++ .fb_set_par = mq200_set_par, ++ .fb_setcolreg = mq200_setcolreg, ++#ifdef FB_SOFT_CURSOR ++ .fb_cursor = soft_cursor, /* FIXME use hardware cursor */ ++#endif ++ .fb_fillrect = cfb_fillrect, ++ .fb_copyarea = cfb_copyarea, ++ .fb_imageblit = cfb_imageblit, ++ .fb_blank = mq200_blank, ++}; ++ ++ ++/********************************************************************* ++ * ++ * Device driver and module init code ++ * this will register to the fb layer later ++ * ++ *********************************************************************/ ++static void mq200_internal_init_color( struct fb_bitfield* red, ++ struct fb_bitfield* green, ++ struct fb_bitfield* blue, ++ int bpp ) ++{ ++ switch ( bpp ) ++ { ++ case 16: ++ red->offset = 11; ++ green->offset = 5; ++ blue->offset = 0; ++ ++ red->length = 5; ++ green->length = 6; ++ blue->length = 5; ++ break; ++ case 24: ++ red->offset = 16; ++ green->offset = 8; ++ blue->offset = 0; ++ ++ red->length = 8; ++ green->length = 8; ++ blue->length = 8; ++ break; ++ case 32: ++ red->offset = 0; ++ green->offset = 8; ++ blue->offset = 16; ++ ++ red->length = 8; ++ green->length = 8; ++ blue->length = 8; ++ case 8: /* fall through */ ++ default: ++ red->offset = green->offset = blue->offset = 0; ++ red->length = green->length = blue->length = bpp; ++ break; ++ } ++ ++} ++ ++ ++static struct mq200_info* __init mq200_internal_init_fbinfo(void) ++{ ++ struct mq200_info *info = NULL; ++ ++ info = (struct mq200_info*)kmalloc(sizeof(*info), GFP_KERNEL); ++ if(!info) ++ return NULL; ++ ++ /* ++ * Initialize memory ++ */ ++ memset(info, 0, sizeof(struct mq200_info) ); ++ spin_lock_init(&info->lock); ++ ++ /* set the base IO addresses */ ++ info->io_regions = MQ200_REGIONS; ++ info->monitor_info = MQ200_MONITOR; ++ ++ info->fb_info.screen_base = (char *)info->io_regions.virt_fb_base; ++ ++ /* fb_fix_screeninfo filling */ ++ strcpy(info->fb_info.fix.id, "MQ200_FB" ); ++ info->fb_info.fix.smem_start = info->io_regions.phys_fb_base; ++ info->fb_info.fix.smem_len = info->io_regions.fb_size; /* - CURSOR_IMAGE */ ++ info->fb_info.fix.mmio_start = info->io_regions.phys_mmio_base; ++ info->fb_info.fix.mmio_len = MQ200_REGS_SIZE; ++ info->fb_info.fix.type = FB_TYPE_PACKED_PIXELS; ++ info->fb_info.fix.accel = FB_ACCEL_NONE; ++ info->fb_info.fix.line_length = MQ200_MONITOR_LINE_LENGTH(info); ++ ++ if(MQ200_MONITOR_DEPTH(info) <= 8 ) ++ info->fb_info.fix.visual = FB_VISUAL_PSEUDOCOLOR; ++ else if( MQ200_MONITOR_DEPTH(info) >= 16 ) ++ info->fb_info.fix.visual = FB_VISUAL_DIRECTCOLOR; ++ else ++ panic("Calling mq200 with wrong display data\n"); ++ ++ /* set the variable screen info */ ++ info->fb_info.var.xres = MQ200_MONITOR_HORI_RES(info); ++ info->fb_info.var.yres = MQ200_MONITOR_VERT_RES(info); ++ info->fb_info.var.xres_virtual = MQ200_MONITOR_HORI_RES(info); ++ info->fb_info.var.yres_virtual = MQ200_MONITOR_VERT_RES(info); ++ info->fb_info.var.bits_per_pixel = MQ200_MONITOR_DEPTH(info); ++ ++ mq200_internal_init_color(&info->fb_info.var.red, ++ &info->fb_info.var.green, ++ &info->fb_info.var.blue, ++ MQ200_MONITOR_DEPTH(info) ); ++ ++ info->fb_info.var.transp.length = info->fb_info.var.transp.offset = 0; ++ info->fb_info.var.height = info->fb_info.var.width = -1; ++ ++ info->fb_info.var.vmode = FB_VMODE_NONINTERLACED; ++ info->fb_info.var.pixclock = 10000; ++ info->fb_info.var.left_margin = info->fb_info.var.right_margin = 16; ++ info->fb_info.var.upper_margin = info->fb_info.var.lower_margin = 16; ++ info->fb_info.var.hsync_len = info->fb_info.var.vsync_len = 8; ++ ++ info->fb_info.var.nonstd = 0; ++ info->fb_info.var.activate = FB_ACTIVATE_NOW; ++ info->fb_info.var.accel_flags = 0; ++ ++ return info; ++} ++ ++ ++extern void mq200_register_attributes(struct device* ); ++/* ++ * gets called from the bus ++ * we will register our framebuffer from here ++ */ ++static int __init mq200_probe(struct device *dev) ++{ ++ struct mq200_info *info = NULL; ++ int retv= 0; ++ ++ info = mq200_internal_init_fbinfo(); ++ if(!mq200_external_probe(info->io_regions.virt_mmio_base)) ++ goto error_out; ++ ++ ++ GAFR &= ~(1<<3); ++ GPSR |= (1<<3); ++ GPDR |= (1<<3); ++ ++ mq200_external_setqmode(&info->monitor_info, ++ info->io_regions.virt_mmio_base, ++ &info->lock); ++ ++ info->fb_info.fbops = &mq200_ops; ++ info->fb_info.flags = FBINFO_FLAG_DEFAULT; ++ ++ mq200_check_var(&info->fb_info.var, &info->fb_info ); ++ ++ fb_alloc_cmap(&info->fb_info.cmap, 1 << MQ200_MONITOR_DEPTH(info), 0 ); ++ ++ info->fb_info.pseudo_palette = (void*)info->pseudo_palette; ++ ++ /* save the pointer to the mq200 struct in var */ ++ info->fb_info.par = info; ++ ++ retv = register_framebuffer(&info->fb_info ); ++ if(retv < 0) ++ goto error_out; ++ ++ ++ /* will get unset if retv != 0 */ ++ dev_set_drvdata(dev, info ); ++ return retv; ++ ++/* ++ * Free the info and exit ++ */ ++error_out: ++ kfree(info); ++ return -EINVAL; ++} ++ ++#ifdef CONFIG_PM ++static struct mq200_info* get_mq200_info( struct device *dev) ++{ ++ return dev_get_drvdata(dev); ++} ++ ++static unsigned long get_mmio_base( struct device *dev ) ++{ ++ struct mq200_info *info = get_mq200_info(dev); ++ return info->io_regions.virt_mmio_base; ++} ++ ++static struct mq200_monitor_info* get_monitor_info( struct device *dev) ++{ ++ struct mq200_info *info = get_mq200_info(dev); ++ return &info->monitor_info; ++} ++ ++static spinlock_t* get_spinlock( struct device *dev) ++{ ++ return &get_mq200_info(dev)->lock; ++} ++ ++/* ++ * FIXME: make sure we only call mq200_external_offdisplay only once ++ * a 2nd time will hang the kernel -zecke ++ * ++ * FIXME: save the content of the framebuffer inside dev->saved_state ++ * so on resume we can memcpy it back into the buffer and userspace ++ * does not need to redraw ++ * ++ * functions for suspending and resuming ++ */ ++static int mq200_suspend(struct device *dev, pm_message_t state) ++{ ++ ++ mq200_external_offdisplay( get_mmio_base(dev) ); ++ clear_cs3_bit(DISPLAY_ON); ++ ++ ++ return 0; ++} ++ ++static int mq200_resume(struct device *dev) ++{ ++ unsigned long mem = get_mmio_base(dev); ++ struct mq200_monitor_info *monitor = get_monitor_info(dev); ++ mq200_external_setqmode(monitor, mem, get_spinlock(dev) ); ++ ++ ++ /* ++ * Set display on if it was on ++ */ ++ set_cs3_bit(DISPLAY_ON); ++ ++ return 0; ++} ++ ++ ++#endif ++ ++ ++static struct device_driver mq200fb_driver = { ++ .name = "simpad-mq200", ++ .bus = &platform_bus_type, ++ .probe = mq200_probe, /* will be called after we've registered the driver */ ++ .suspend = mq200_suspend, ++ .resume = mq200_resume ++}; ++ ++int __devinit mq200_init(void) ++{ ++ return driver_register(&mq200fb_driver); ++} ++ ++module_init(mq200_init); ++MODULE_DESCRIPTION("MQ200 framebuffer driver"); ++MODULE_LICENSE("GPL"); ++MODULE_AUTHOR("Holger Hans Peter Freyther"); diff --git a/packages/linux/linux/simpad/linux-2.6.20.SIMpad.ucb1x00-switches.patch b/packages/linux/linux/simpad/linux-2.6.20.SIMpad.ucb1x00-switches.patch new file mode 100644 index 0000000000..cbc2272eb2 --- /dev/null +++ b/packages/linux/linux/simpad/linux-2.6.20.SIMpad.ucb1x00-switches.patch @@ -0,0 +1,227 @@ +diff -uNr linux-2.6.20.vanilla/drivers/mfd/Kconfig linux-2.6.20/drivers/mfd/Kconfig +--- linux-2.6.20.vanilla/drivers/mfd/Kconfig 2007-02-09 18:27:41.000000000 +0100 ++++ linux-2.6.20/drivers/mfd/Kconfig 2007-02-09 19:29:23.000000000 +0100 +@@ -23,4 +23,7 @@ + tristate "Touchscreen interface support" + depends on MCP_UCB1200 && INPUT + ++config MCP_UCB1200_SWITCHES ++ tristate "SIMpad Switches support" ++ depends on MCP_UCB1200 && INPUT + endmenu +diff -uNr linux-2.6.20.vanilla/drivers/mfd/Makefile linux-2.6.20/drivers/mfd/Makefile +--- linux-2.6.20.vanilla/drivers/mfd/Makefile 2007-02-09 18:27:41.000000000 +0100 ++++ linux-2.6.20/drivers/mfd/Makefile 2007-02-09 19:29:23.000000000 +0100 +@@ -6,7 +6,7 @@ + obj-$(CONFIG_MCP_SA11X0) += mcp-sa11x0.o + obj-$(CONFIG_MCP_UCB1200) += ucb1x00-core.o + obj-$(CONFIG_MCP_UCB1200_TS) += ucb1x00-ts.o +- ++obj-$(CONFIG_MCP_UCB1200_SWITCHES) += ucb1x00-switches.o + ifeq ($(CONFIG_SA1100_ASSABET),y) + obj-$(CONFIG_MCP_UCB1200) += ucb1x00-assabet.o + endif +diff -uNr linux-2.6.20.vanilla/drivers/mfd/ucb1x00-switches.c linux-2.6.20/drivers/mfd/ucb1x00-switches.c +--- linux-2.6.20.vanilla/drivers/mfd/ucb1x00-switches.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.20/drivers/mfd/ucb1x00-switches.c 2007-02-09 19:30:34.000000000 +0100 +@@ -0,0 +1,200 @@ ++/* ++ * linux/drivers/mfd/ucb1x00-switches.c ++ * ++ * Copyright (C) 2007 Bernhard Guillon. ++ * ++ * 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. ++ * ++ * This driver is for the Switches of Siemens SIMpad (CL4,SL4,SLC), T-Sinus-Pad and ++ * Swisscom WP50 devices. ++ * ++ * Six switches are routed to GPIO pins on the UCB1300: S3 -- S8. ++ * ++ * This driver is based on the 2.4 ucb1x00-switches, the 2.6 ucb1x00-assabet ++ * and the ucb1x00-ts driver. ++ * ++ */ ++#include <linux/module.h> ++#include <linux/init.h> ++#include <linux/input.h> ++#include <linux/device.h> ++ ++#include <asm/dma.h> ++ ++#include "ucb1x00.h" ++ ++struct ucb1x00_switches { ++ struct input_dev *idev; ++ struct ucb1x00 *ucb; ++}; ++ ++static void ucb1x00_dev_irq(int idx, void *id) ++{ ++ static unsigned short int last; ++ unsigned short int this; ++ struct ucb1x00_switches *switches = id; ++ struct input_dev *idev = switches->idev; ++ ucb1x00_enable(switches->ucb); ++ ++ //check if it really is a event this is not real neccessary because input dev checkes it itself a second. ++ this=~ucb1x00_io_read(switches->ucb); ++ if (this==last) { ++ return; ++ } ++ ++ last=this; ++ switch (idx) { ++ ++ case 0: ++ ++ if ((this & (1<<0)) != 0) input_report_key(idev, KEY_PROG1, 1); ++ else input_report_key(idev, KEY_PROG1, 0); ++ break; ++ ++ case 1: ++ ++ if ((this & (1<<1)) != 0) input_report_key(idev, KEY_PROG2, 1); ++ else input_report_key(idev, KEY_PROG2, 0); ++ break; ++ ++ case 2: ++ ++ if ((this & (1<<2)) != 0) input_report_key(idev, KEY_UP, 1); ++ else input_report_key(idev, KEY_UP, 0); ++ break; ++ ++ case 3: ++ ++ if ((this & (1<<3)) != 0) input_report_key(idev, KEY_DOWN, 1); ++ else input_report_key(idev, KEY_DOWN, 0); ++ break; ++ ++ case 4: ++ ++ if ((this & (1<<4)) != 0) input_report_key(idev, KEY_LEFT, 1); ++ else input_report_key(idev, KEY_LEFT, 0); ++ break; ++ ++ case 5: ++ ++ if ((this & (1<<5)) != 0) input_report_key(idev, KEY_RIGHT, 1); ++ else input_report_key(idev, KEY_RIGHT, 0); ++ break; ++ ++ default: ++ ++ printk(KERN_DEBUG "switches-ucb1x00 is BUGGY!!! \n"); ++ ++ } ++ ++ ucb1x00_disable_irq(switches->ucb, UCB_IRQ_TSPX, UCB_FALLING); ++ ++} ++ ++static int ucb1x00_switches_add(struct ucb1x00_dev *dev) ++{ ++ struct ucb1x00_switches *switches; ++ struct input_dev *idev; ++ int err,i; ++ ++ switches = kzalloc(sizeof(struct ucb1x00_switches), GFP_KERNEL); ++ idev = input_allocate_device(); ++ ++ ++ if (!switches || !idev) { ++ err = -ENOMEM; ++ goto fail; ++ } ++ ++ switches->ucb = dev->ucb; ++ ++ ++ idev->private = switches; ++ idev->name = "SIMpad Switches"; ++ idev->id.product = switches->ucb->id; ++ ++ __set_bit(EV_KEY, idev->evbit); ++ __set_bit(EV_REP, idev->evbit); ++ __set_bit(KEY_PROG1, idev->keybit); ++ __set_bit(KEY_PROG2, idev->keybit); ++ __set_bit(KEY_UP, idev->keybit); ++ __set_bit(KEY_DOWN, idev->keybit); ++ __set_bit(KEY_LEFT, idev->keybit); ++ __set_bit(KEY_RIGHT, idev->keybit); ++ ++ err = input_register_device(idev); ++ if (err) ++ goto fail; ++ switches->idev = idev; ++ dev->priv = switches; ++ ++ ucb1x00_enable(switches->ucb); ++ ++ ucb1x00_io_set_dir(switches->ucb, ++ UCB_IO_0 | UCB_IO_1 | UCB_IO_2 | ++ UCB_IO_3 | UCB_IO_4 | UCB_IO_5, ++ UCB_IO_8 | UCB_IO_9); ++ ++ ucb1x00_disable(switches->ucb); ++ ++ for (i = 0; i < 6; ++i) { ++ ucb1x00_enable_irq(switches->ucb, i, UCB_RISING | UCB_FALLING); ++ if (ucb1x00_hook_irq(switches->ucb, i, ucb1x00_dev_irq, switches) < 0) { ++ printk(KERN_ERR "unable to hook IRQ for " ++ "UCB1300 SWITCH_%d\n", i); ++ return -EBUSY; ++ } ++ } ++ ++ return 0; ++ ++fail: ++ input_free_device(idev); ++ kfree(switches); ++ return err; ++ ++} ++ ++static void ucb1x00_switches_remove(struct ucb1x00_dev *dev) ++{ ++ int i; ++ struct ucb1x00_switches *switches = dev->priv; ++ input_unregister_device(switches->idev); ++ ++ for (i = 5; i >= 0; --i) { ++ ++ ucb1x00_disable_irq(switches->ucb, i, UCB_RISING | UCB_FALLING); ++ ++ /* Only error conditions are ENOENT and EINVAL; silently ++ * ignore: ++ */ ++ ucb1x00_free_irq(switches->ucb, i, NULL); ++ ++ } ++ ucb1x00_disable(switches->ucb); ++ kfree(switches); ++} ++ ++static struct ucb1x00_driver ucb1x00_switches_driver = { ++ .add = ucb1x00_switches_add, ++ .remove = ucb1x00_switches_remove, ++}; ++ ++static int __init ucb1x00_switches_init(void) ++{ ++ return ucb1x00_register_driver(&ucb1x00_switches_driver); ++} ++ ++static void __exit ucb1x00_switches_exit(void) ++{ ++ ucb1x00_unregister_driver(&ucb1x00_switches_driver); ++} ++ ++module_init(ucb1x00_switches_init); ++module_exit(ucb1x00_switches_exit); ++ ++MODULE_AUTHOR("Bernhard Guillon <Bernhard.Guillon@opensimpad.org>"); ++MODULE_DESCRIPTION("UCB1x00 Switches driver for Siemens SIMpad"); ++MODULE_LICENSE("GPL"); diff --git a/packages/linux/linux_2.6.20.bb b/packages/linux/linux_2.6.20.bb index ebf520d3d6..f4372186e6 100644 --- a/packages/linux/linux_2.6.20.bb +++ b/packages/linux/linux_2.6.20.bb @@ -8,10 +8,15 @@ SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \ SRC_URI_append_progear = " \ file://progear_bl-r6.patch;patch=1 \ " +SRC_URI_append_simpad = "\ + file://linux-2.6.20.SIMpad.mq200.patch;patch=1 \ + file://linux-2.6.20.SIMpad.ucb1x00-switches.patch;patch=1 \ + " inherit kernel KERNEL_IMAGETYPE = "bzImage" +KERNEL_IMAGETYPE_simpad = "bzImage" do_configure_prepend() { install -m 0644 ${WORKDIR}/defconfig ${S}/.config diff --git a/packages/lm_sensors/lmsensors-apps_2.10.1.bb b/packages/lm_sensors/lmsensors-apps_2.10.1.bb index 5902c95195..8013f67f6a 100644 --- a/packages/lm_sensors/lmsensors-apps_2.10.1.bb +++ b/packages/lm_sensors/lmsensors-apps_2.10.1.bb @@ -4,7 +4,7 @@ DESCRIPTION = "Hardware health monitoring applications" HOMEPAGE = "http://secure.netroedge.com/~lm78/" -DEPENDS = "sysfsutils" +DEPENDS = "libsysfs" LICENSE = "GPL" SRC_URI = "http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-${PV}.tar.gz \ diff --git a/packages/madwifi/files/10-xscale-be-elf-copts.patch b/packages/madwifi/files/10-xscale-be-elf-copts.patch index 6349061c4c..1a08f3756e 100644 --- a/packages/madwifi/files/10-xscale-be-elf-copts.patch +++ b/packages/madwifi/files/10-xscale-be-elf-copts.patch @@ -1,7 +1,5 @@ -Index: madwifi-ng-r1871-20061229/hal/public/xscale-be-elf.inc -=================================================================== ---- madwifi-ng-r1871-20061229.orig/hal/public/xscale-be-elf.inc 2006-09-14 08:21:22.000000000 +0200 -+++ madwifi-ng-r1871-20061229/hal/public/xscale-be-elf.inc 2007-01-24 22:37:23.000000000 +0100 +--- madwifi.orig/hal/public/xscale-be-elf.inc 2007-01-03 23:42:09.000000000 -0600 ++++ madwifi/hal/public/xscale-be-elf.inc 2007-01-03 23:48:50.000000000 -0600 @@ -77,5 +77,5 @@ LDOPTS= -EB @@ -9,4 +7,4 @@ Index: madwifi-ng-r1871-20061229/hal/public/xscale-be-elf.inc -COPTS+= -march=armv4 -mbig-endian -fno-strict-aliasing -fno-common -mapcs-32 \ - -mtune=xscale -mshort-load-bytes +COPTS+= -march=armv4 -mbig-endian -fno-strict-aliasing -fno-common \ -+ -mtune=xscale -msoft-float -mfp=2 ++ -mtune=xscale diff --git a/packages/madwifi/files/10-xscale-le-elf-copts.patch b/packages/madwifi/files/10-xscale-le-elf-copts.patch index 839bafa592..c4d9937220 100644 --- a/packages/madwifi/files/10-xscale-le-elf-copts.patch +++ b/packages/madwifi/files/10-xscale-le-elf-copts.patch @@ -1,10 +1,8 @@ -Index: madwifi-ng-r1871-20061229/hal/public/xscale-le-elf.inc -=================================================================== ---- madwifi-ng-r1871-20061229.orig/hal/public/xscale-le-elf.inc 2006-09-14 08:21:22.000000000 +0200 -+++ madwifi-ng-r1871-20061229/hal/public/xscale-le-elf.inc 2007-01-24 22:42:38.000000000 +0100 +--- madwifi.orig/hal/public/xscale-le-elf.inc 2007-01-03 23:42:06.000000000 -0600 ++++ madwifi/hal/public/xscale-le-elf.inc 2007-01-03 23:48:50.000000000 -0600 @@ -79,4 +79,4 @@ LDOPTS= -EL COPTS+= -DAH_BYTE_ORDER=AH_LITTLE_ENDIAN COPTS+= -march=armv4 -mlittle-endian -fno-strict-aliasing -fno-common \ - -mapcs-32 -mtune=xscale -mshort-load-bytes -+ -mtune=xscale -msoft-float -mfp=2 ++ -mtune=xscale diff --git a/packages/madwifi/files/slugos-VFP-wackelf.patch b/packages/madwifi/files/20-xscale-VFP-wackelf.patch index a47eed79e7..a47eed79e7 100644 --- a/packages/madwifi/files/slugos-VFP-wackelf.patch +++ b/packages/madwifi/files/20-xscale-VFP-wackelf.patch diff --git a/packages/madwifi/files/slugos-xscale-be-elf-copts.patch b/packages/madwifi/files/slugos-xscale-be-elf-copts.patch deleted file mode 100644 index 1a08f3756e..0000000000 --- a/packages/madwifi/files/slugos-xscale-be-elf-copts.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- madwifi.orig/hal/public/xscale-be-elf.inc 2007-01-03 23:42:09.000000000 -0600 -+++ madwifi/hal/public/xscale-be-elf.inc 2007-01-03 23:48:50.000000000 -0600 -@@ -77,5 +77,5 @@ - - LDOPTS= -EB - COPTS+= -DAH_BYTE_ORDER=AH_BIG_ENDIAN --COPTS+= -march=armv4 -mbig-endian -fno-strict-aliasing -fno-common -mapcs-32 \ -- -mtune=xscale -mshort-load-bytes -+COPTS+= -march=armv4 -mbig-endian -fno-strict-aliasing -fno-common \ -+ -mtune=xscale diff --git a/packages/madwifi/files/slugos-xscale-le-elf-copts.patch b/packages/madwifi/files/slugos-xscale-le-elf-copts.patch deleted file mode 100644 index c4d9937220..0000000000 --- a/packages/madwifi/files/slugos-xscale-le-elf-copts.patch +++ /dev/null @@ -1,8 +0,0 @@ ---- madwifi.orig/hal/public/xscale-le-elf.inc 2007-01-03 23:42:06.000000000 -0600 -+++ madwifi/hal/public/xscale-le-elf.inc 2007-01-03 23:48:50.000000000 -0600 -@@ -79,4 +79,4 @@ - LDOPTS= -EL - COPTS+= -DAH_BYTE_ORDER=AH_LITTLE_ENDIAN - COPTS+= -march=armv4 -mlittle-endian -fno-strict-aliasing -fno-common \ -- -mapcs-32 -mtune=xscale -mshort-load-bytes -+ -mtune=xscale diff --git a/packages/madwifi/madwifi-ng-r1844-20061208/10-xscale-be-elf-copts.patch b/packages/madwifi/madwifi-ng-r1844-20061208/10-xscale-be-elf-copts.patch deleted file mode 100644 index f285540d06..0000000000 --- a/packages/madwifi/madwifi-ng-r1844-20061208/10-xscale-be-elf-copts.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: madwifi-ng-r1844-20061208/hal/public/xscale-be-elf.inc -=================================================================== ---- madwifi-ng-r1844-20061208.orig/hal/public/xscale-be-elf.inc -+++ madwifi-ng-r1844-20061208/hal/public/xscale-be-elf.inc -@@ -77,5 +77,5 @@ AH_REGOPS_FUNC=1 - - LDOPTS= -EB - COPTS+= -DAH_BYTE_ORDER=AH_BIG_ENDIAN --COPTS+= -march=armv4 -mbig-endian -fno-strict-aliasing -fno-common -mapcs-32 \ -- -mtune=xscale -mshort-load-bytes -+COPTS+= -march=armv4 -mbig-endian -fno-strict-aliasing -fno-common \ -+ -mtune=xscale -msoft-float -mfp=2 diff --git a/packages/madwifi/madwifi-ng-r1844-20061208/10-xscale-le-elf-copts.patch b/packages/madwifi/madwifi-ng-r1844-20061208/10-xscale-le-elf-copts.patch deleted file mode 100644 index 3224324699..0000000000 --- a/packages/madwifi/madwifi-ng-r1844-20061208/10-xscale-le-elf-copts.patch +++ /dev/null @@ -1,10 +0,0 @@ -Index: madwifi-ng-r1844-20061208/hal/public/xscale-le-elf.inc -=================================================================== ---- madwifi-ng-r1844-20061208.orig/hal/public/xscale-le-elf.inc -+++ madwifi-ng-r1844-20061208/hal/public/xscale-le-elf.inc -@@ -79,4 +79,4 @@ AH_REGOPS_FUNC=1 - LDOPTS= -EL - COPTS+= -DAH_BYTE_ORDER=AH_LITTLE_ENDIAN - COPTS+= -march=armv4 -mlittle-endian -fno-strict-aliasing -fno-common \ -- -mapcs-32 -mtune=xscale -mshort-load-bytes -+ -mtune=xscale -msoft-float -mfp=2 diff --git a/packages/madwifi/madwifi-ng_r.inc b/packages/madwifi/madwifi-ng_r.inc index 4f38799a8d..01d0e1e0d3 100644 --- a/packages/madwifi/madwifi-ng_r.inc +++ b/packages/madwifi/madwifi-ng_r.inc @@ -9,12 +9,8 @@ PR="r0" SRC_URI = "http://snapshots.madwifi.org/${PN}/${PN}-${PV}.tar.gz \ file://10-xscale-be-elf-copts.patch;patch=1 \ file://10-xscale-le-elf-copts.patch;patch=1 \ - file://10-sh4-le-elf-copts.patch;patch=1" - -SRC_URI_slugos = "http://snapshots.madwifi.org/${PN}/${PN}-${PV}.tar.gz \ - file://slugos-xscale-be-elf-copts.patch;patch=1 \ - file://slugos-xscale-le-elf-copts.patch;patch=1 \ - file://slugos-VFP-wackelf.patch;patch=1" + file://10-sh4-le-elf-copts.patch;patch=1" \ + file://20-xscale-VFP-wackelf.patch;patch=1" S = "${WORKDIR}/${PN}-${PV}" @@ -22,8 +18,7 @@ inherit module-base EXTRA_OEMAKE = "LDFLAGS= KERNELPATH=${STAGING_KERNEL_DIR} KERNELRELEASE=${KERNEL_VERSION} TOOLPREFIX=${TARGET_PREFIX}" -EXTRA_OEMAKE_prepend_ixp4xxle = "TARGET=xscale-le-elf " -EXTRA_OEMAKE_prepend_ixp4xxbe = "TARGET=xscale-be-elf " +EXTRA_OEMAKE_prepend_ixp4xx = "TARGET=xscale-${SITEINFO_ENDIANESS}-elf " do_compile() { oe_runmake all diff --git a/packages/madwifi/madwifi-ng_r1527-20060425.bb b/packages/madwifi/madwifi-ng_r1527-20060425.bb deleted file mode 100644 index 84af37257d..0000000000 --- a/packages/madwifi/madwifi-ng_r1527-20060425.bb +++ /dev/null @@ -1,2 +0,0 @@ -require madwifi-ng_r.inc -PR="r0" diff --git a/packages/madwifi/madwifi-ng_r1692-20060723.bb b/packages/madwifi/madwifi-ng_r1692-20060723.bb deleted file mode 100644 index 6268f2b78f..0000000000 --- a/packages/madwifi/madwifi-ng_r1692-20060723.bb +++ /dev/null @@ -1,2 +0,0 @@ -require madwifi-ng_r.inc -PR="r1" diff --git a/packages/madwifi/madwifi-ng_r1871-20061229.bb b/packages/madwifi/madwifi-ng_r2100-20070210.bb index 42d8ccafe4..42d8ccafe4 100644 --- a/packages/madwifi/madwifi-ng_r1871-20061229.bb +++ b/packages/madwifi/madwifi-ng_r2100-20070210.bb diff --git a/packages/matchbox2/.mtn2git_empty b/packages/matchbox2/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/matchbox2/.mtn2git_empty diff --git a/packages/matchbox2/files/.mtn2git_empty b/packages/matchbox2/files/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/matchbox2/files/.mtn2git_empty diff --git a/packages/matchbox2/files/glib-2.8-backport.patch b/packages/matchbox2/files/glib-2.8-backport.patch new file mode 100644 index 0000000000..339477de70 --- /dev/null +++ b/packages/matchbox2/files/glib-2.8-backport.patch @@ -0,0 +1,110 @@ +Index: matchbox-panel-2/applets/windowselector/windowselector.c +=================================================================== +--- matchbox-panel-2.orig/applets/windowselector/windowselector.c 2007-01-24 19:24:27.000000000 +0100 ++++ matchbox-panel-2/applets/windowselector/windowselector.c 2007-01-25 02:34:21.000000000 +0100 +@@ -56,7 +56,7 @@ + applet); + } + +- g_slice_free (WindowSelectorApplet, applet); ++ g_free (applet); + } + + /* Retrieves the UTF-8 property @atom from @window */ +@@ -673,7 +673,7 @@ + GtkWidget *menu_bar, *menu_item, *image; + + /* Create applet data structure */ +- applet = g_slice_new (WindowSelectorApplet); ++ applet = g_new (WindowSelectorApplet,1); + + applet->root_window = NULL; + applet->menu = NULL; +Index: matchbox-panel-2/applets/battery/battery.c +=================================================================== +--- matchbox-panel-2.orig/applets/battery/battery.c 2007-01-24 19:24:28.000000000 +0100 ++++ matchbox-panel-2/applets/battery/battery.c 2007-01-25 02:34:21.000000000 +0100 +@@ -24,7 +24,7 @@ + { + g_source_remove (applet->timeout_id); + +- g_slice_free (BatteryApplet, applet); ++ g_free (applet); + } + + /* Called every 5 minutes */ +@@ -97,7 +97,7 @@ + } + + /* Create applet data structure */ +- applet = g_slice_new (BatteryApplet); ++ applet = g_new (BatteryApplet,1); + + applet->last_icon = NULL; + +Index: matchbox-panel-2/applets/showdesktop/showdesktop.c +=================================================================== +--- matchbox-panel-2.orig/applets/showdesktop/showdesktop.c 2007-01-24 19:24:28.000000000 +0100 ++++ matchbox-panel-2/applets/showdesktop/showdesktop.c 2007-01-25 02:34:21.000000000 +0100 +@@ -36,7 +36,7 @@ + applet); + } + +- g_slice_free (ShowDesktopApplet, applet); ++ g_free (applet); + } + + /* Sync @applet with the _NET_SHOWING_DESKTOP root window property */ +@@ -180,7 +180,7 @@ + GtkWidget *button, *image; + + /* Create applet data structure */ +- applet = g_slice_new (ShowDesktopApplet); ++ applet = g_new (ShowDesktopApplet,1); + + applet->block_toggle = FALSE; + applet->root_window = NULL; +Index: matchbox-panel-2/applets/launcher/launcher.c +=================================================================== +--- matchbox-panel-2.orig/applets/launcher/launcher.c 2007-01-24 19:24:27.000000000 +0100 ++++ matchbox-panel-2/applets/launcher/launcher.c 2007-01-25 02:35:40.000000000 +0100 +@@ -36,7 +36,7 @@ + g_free (applet->name); + g_strfreev (applet->argv); + +- g_slice_free (LauncherApplet, applet); ++ g_free (applet); + } + + /* Convert command line to argv array, stripping % conversions on the way */ +@@ -335,7 +335,7 @@ + gtk_container_add (GTK_CONTAINER (event_box), image); + + /* Set up applet structure */ +- applet = g_slice_new (LauncherApplet); ++ applet = g_new (LauncherApplet,1); + + applet->image = GTK_IMAGE (image); + +Index: matchbox-panel-2/applets/clock/clock.c +=================================================================== +--- matchbox-panel-2.orig/applets/clock/clock.c 2007-01-24 19:24:28.000000000 +0100 ++++ matchbox-panel-2/applets/clock/clock.c 2007-01-25 02:35:25.000000000 +0100 +@@ -21,7 +21,7 @@ + { + g_source_remove (applet->timeout_id); + +- g_slice_free (ClockApplet, applet); ++ g_free (applet); + } + + /* Called every minute */ +@@ -67,7 +67,7 @@ + struct tm *local_time; + + /* Create applet data structure */ +- applet = g_slice_new (ClockApplet); ++ applet = g_new (ClockApplet,1); + + /* Create label */ + label = gtk_label_new (NULL); diff --git a/packages/matchbox2/matchbox-panel-2_svn.bb b/packages/matchbox2/matchbox-panel-2_svn.bb new file mode 100644 index 0000000000..229922e310 --- /dev/null +++ b/packages/matchbox2/matchbox-panel-2_svn.bb @@ -0,0 +1,21 @@ +DESCRIPTION = "matchbox-panel-2 is a lightweight dock (system tray) application based on Gtk+" +LICENSE = "GPL" +SECTION = "x11/panels" +DEPENDS = "gtk+" +PV = "0.1+svn${SRCDATE}" +PR = "r1" + +SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http" +S = "${WORKDIR}/${PN}" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--disable-startup-notification --disable-libnotify" + +do_stage() { + autotools_stage_all +} + +PACKAGES += "${PN}-applets" +FILES_${PN}-applets = "${libdir}/matchbox-panel/lib*.so* ${datadir}/*" + diff --git a/packages/mediatomb/mediatomb_svn.bb b/packages/mediatomb/mediatomb_svn.bb index 4d8b4f2c4d..0283eb6ae7 100644 --- a/packages/mediatomb/mediatomb_svn.bb +++ b/packages/mediatomb/mediatomb_svn.bb @@ -3,7 +3,7 @@ HOMEPAGE = "http://mediatomb.org/" LICENSE = "GPLv2" DEPENDS = "sqlite3 libexif js zlib file id3lib" PV = "0.8+0.9pre1+svn${SRCDATE}-sqlite" -PR = "r1" +PR = "r2" SRC_URI = "svn://mediatomb.svn.sourceforge.net/svnroot/mediatomb/trunk;proto=https;module=mediatomb" @@ -16,7 +16,7 @@ EXTRA_OECONF = "--disable-mysql \ --enable-sqlite3 \ --enable-libjs \ --enable-libmagic \ - --enable-taglib \ + --enable-id3lib \ --enable-libexif \ --disable-largefile \ --with-sqlite3-h=${STAGING_INCDIR} \ @@ -29,4 +29,5 @@ EXTRA_OECONF = "--disable-mysql \ --with-zlib-libs=${STAGING_LIBDIR} \ --with-js-h=${STAGING_INCDIR}/js \ --with-js-libs=${STAGING_LIBDIR} \ - --with-taglib-cfg=${STAGING_BINDIR_CROSS}/taglib-config" + --with-id3lib-h=${STAGING_INCDIR} \ + --with-id3lib-libs=${STAGING_LIBDIR}" diff --git a/packages/meta/slugos-native.bb b/packages/meta/slugos-native.bb index d8e8ee96bb..3b4023ba45 100644 --- a/packages/meta/slugos-native.bb +++ b/packages/meta/slugos-native.bb @@ -11,7 +11,6 @@ INHIBIT_DEFAULT_DEPS = "1" EXCLUDE_FROM_WORLD = "1" ALLOW_EMPTY = "1" PACKAGES = "${PN}" -PROVIDES += "${SLUGOS_IMAGENAME}-native" # Run-time only (RDEPENDS) stuff - no package explicitly provides # these targets. diff --git a/packages/meta/slugos-packages.bb b/packages/meta/slugos-packages.bb index 01a79a8e75..ecb296324c 100644 --- a/packages/meta/slugos-packages.bb +++ b/packages/meta/slugos-packages.bb @@ -5,9 +5,8 @@ DESCRIPTION = "Packages that are compatible with the SlugOS firmware" HOMEPAGE = "http://www.nslu2-linux.org" LICENSE = "MIT" -PR = "r17" +PR = "r19" CONFLICTS = "db3" -PROVIDES += "${SLUGOS_IMAGENAME}-packages" COMPATIBLE_MACHINE = "nslu2" EXCLUDE_FROM_WORLD = "1" @@ -45,6 +44,7 @@ SLUGOS_PACKAGES = "\ cron \ ctorrent \ cvs \ + cyrus-imapd \ cyrus-sasl \ db \ devlabel \ @@ -106,6 +106,7 @@ SLUGOS_PACKAGES = "\ make \ masqmail \ mdadm \ + mediatomb \ memtester \ mgetty \ miau \ @@ -123,6 +124,8 @@ SLUGOS_PACKAGES = "\ netcat \ nmap \ ntp \ + obexftp \ + obexpush \ openobex-apps \ openldap \ openntpd \ @@ -136,7 +139,6 @@ SLUGOS_PACKAGES = "\ pkgconfig \ ppp \ procps \ - pvrusb2-mci \ python \ quilt \ reiserfsprogs reiser4progs \ @@ -179,13 +181,12 @@ SLUGOS_BROKEN_PACKAGES = "\ irssi \ libgphoto2 \ netpbm \ - obexftp \ puppy \ + pvrusb2-mci \ qc-usb-messenger \ sane-backends \ unionfs-modules \ unionfs-utils \ - cyrus-imapd \ lirc \ pwc \ zd1211 \ diff --git a/packages/mozilla/files/arm/.mtn2git_empty b/packages/mozilla/files/arm/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/mozilla/files/arm/.mtn2git_empty diff --git a/packages/mozilla/firefox-1.5.0.6/jsautocfg.h b/packages/mozilla/files/arm/jsautocfg.h index 05f3dad50a..7e8171fc23 100644 --- a/packages/mozilla/firefox-1.5.0.6/jsautocfg.h +++ b/packages/mozilla/files/arm/jsautocfg.h @@ -1,7 +1,7 @@ #ifndef js_cpucfg___ #define js_cpucfg___ -/* Lovingly crafted by hand avoiding Mozilla stupidity */ +/* AUTOMATICALLY GENERATED - DO NOT EDIT */ #define IS_LITTLE_ENDIAN 1 #undef IS_BIG_ENDIAN @@ -37,15 +37,15 @@ #define JS_ALIGN_OF_SHORT 2L #define JS_ALIGN_OF_INT 4L #define JS_ALIGN_OF_LONG 4L -#define JS_ALIGN_OF_INT64 4L +#define JS_ALIGN_OF_INT64 8L #define JS_ALIGN_OF_FLOAT 4L -#define JS_ALIGN_OF_DOUBLE 4L +#define JS_ALIGN_OF_DOUBLE 8L #define JS_ALIGN_OF_POINTER 4L #define JS_ALIGN_OF_WORD 4L #define JS_BYTES_PER_WORD_LOG2 2L #define JS_BYTES_PER_DWORD_LOG2 3L -#define JS_WORDS_PER_DWORD_LOG2 2L +#define JS_WORDS_PER_DWORD_LOG2 1L #define JS_STACK_GROWTH_DIRECTION (-1) diff --git a/packages/mozilla/files/powerpc/.mtn2git_empty b/packages/mozilla/files/powerpc/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/mozilla/files/powerpc/.mtn2git_empty diff --git a/packages/mozilla/firefox-1.0.7/jsautocfg.h b/packages/mozilla/files/powerpc/jsautocfg.h index 05f3dad50a..93d03744f2 100644 --- a/packages/mozilla/firefox-1.0.7/jsautocfg.h +++ b/packages/mozilla/files/powerpc/jsautocfg.h @@ -1,10 +1,10 @@ #ifndef js_cpucfg___ #define js_cpucfg___ -/* Lovingly crafted by hand avoiding Mozilla stupidity */ +/* AUTOMATICALLY GENERATED - DO NOT EDIT */ -#define IS_LITTLE_ENDIAN 1 -#undef IS_BIG_ENDIAN +#undef IS_LITTLE_ENDIAN +#define IS_BIG_ENDIAN 1 #define JS_BYTES_PER_BYTE 1L #define JS_BYTES_PER_SHORT 2L @@ -37,15 +37,15 @@ #define JS_ALIGN_OF_SHORT 2L #define JS_ALIGN_OF_INT 4L #define JS_ALIGN_OF_LONG 4L -#define JS_ALIGN_OF_INT64 4L +#define JS_ALIGN_OF_INT64 8L #define JS_ALIGN_OF_FLOAT 4L -#define JS_ALIGN_OF_DOUBLE 4L +#define JS_ALIGN_OF_DOUBLE 8L #define JS_ALIGN_OF_POINTER 4L #define JS_ALIGN_OF_WORD 4L #define JS_BYTES_PER_WORD_LOG2 2L #define JS_BYTES_PER_DWORD_LOG2 3L -#define JS_WORDS_PER_DWORD_LOG2 2L +#define JS_WORDS_PER_DWORD_LOG2 1L #define JS_STACK_GROWTH_DIRECTION (-1) diff --git a/packages/mozilla/firefox-2.0.0.1/.mtn2git_empty b/packages/mozilla/firefox-2.0.0.1/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/mozilla/firefox-2.0.0.1/.mtn2git_empty diff --git a/packages/mozilla/firefox-2.0.0.1/jsautocfg-dontoverwrite.patch b/packages/mozilla/firefox-2.0.0.1/jsautocfg-dontoverwrite.patch new file mode 100644 index 0000000000..39978cfd11 --- /dev/null +++ b/packages/mozilla/firefox-2.0.0.1/jsautocfg-dontoverwrite.patch @@ -0,0 +1,23 @@ +--- mozilla/js/src/Makefile.in.orig 2006-12-12 11:46:02.000000000 +0000 ++++ mozilla/js/src/Makefile.in 2006-12-12 11:46:27.000000000 +0000 +@@ -319,20 +319,8 @@ + + jsopcode.h jsopcode.c: jsopcode.tbl + +-ifeq (,$(CROSS_COMPILE)$(filter-out WINNT,$(OS_ARCH))) + jsautocfg.h: + touch $@ +-else +-ifeq ($(OS_ARCH),WINCE) +-jsautocfg.h: +- touch $@ +-else +-jsautocfg.h: jscpucfg$(HOST_BIN_SUFFIX) +- @rm -f $@ jsautocfg.tmp +- ./jscpucfg > jsautocfg.tmp +- mv jsautocfg.tmp $@ +-endif +-endif + + # jscpucfg is a strange target + # Needs to be built with the host compiler but needs to include diff --git a/packages/mozilla/firefox-2.0.0.1/jsdtoa-float-type.patch b/packages/mozilla/firefox-2.0.0.1/jsdtoa-float-type.patch new file mode 100644 index 0000000000..028900fa1b --- /dev/null +++ b/packages/mozilla/firefox-2.0.0.1/jsdtoa-float-type.patch @@ -0,0 +1,13 @@ +Index: mozilla/js/src/jsdtoa.c +=================================================================== +--- mozilla.orig/js/src/jsdtoa.c ++++ mozilla/js/src/jsdtoa.c +@@ -175,7 +175,7 @@ + * #define NO_IEEE_Scale to disable new (Feb. 1997) logic in strtod that + * avoids underflows on inputs whose result does not underflow. + */ +-#ifdef IS_LITTLE_ENDIAN ++#if defined(IS_LITTLE_ENDIAN) && (!defined(__arm__) || defined(__VFP_FP__)) + #define IEEE_8087 + #else + #define IEEE_MC68k diff --git a/packages/mozilla/firefox-2.0.0.1/mozconfig b/packages/mozilla/firefox-2.0.0.1/mozconfig new file mode 100644 index 0000000000..9737330a77 --- /dev/null +++ b/packages/mozilla/firefox-2.0.0.1/mozconfig @@ -0,0 +1,57 @@ +. $topsrcdir/browser/config/mozconfig + +# use GTK+-2 widget set with XFT font rendering +ac_add_options --enable-default-toolkit=gtk2 +ac_add_options --enable-xft +ac_add_options --disable-freetype2 + +# enable minimal profile support +ac_add_options --disable-profilesharing +ac_add_options --disable-profilelocking +ac_add_options --enable-single-profile + +ac_add_options --with-system-zlib +ac_add_options --with-system-jpeg +ac_add_options --with-system-png + +ac_add_options --disable-accessibility +ac_add_options --disable-composer +#ac_add_options --enable-plaintext-editor-only +ac_add_options --disable-mailnews +ac_add_options --disable-ldap +#ac_add_options --disable-postscript +ac_add_options --disable-mathml +ac_add_options --disable-jsd +ac_add_options --disable-installer +ac_add_options --disable-xprint +ac_add_options --disable-necko-disk-cache + +# configure necko to allocate smaller network buffers +ac_add_options --enable-necko-small-buffers + +# disable debug logging and tests +#ac_add_options --disable-dtd-debug +ac_add_options --disable-logging +ac_add_options --enable-debug=-ggdb +ac_add_options --disable-gtktest +ac_add_options --disable-tests +ac_add_options --disable-printing +ac_add_options --disable-gnomevfs +ac_add_options --disable-gnomeui + +# build crypto module (PSM + NSS) +ac_add_options --enable-crypto + +# build minimal set of protocol handlers +ac_add_options --enable-necko-protocols=http,file,res,jar,ftp,about,viewsource + +# build minimal set of image decoders +ac_add_options --enable-image-decoders=png,gif,jpeg + +#ac_add_options --enable-reorder +#ac_add_options --enable-elf-dynstr-gc + +# enable static build +#ac_add_options --disable-shared +#ac_add_options --enable-static +ac_add_options --enable-optimize=-O1 diff --git a/packages/mozilla/firefox-2.0.0.1/mult-crash-fix.patch b/packages/mozilla/firefox-2.0.0.1/mult-crash-fix.patch new file mode 100644 index 0000000000..cb30f896ed --- /dev/null +++ b/packages/mozilla/firefox-2.0.0.1/mult-crash-fix.patch @@ -0,0 +1,14 @@ +$OpenBSD: patch-nsprpub_pr_src_misc_prdtoa_c,v 1.1 2005/11/03 00:59:43 pvalchev Exp $ +Index: mozilla/nsprpub/pr/src/misc/prdtoa.c +=================================================================== +--- mozilla.orig/nsprpub/pr/src/misc/prdtoa.c ++++ mozilla/nsprpub/pr/src/misc/prdtoa.c +@@ -855,7 +855,7 @@ mult + wc = wa + wb; + if (wc > a->maxwds) + k++; +- c = Balloc(k); ++ c = Balloc(k*2); + for(x = c->x, xa = x + wc; x < xa; x++) + *x = 0; + xa = a->x; diff --git a/packages/mozilla/firefox-2.0.0.1/security-cross.patch b/packages/mozilla/firefox-2.0.0.1/security-cross.patch new file mode 100644 index 0000000000..56c8d04a9e --- /dev/null +++ b/packages/mozilla/firefox-2.0.0.1/security-cross.patch @@ -0,0 +1,93 @@ +--- mozilla/security/coreconf/Linux.mk.orig 2006-12-12 10:53:12.000000000 +0000 ++++ mozilla/security/coreconf/Linux.mk 2006-12-12 10:54:13.000000000 +0000 +@@ -52,88 +52,8 @@ + + DEFAULT_COMPILER = gcc + +-ifeq ($(OS_TEST),m68k) +- OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE +- CPU_ARCH = m68k +-else +-ifeq ($(OS_TEST),ppc64) +- OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE +- CPU_ARCH = ppc +-ifeq ($(USE_64),1) +- ARCHFLAG = -m64 +-endif +-else +-ifeq ($(OS_TEST),ppc) +- OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE +- CPU_ARCH = ppc +-else +-ifeq ($(OS_TEST),alpha) +- OS_REL_CFLAGS = -D_ALPHA_ -DLINUX1_2 -D_XOPEN_SOURCE +- CPU_ARCH = alpha +-else +-ifeq ($(OS_TEST),ia64) +- OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE +- CPU_ARCH = ia64 +-else +-ifeq ($(OS_TEST),x86_64) +-ifeq ($(USE_64),1) +- OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE +- CPU_ARCH = x86_64 +-else +- OS_REL_CFLAGS = -DLINUX1_2 -Di386 -D_XOPEN_SOURCE +- CPU_ARCH = x86 +- ARCHFLAG = -m32 +-endif +-else +-ifeq ($(OS_TEST),sparc) +- OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE +- CPU_ARCH = sparc +-else +-ifeq ($(OS_TEST),sparc64) +- OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE +- CPU_ARCH = sparc +-else +-ifeq (,$(filter-out arm% sa110,$(OS_TEST))) +- OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE +- CPU_ARCH = arm +-else +-ifeq ($(OS_TEST),parisc) +- OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE +- CPU_ARCH = hppa +-else +-ifeq ($(OS_TEST),parisc64) +- OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE +- CPU_ARCH = hppa +-else +-ifeq ($(OS_TEST),s390) +- OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE +- CPU_ARCH = s390 +-else +-ifeq ($(OS_TEST),s390x) +- OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE +- CPU_ARCH = s390x +-else +-ifeq ($(OS_TEST),mips) +- OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE +- CPU_ARCH = mips +-else +- OS_REL_CFLAGS = -DLINUX1_2 -Di386 -D_XOPEN_SOURCE +- CPU_ARCH = x86 +-endif +-endif +-endif +-endif +-endif +-endif +-endif +-endif +-endif +-endif +-endif +-endif +-endif +-endif +- ++OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE ++CPU_ARCH = + + LIBC_TAG = _glibc + diff --git a/packages/mozilla/firefox-2.0.0.1/xptcinvoke-arm.patch b/packages/mozilla/firefox-2.0.0.1/xptcinvoke-arm.patch new file mode 100644 index 0000000000..bc0c6f4e5c --- /dev/null +++ b/packages/mozilla/firefox-2.0.0.1/xptcinvoke-arm.patch @@ -0,0 +1,11 @@ +--- iceweasel-2.0.0.1+dfsg.orig/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp ++++ iceweasel-2.0.0.1+dfsg/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp +@@ -212,7 +212,7 @@ + "add sp, sp, r4 \n\t" /* restore stack pointer */ + "mov %0, r0 \n\t" /* the result... */ + : "=r" (result) +- : "r" (&my_params) ++ : "r" (&my_params), "m" (my_params) + : "r0", "r1", "r2", "r3", "r4", "ip", "lr", "sp" + ); + diff --git a/packages/mozilla/firefox-2.0.0.1/xptcstubs.patch b/packages/mozilla/firefox-2.0.0.1/xptcstubs.patch new file mode 100644 index 0000000000..f2645690f4 --- /dev/null +++ b/packages/mozilla/firefox-2.0.0.1/xptcstubs.patch @@ -0,0 +1,13 @@ +--- iceweasel-2.0.0.1+dfsg.orig/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp ++++ iceweasel-2.0.0.1+dfsg/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp +@@ -45,7 +45,8 @@ + #endif + + /* Specify explicitly a symbol for this function, don't try to guess the c++ mangled symbol. */ +-static nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) asm("_PrepareAndDispatch"); ++static nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) asm("_PrepareAndDispatch") ++__attribute__((used)); + + static nsresult + PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) + diff --git a/packages/mozilla/firefox_2.0.0.1.bb b/packages/mozilla/firefox_2.0.0.1.bb new file mode 100644 index 0000000000..db3c0f4902 --- /dev/null +++ b/packages/mozilla/firefox_2.0.0.1.bb @@ -0,0 +1,37 @@ +PR = "r1" +SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${PV}/source/firefox-${PV}-source.tar.bz2 \ + file://xptcstubs.patch;patch=1 \ + file://no-xmb.patch;patch=1 \ + file://jsautocfg.h \ + file://extensions-hack.patch;patch=1 \ + file://security-cross.patch;patch=1 \ + file://jsautocfg-dontoverwrite.patch;patch=1 \ + file://xptcinvoke-arm.patch;patch=1 \ + file://jsdtoa-float-type.patch;patch=1 \ + " +S = "${WORKDIR}/mozilla" +DEFAULT_PREFERENCE = "-1" + +inherit mozilla + +require firefox.inc + +do_compile_prepend() { + cp ${WORKDIR}/jsautocfg.h ${S}/js/src/ + + sed -i "s|CPU_ARCH =|CPU_ARCH = ${TARGET_ARCH}|" security/coreconf/Linux.mk +} + +do_stage() { + + install -d ${STAGING_INCDIR}/${P} + cd dist/sdk/include + headers=`find . -name "*.h"` + for f in $headers + do + install -D -m 0644 $f ${STAGING_INCDIR}/${P}/$f + done + # removes 2 lines that call absent headers + sed -e '178,179d' ${STAGING_INCDIR}/${P}/nsIServiceManager.h +} + diff --git a/packages/mrxvt/mrxvt_0.4.1.bb b/packages/mrxvt/mrxvt_0.4.1.bb index 153d226f97..8991295902 100644 --- a/packages/mrxvt/mrxvt_0.4.1.bb +++ b/packages/mrxvt/mrxvt_0.4.1.bb @@ -2,7 +2,7 @@ DESCRIPTION = "MRXVT is a lightweight and powerful X terminal emulator based on HOMEPAGE = "http://materm.sourceforge.net" AUTHOR = "Jimmy Zhou <jimmyzhou@users.sf.net>" LICENSE = "GPL" -SECTION = "x11/apps" +SECTION = "x11/applications" DEPENDS = "virtual/libx11 libxext libxpm jpeg libpng" PR = "r0" diff --git a/packages/mtpaint/.mtn2git_empty b/packages/mtpaint/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/mtpaint/.mtn2git_empty diff --git a/packages/mtpaint/mtpaint_3.02.bb b/packages/mtpaint/mtpaint_3.02.bb new file mode 100644 index 0000000000..5add7e437f --- /dev/null +++ b/packages/mtpaint/mtpaint_3.02.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "mtPaint is a simple painting program" +SECTION = "x11/graphics" +DEPENDS = "gtk+ jpeg" +HOMEPAGE = "http://mtpaint.sf.net" + +SRC_URI = "${SOURCEFORGE_MIRROR}/mtpaint/mtpaint-3.02.tar.bz2" + +do_configure() { + ./configure gtk2 + cat > _conf.txt <<EOF +CC = ${CC} +MT_VERSION=mtPaint 3.02 +MT_DATE=2006-10-14 +LDFLAG = ${LDFLAGS} `pkg-config --libs gtk+-2.0` -ljpeg +CFLAG = ${CFLAGS} `pkg-config --cflags gtk+-2.0` -DVERSION="\"mtPaint 3.02"\" -DU_JPEG +subdirs = src +BIN_INSTALL="/usr/local/bin" +EOF +} + +do_install() { + install -d ${D}${bindir} + install -m 0755 src/mtpaint ${D}${bindir} +} + diff --git a/packages/musicpd/glurp_0.11.3.bb b/packages/musicpd/glurp_0.11.3.bb index 4d9449c904..59cea4f8c9 100644 --- a/packages/musicpd/glurp_0.11.3.bb +++ b/packages/musicpd/glurp_0.11.3.bb @@ -1,9 +1,8 @@ DESCRIPTION = "glurp - frontend for mpd" HOMEPAGE = "http://www.musicpd.org/glurp.shtml" +SECTION = "x11/multimedia" LICENSE = "GPLv2" -SECTION = "gnome/multimedia" DEPENDS = "gtk+ libglade" -PR = "r0" SRC_URI = "${SOURCEFORGE_MIRROR}/glurp/glurp-${PV}.tar.gz" diff --git a/packages/musicpd/gmpc_0.11.2.bb b/packages/musicpd/gmpc_0.11.2.bb index 9468a07249..6ed2ada569 100644 --- a/packages/musicpd/gmpc_0.11.2.bb +++ b/packages/musicpd/gmpc_0.11.2.bb @@ -1,7 +1,7 @@ DESCRIPTION = "GTK+ Frontend for mpd" HOMEPAGE = "http://www.musicpd.org/gmpc.shtml" +SECTION = "x11/multimedia" LICENSE = "GPLv2" -SECTION = "gnome/multimedia" DEPENDS = "gtk+ libglade gnome-vfs" PR = "r1" diff --git a/packages/musicpd/gmpc_0.13.0.bb b/packages/musicpd/gmpc_0.13.0.bb index 3d9c668527..f8c99efb36 100644 --- a/packages/musicpd/gmpc_0.13.0.bb +++ b/packages/musicpd/gmpc_0.13.0.bb @@ -1,7 +1,7 @@ DESCRIPTION = "GTK+ Frontend for mpd" HOMEPAGE = "http://www.musicpd.org/gmpc.shtml" +SECTION = "x11/multimedia" LICENSE = "GPLv2" -SECTION = "gnome/multimedia" DEPENDS = "libmpd gtk+ libglade gnome-vfs" PR = "r0" diff --git a/packages/musicpd/gmpc_svn.bb b/packages/musicpd/gmpc_svn.bb index 9c03faa395..fbaea3e5f2 100644 --- a/packages/musicpd/gmpc_svn.bb +++ b/packages/musicpd/gmpc_svn.bb @@ -1,11 +1,10 @@ DESCRIPTION = "GTK+ Frontend for mpd" HOMEPAGE = "http://www.musicpd.org/gmpc.shtml" +SECTION = "x11/multimedia" LICENSE = "GPLv2" -SECTION = "gnome/multimedia" DEPENDS = "libmpd gtk+ libglade gnome-vfs gob2" SRCDATE = "20070120" PV = "0.13.0+svn${SRCDATE}" -PR = "r0" SRC_URI = "svn://svn.musicpd.org/gmpc;module=trunk;proto=https" S = "${WORKDIR}/trunk" diff --git a/packages/musicpd/libmpd_svn.bb b/packages/musicpd/libmpd_svn.bb index eea7b952a3..4c78eb15f4 100644 --- a/packages/musicpd/libmpd_svn.bb +++ b/packages/musicpd/libmpd_svn.bb @@ -1,10 +1,9 @@ DESCRIPTION = "Music Player Daemon (mpd) library" HOMEPAGE = "http://www.musicpd.org" +SECTION = "libs/multimedia" LICENSE = "GPLv2" -SECTION = "lib/multimedia" SRCDATE = "20070120" PV = "0.0.0+svn${SRCDATE}" -PR = "r0" SRC_URI = "svn://svn.musicpd.org/libmpd;module=trunk;proto=https" S = "${WORKDIR}/trunk" diff --git a/packages/musicpd/mpc_0.11.2.bb b/packages/musicpd/mpc_0.11.2.bb index 8806653357..8d3eaa183a 100644 --- a/packages/musicpd/mpc_0.11.2.bb +++ b/packages/musicpd/mpc_0.11.2.bb @@ -1,7 +1,7 @@ DESCRIPTION = "Command-line (scriptable) Music Player Daemon (mpd) Client" HOMEPAGE = "http://www.musicpd.org/mpc.shtml" -LICENSE = "GPLv2" SECTION = "console/multimedia" +LICENSE = "GPLv2" PR = "r1" SRC_URI = "http://mercury.chem.pitt.edu/~shank/mpc-${PV}.tar.gz" diff --git a/packages/musicpd/mpc_0.12.0.bb b/packages/musicpd/mpc_0.12.0.bb index 6d47f9418f..ccd6926fcd 100644 --- a/packages/musicpd/mpc_0.12.0.bb +++ b/packages/musicpd/mpc_0.12.0.bb @@ -1,8 +1,7 @@ DESCRIPTION = "Command-line (scriptable) Music Player Daemon (mpd) Client" HOMEPAGE = "http://www.musicpd.org/mpc.shtml" -LICENSE = "GPLv2" SECTION = "console/multimedia" -PR = "r0" +LICENSE = "GPLv2" SRC_URI = "http://www.musicpd.org/uploads/files/mpc-${PV}.tar.bz2" EXTRA_OECONF = "--with-iconv-libraries=${STAGING_LIBDIR} \ diff --git a/packages/musicpd/mpd-alsa_0.11.5.bb b/packages/musicpd/mpd-alsa_0.11.5.bb index 1ba1fabd16..939ecec836 100644 --- a/packages/musicpd/mpd-alsa_0.11.5.bb +++ b/packages/musicpd/mpd-alsa_0.11.5.bb @@ -1,7 +1,7 @@ DESCRIPTION = "Music Player Daemon (mpd). This version is configured for alsa support" HOMEPAGE = "http://www.musicpd.org" -LICENSE = "GPLv2" SECTION = "console/multimedia" +LICENSE = "GPLv2" DEPENDS = "libvorbis libogg libid3tag libao-alsa zlib libmikmod libmad flac audiofile virtual/libiconv" RDEPENDS = "libao-alsa" PR = "r3" diff --git a/packages/musicpd/mpd_0.11.2.bb b/packages/musicpd/mpd_0.11.2.bb index 493f677a50..9d3c5f90b0 100644 --- a/packages/musicpd/mpd_0.11.2.bb +++ b/packages/musicpd/mpd_0.11.2.bb @@ -1,7 +1,7 @@ DESCRIPTION = "Music Player Daemon (mpd)" HOMEPAGE = "http://www.musicpd.org" -LICENSE = "GPLv2" SECTION = "console/multimedia" +LICENSE = "GPLv2" DEPENDS = "libvorbis libogg libid3tag libao zlib libmikmod libmad flac audiofile" PR = "r2" diff --git a/packages/musicpd/mpd_0.11.5.bb b/packages/musicpd/mpd_0.11.5.bb index d501d0e478..7a1d17ef5d 100644 --- a/packages/musicpd/mpd_0.11.5.bb +++ b/packages/musicpd/mpd_0.11.5.bb @@ -1,7 +1,7 @@ DESCRIPTION = "Music Player Daemon (mpd)" HOMEPAGE = "http://www.musicpd.org" -LICENSE = "GPLv2" SECTION = "console/multimedia" +LICENSE = "GPLv2" DEPENDS = "libvorbis libogg libid3tag libao zlib libmikmod libmad flac audiofile virtual/libiconv faad2" PR = "r8" diff --git a/packages/musicpd/mpd_svn.bb b/packages/musicpd/mpd_svn.bb index 3478bc76fa..5a338aa7d2 100644 --- a/packages/musicpd/mpd_svn.bb +++ b/packages/musicpd/mpd_svn.bb @@ -1,7 +1,7 @@ DESCRIPTION = "Music Player Daemon (mpd)" HOMEPAGE = "http://www.musicpd.org" -LICENSE = "GPLv2" SECTION = "console/multimedia" +LICENSE = "GPLv2" DEPENDS = "libvorbis libogg libid3tag libao zlib libmikmod libmad flac audiofile virtual/libiconv faad2 pulseaudio" SRCDATE = "20070120" PV = "0.12.1+svn${SRCDATE}" diff --git a/packages/musicpd/ncmpc_0.11.1.bb b/packages/musicpd/ncmpc_0.11.1.bb index c687f9ea02..32195ccb9d 100644 --- a/packages/musicpd/ncmpc_0.11.1.bb +++ b/packages/musicpd/ncmpc_0.11.1.bb @@ -1,9 +1,8 @@ DESCRIPTION = "Ncurses based Music Player Daemon (mpd) Client" HOMEPAGE = "http://www.musicpd.org/ncmpc.shtml" -LICENSE = "GPLv2" SECTION = "console/multimedia" +LICENSE = "GPLv2" DEPENDS = "ncurses glib-2.0" -PR = "r0" SRC_URI = "http://mercury.chem.pitt.edu/~shank/ncmpc-${PV}.tar.gz" diff --git a/packages/musicpd/py-libmpdclient_0.10.0.bb b/packages/musicpd/py-libmpdclient_0.10.0.bb index 675567eede..92423f0c88 100644 --- a/packages/musicpd/py-libmpdclient_0.10.0.bb +++ b/packages/musicpd/py-libmpdclient_0.10.0.bb @@ -1,9 +1,8 @@ DESCRIPTION = "Python library for Music Player Daemon (mpd)" HOMEPAGE = "http://www.musicpd.org/py-libmpdclient.shtml" +SECTION = "libs/multimedia" LICENSE = "GPLv2" -SECTION = "lib/multimedia" DEPENDS = "libmpd python" -PR = "r0" SRC_URI = "http://mercury.chem.pitt.edu/~shank/py-libmpdclient-${PV}.tar.gz" diff --git a/packages/nasm/nasm_0.98.38.bb b/packages/nasm/nasm_0.98.38.bb index 3b9bf36e17..86e7f2b935 100644 --- a/packages/nasm/nasm_0.98.38.bb +++ b/packages/nasm/nasm_0.98.38.bb @@ -1,8 +1,7 @@ -SECTION = "devel" DESCRIPTION = "General-purpose x86 assembler" -COMPATIBLE_HOST = '(x86_64|i.86.*)-(linux|freebsd.*)' +SECTION = "devel" LICENSE = "GPL" -SECTION = "dev-lang" +COMPATIBLE_HOST = '(x86_64|i.86.*)-(linux|freebsd.*)' SRC_URI = "${SOURCEFORGE_MIRROR}/nasm/nasm-${PV}.tar.bz2" diff --git a/packages/netbase/netbase/fic-gta01/.mtn2git_empty b/packages/netbase/netbase/fic-gta01/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/netbase/netbase/fic-gta01/.mtn2git_empty diff --git a/packages/netbase/netbase/fic-gta01/interfaces b/packages/netbase/netbase/fic-gta01/interfaces new file mode 100644 index 0000000000..090c18aa07 --- /dev/null +++ b/packages/netbase/netbase/fic-gta01/interfaces @@ -0,0 +1,28 @@ +# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) + +# The loopback interface +auto lo +iface lo inet loopback + +# Wireless interfaces +iface wlan0 inet dhcp +wireless_mode managed +wireless_essid any +iface atml0 inet dhcp + +# Wired or wireless interfaces +iface eth0 inet dhcp +iface eth1 inet dhcp + +# Ethernet/RNDIS gadget (g_ether) +# ... or on host side, usbnet and random hwaddr +auto usb0 +iface usb0 inet static + address 192.168.0.202 + netmask 255.255.255.0 + network 192.168.0.0 + gateway 192.168.0.200 + +# Bluetooth networking +iface bnep0 inet dhcp + diff --git a/packages/netbase/netbase_4.21.bb b/packages/netbase/netbase_4.21.bb index 8c0652daec..4590cf7649 100644 --- a/packages/netbase/netbase_4.21.bb +++ b/packages/netbase/netbase_4.21.bb @@ -2,7 +2,7 @@ DESCRIPTION = "This package provides the necessary \ infrastructure for basic TCP/IP based networking." SECTION = "base" LICENSE = "GPL" -PR = "r12" +PR = "r13" inherit update-rc.d diff --git a/packages/netcat/netcat_0.7.1.bb b/packages/netcat/netcat_0.7.1.bb index a6361f0731..c7ceccddf2 100644 --- a/packages/netcat/netcat_0.7.1.bb +++ b/packages/netcat/netcat_0.7.1.bb @@ -1,7 +1,7 @@ DESCRIPTION = "GNU Netcat" HOMEPAGE = "http://netcat.sourceforge.net" +SECTION = "console/network" LICENSE = "GPLv2" -SECTION = "console/networking" PR = "r1" SRC_URI = "${SOURCEFORGE_MIRROR}/netcat/netcat-${PV}.tar.bz2" diff --git a/packages/networkmanager/networkmanager_0.6.4.bb b/packages/networkmanager/networkmanager_0.6.4.bb index e14230aadc..737d9544d0 100644 --- a/packages/networkmanager/networkmanager_0.6.4.bb +++ b/packages/networkmanager/networkmanager_0.6.4.bb @@ -1,5 +1,5 @@ DESCRIPTION = "GNOME NetworkManager port" -SECTION = "net/misc" +SECTION = "network/misc" LICENSE = "GPL" HOMEPAGE = "http://www.gnome.org" PRIORITY = "optional" diff --git a/packages/nis/nis-all.bb b/packages/nis/nis-all.bb index a0af47b0cb..181a06cd2e 100644 --- a/packages/nis/nis-all.bb +++ b/packages/nis/nis-all.bb @@ -1,12 +1,12 @@ # This meta package is a convenience to build all of the # NIS packages. # -PR = "r0" + DESCRIPTION="NIS services" HOMEPAGE="http://www.linux-nis.org/nis/" -SECTION = "console/networking" +SECTION = "console/network" PRIORITY = "optional" -LICENSE = "GPL-2" +LICENSE = "GPLv2" INHIBIT_DEFAULT_DEPS = "1" diff --git a/packages/nis/nis.inc b/packages/nis/nis.inc index 45232881cb..90f7ff50a0 100644 --- a/packages/nis/nis.inc +++ b/packages/nis/nis.inc @@ -5,9 +5,9 @@ # the rpcsvc functionality is not present in uclibc DESCRIPTION ?= "NIS Server and Tools" HOMEPAGE ?= "http://www.linux-nis.org/nis/" -SECTION ?= "console/networking" +SECTION ?= "console/network" PRIORITY ?= "optional" -LICENSE ?= "GPL-2" +LICENSE ?= "GPLv2" # Override these *after* the include file if necessary! SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/net/NIS/${P}.tar.bz2" diff --git a/packages/nonworking/bluez-bluefw/bluez-bluefw_0.9.bb b/packages/nonworking/bluez-bluefw/bluez-bluefw_0.9.bb index 5983b05935..0d6cfb020f 100644 --- a/packages/nonworking/bluez-bluefw/bluez-bluefw_0.9.bb +++ b/packages/nonworking/bluez-bluefw/bluez-bluefw_0.9.bb @@ -1,7 +1,7 @@ -SECTION="libs" +SECTION = "libs" SRC_URI = "http://bluez.sourceforge.net/download/${PN}-${PV}.tar.gz" -S=${WORKDIR}/${P} +S = ${WORKDIR}/${P} inherit autotools diff --git a/packages/nonworking/icecast/icecast_2.2.0.bb b/packages/nonworking/icecast/icecast_2.2.0.bb index c4738cb46f..c0f500ac4a 100644 --- a/packages/nonworking/icecast/icecast_2.2.0.bb +++ b/packages/nonworking/icecast/icecast_2.2.0.bb @@ -1,5 +1,5 @@ PR = "r4" -LICENSE = "GPL-2" +LICENSE = "GPLv2" DEPENDS = "libvorbis libogg libxslt" diff --git a/packages/nonworking/lufs/lufs_0.9.7.bb b/packages/nonworking/lufs/lufs_0.9.7.bb index a7494318c9..58c1aa135e 100644 --- a/packages/nonworking/lufs/lufs_0.9.7.bb +++ b/packages/nonworking/lufs/lufs_0.9.7.bb @@ -1,16 +1,16 @@ -DESCRIPTION=Linux Userland File Systems -SECTION=base -PRIORITY=optional -LICENSE=GPL +DESCRIPTION = "Linux Userland File Systems" +SECTION = "base" +PRIORITY = "optional" +LICENSE = "GPL" -SRC_URI = ${SOURCEFORGE_MIRROR}/lufs/lufs-${PV}.tar.gz -S = ${WORKDIR}/lufs-${PV} +SRC_URI = "${SOURCEFORGE_MIRROR}/lufs/lufs-${PV}.tar.gz" +S = "${WORKDIR}/lufs-${PV}" inherit autotools -KERNEL_VERSION=`cat ${STAGING_DIR}/target/kernel/kernel-version` -KERNEL_SOURCE=`cat ${STAGING_DIR}/target/kernel/kernel-source` -KERNEL_PATH=${STAGING_DIR}/target/kernel +KERNEL_VERSION = "`cat ${STAGING_DIR}/target/kernel/kernel-version`" +KERNEL_SOURCE = "`cat ${STAGING_DIR}/target/kernel/kernel-source`" +KERNEL_PATH = "${STAGING_DIR}/target/kernel" -EXTRA_OECONF = --with-kernel=${KERNEL_VERSION} --with-kheaders=${STAGING_DIR}/target/kernel/include +EXTRA_OECONF = " --with-kernel=${KERNEL_VERSION} --with-kheaders=${STAGING_DIR}/target/kernel/include" diff --git a/packages/nonworking/pixdev/pixdev-stable_0.1.bb b/packages/nonworking/pixdev/pixdev-stable_0.1.bb index 4c7eccf659..9542c668b9 100644 --- a/packages/nonworking/pixdev/pixdev-stable_0.1.bb +++ b/packages/nonworking/pixdev/pixdev-stable_0.1.bb @@ -1,11 +1,11 @@ -DESCRIPTION="Pixil Operating Environment" -SECTION="gui" -PRIORITY="optional" -RDEPENDS="microwindows" -DEPENDS="microwindows" +DESCRIPTION = "Pixil Operating Environment" +SECTION = "gui" +PRIORITY = "optional" +DEPENDS = "microwindows" +RDEPENDS = "microwindows" -SRC_URI="${SOURCEFORGE_MIRROR}/pixdev/pixdev-stable-${PV}.tar.gz \ - file://${FILESDIR}/braces.patch;patch=1" +SRC_URI = "${SOURCEFORGE_MIRROR}/pixdev/pixdev-stable-${PV}.tar.gz \ + file://${FILESDIR}/braces.patch;patch=1" export EXTRA_OEMAKE= inherit autotools diff --git a/packages/nonworking/python/python-gsl_0.2.0.bb b/packages/nonworking/python/python-gsl_0.2.0.bb index f607a29acb..ddb901532d 100644 --- a/packages/nonworking/python/python-gsl_0.2.0.bb +++ b/packages/nonworking/python/python-gsl_0.2.0.bb @@ -1,13 +1,13 @@ -DESCRIPTION=GNU Scientific Library Python Bindings -SECTION=base -PRIORITY=optional -RDEPENDS=python-core gsl -DEPENDS=gsl -SRCNAME=pygsl +DESCRIPTION = "GNU Scientific Library Python Bindings" +SECTION = "base" +PRIORITY = "optional" +DEPENDS = "gsl" +RDEPENDS = "python-core gsl" +SRCNAME = "pygsl" -SRC_URI = ${SOURCEFORGE_MIRROR}/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \ - file://${FILESDIR}/cross-compile.patch;patch=1 -S = ${WORKDIR}/${SRCNAME}-${PV} +SRC_URI = "${SOURCEFORGE_MIRROR}/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \ + file://${FILESDIR}/cross-compile.patch;patch=1" +S = "${WORKDIR}/${SRCNAME}-${PV}" inherit distutils diff --git a/packages/nonworking/qualendar/qualendar_0.8.0.bb b/packages/nonworking/qualendar/qualendar_0.8.0.bb index 0d6a5cbb99..67d6f9cae9 100644 --- a/packages/nonworking/qualendar/qualendar_0.8.0.bb +++ b/packages/nonworking/qualendar/qualendar_0.8.0.bb @@ -1,10 +1,10 @@ -DESCRIPTION="DVI Viewer for Opie/Qtopia" -SECTION="base" -PRIORITY="optional" -LICENSE="GPL" +DESCRIPTION= " DVI Viewer for Opie/Qtopia" +SECTION = "base" +PRIORITY = "optional" +LICENSE = "GPL" -SRC_URI = http://ichitokumei.hp.infoseek.co.jp/${PN}/source/${P}.tar.gz -S = ${WORKDIR}/${PN}/src +SRC_URI = "http://ichitokumei.hp.infoseek.co.jp/${PN}/source/${P}.tar.gz" +S = "${WORKDIR}/${PN}/src" inherit palmtop diff --git a/packages/nonworking/snmpz/snmpz_1.1.bb b/packages/nonworking/snmpz/snmpz_1.1.bb index b49989f89c..0e3cd74c69 100644 --- a/packages/nonworking/snmpz/snmpz_1.1.bb +++ b/packages/nonworking/snmpz/snmpz_1.1.bb @@ -1,9 +1,9 @@ -DESCRIPTION="A MIB Browser for Opie/Qtopia" -SECTION="base" -PRIORITY="optional" -LICENSE="GPL" -DEPENDS=virtual/libqpe snmp++ +DESCRIPTION = "A MIB Browser for Opie/Qtopia" +SECTION = "base" +PRIORITY = "optional" +LICENSE = "GPL" +DEPENDS = "virtual/libqpe snmp++" -SRC_URI = ${SOURCEFORGE_MIRROR}/${PN}/SNMPz-${PV}.tar.gz +SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/SNMPz-${PV}.tar.gz" S = "${WORKDIR}/SNMPz-${PV}" diff --git a/packages/nonworking/unison/unison_2.9.1.bb b/packages/nonworking/unison/unison_2.9.1.bb index 8405019317..326fb39b08 100644 --- a/packages/nonworking/unison/unison_2.9.1.bb +++ b/packages/nonworking/unison/unison_2.9.1.bb @@ -1,6 +1,6 @@ -DESCRIPTION=Unison is a file-synchronization tool for Unix and Windows. -SECTION=net -PRIORITY=optional +DESCRIPTION = "Unison is a file-synchronization tool for Unix and Windows." +SECTION = "net" +PRIORITY = "optional" -SRC_URI = ${DEBIAN_MIRROR}/main/u/${PN}/${PN}_${PV}.orig.tar.gz \ - file://${FILESDIR}/debian.patch;patch=1 +SRC_URI = "${DEBIAN_MIRROR}/main/u/${PN}/${PN}_${PV}.orig.tar.gz \ + file://${FILESDIR}/debian.patch;patch=1" diff --git a/packages/nonworking/xfree86/xfree86_4.3.0.bb b/packages/nonworking/xfree86/xfree86_4.3.0.bb index 8fc7a0868b..02ef88f326 100644 --- a/packages/nonworking/xfree86/xfree86_4.3.0.bb +++ b/packages/nonworking/xfree86/xfree86_4.3.0.bb @@ -1,6 +1,6 @@ -SECTION="base" -PRIORITY="required" -DEPENDS=zlib tslib ncurses +SECTION = "base" +PRIORITY = "required" +DEPENDS = "zlib tslib ncurses" SRC_URI = "ftp://ftp.xfree86.org/pub/XFree86/4.3.0/source/X430src-1.tgz;" SRC_URI_append =" ftp://ftp.xfree86.org/pub/XFree86/4.3.0/source/X430src-2.tgz;" @@ -9,7 +9,7 @@ SRC_URI_append =" file://${FILESDIR}/tinyx-kbd-enable-fix.patch;patch=1" SRC_URI_append =" file://${FILESDIR}/tinyx-tslib-reset-and-vt-switch-fixes.patch;patch=1" SRC_URI_append =" file://${FILESDIR}/dirty-3.2-xterm-breakage-fix.patch;patch=1" -S=${WORKDIR}/xc +S = "${WORKDIR}/xc" do_configure() { diff --git a/packages/notification-daemon/notification-daemon_0.3.5.bb b/packages/notification-daemon/notification-daemon_0.3.5.bb index 8acabfae73..791c285aed 100644 --- a/packages/notification-daemon/notification-daemon_0.3.5.bb +++ b/packages/notification-daemon/notification-daemon_0.3.5.bb @@ -1,7 +1,7 @@ -DESCRIPTION = "a dbus service that listens to desktop notification requests and displays them" -HOMEPAGE = "http://www.galago-project.org/" -LICENSE = "GPL" -DEPENDS = "gettext dbus gtk+ libsexy gconf libwnck" +DESCRIPTION = "a dbus service that listens to desktop notification requests and displays them" +HOMEPAGE = "http://www.galago-project.org/" +LICENSE = "GPL" +DEPENDS = "gettext dbus gtk+ libsexy gconf libwnck" PACKAGES = "${PN}" FILES_${PN} = "${libexecdir}/notification-daemon \ @@ -9,7 +9,7 @@ FILES_${PN} = "${libexecdir}/notification-daemon \ ${libdir}/notification-daemon-1.0/engines/libstandard.so \ ${sysconfdir}/gconf/schemas/notification-daemon.schemas" -SRC_URI = "http://www.galago-project.org/files/releases/source/${PN}/${P}.tar.gz" -EXTRA_OECONF = "--disable-binreloc" +SRC_URI = "http://www.galago-project.org/files/releases/source/${PN}/${P}.tar.gz" +EXTRA_OECONF = "--disable-binreloc" inherit autotools pkgconfig diff --git a/packages/notification-daemon/notification-daemon_0.3.6.bb b/packages/notification-daemon/notification-daemon_0.3.6.bb index 1fdf6f2762..8ee89ea847 100644 --- a/packages/notification-daemon/notification-daemon_0.3.6.bb +++ b/packages/notification-daemon/notification-daemon_0.3.6.bb @@ -1,7 +1,7 @@ -DESCRIPTION = "a dbus service that listens to desktop notification requests and displays them" -HOMEPAGE = "http://www.galago-project.org/" -LICENSE = "GPL" -DEPENDS = "gettext dbus gtk+ libsexy gconf libwnck" +DESCRIPTION = "a dbus service that listens to desktop notification requests and displays them" +HOMEPAGE = "http://www.galago-project.org/" +LICENSE = "GPL" +DEPENDS = "gettext dbus gtk+ libsexy gconf libwnck" PACKAGES = "${PN}" FILES_${PN} = "${libexecdir}/notification-daemon \ diff --git a/packages/obsolete/nslu2/nslu2-kernel.inc b/packages/obsolete/nslu2/nslu2-kernel.inc deleted file mode 100644 index 6b866100ca..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel.inc +++ /dev/null @@ -1,256 +0,0 @@ -# Standard definitions for any NSLU2 Linux kernel. -# Include this file in a .bb which specifies, at least, -# PN,PV,PR for the desired kernel -# -# Define the following *before* including this file as -# required: -# -# N2K_PATCHES - full list of patches to apply, to add files -# generate a patch against /dev/null -# N2K_SUFFIX - the suffix to add after 'zImage-' in the -# 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 N2K_FOO -# -SECTION = "kernel" -DESCRIPTION = "Linux kernel for the Linksys NSLU2 device" -LICENSE = "GPL" - -DEPENDS += "devio-native" - -# Linux kernel source has the general form linux-X.Y.Z-patchP, -# X.Y is the major version number, Z (which may have multiple -# parts) is a sub-version and 'patch' is something like 'mm' or -# 'ac' with a patch version. The original bz2 archive will be -# in a directory/file vX.Y/linux-X.Y.Z.tar.bz2. The unpacked -# source will be in the directory linux-X.Y.Z and this directory -# name corresponds to the module directory (in /lib/modules). -# -# The corresponding .bb file should be called: -# -# package_X.Y.Z-patchP -# -# Giving PN=package PV=X.Y.Z-patchP (and PR is set in the .bb -# file). Files, including the all important defconfig, are -# searched for in the following directories (last one first): -# -# nslu2-kernel/files -# nslu2-kernel/X.Y -# nslu2-kernel/X.Y.Z -# nslu2-kernel/X.Y.Z-patch -# nslu2-kernel/X.Y.Z-patchP -# package-X.Y.Z-patchP -# -# This allows sharing of patch files and other useful source! -# To share a file or patch with an earlier version put it in -# the shared directory - e.g. to use foo.patch on 2.6.11.2 and -# 2.6.11.4 it should be in directory nslu2-kernel/2.6.11. -# -# Note that when there are multiple patches the X.Y.Z-patch form -# uses base-patch (e.g. 2.6.12-mm) whereas X.Y.Z-patchP has the -# full form, for example 2.6.12-rc3-mm1 (in the same case). - -#PN=package-name -#PV=package-version (full) - -# The patch has the general form (rcN|preN|acN|mmN|bkN)* with the -# separate patch items being separated by '-' characters. The -# rc patch is first and has the important property that it -# requires the *preceding* kernel base version and that this -# will be the source directory name. -python () { - # The patches list may be empty. This code starts with the base - # kernel version and steps through the patches. Because the rc and - # pre patches actually require the *preceding* kernel version the code - # fixes that up appropriately. - pv = bb.data.getVar("PV",d,1).split('-') - kernel = pv[0].split('.') - base = pv[0] - name = [base] - major = '.'.join(name[0].split('.')[0:2]) - minor = '.'.join(name[0].split('.')[0:3]) - patch_uri = [ None ] - filedir = "${FILE_DIRNAME}/nslu2-kernel/%s" - # This entry will become the last one (everything is inserted before it) - filepath = [ filedir % "files" ] - pref = 10 - mmac = 0 - for patch in pv[1:]: - name.append(patch) - pname = '-'.join(name) - if patch[0:2] == "rc" or patch[0:3] == "pre": - patch_uri.append("${KERNELORG_MIRROR}/pub/linux/kernel/v%s/testing/patch-%s.bz2;patch=1;pname=%s" % (major, pname, pname)) - kernel[-1] = str(int(kernel[-1]) - 1) - if patch[0:2] == "rc" and pref == 10: - pref = 6 - filepath[0:0] = [ filedir % name[0] ] - filepath[0:0] = [ filedir % (name[0] + "-rc") ] - else: - pref = 2 - elif patch[0:2] == "bk" or patch[0:3] == "git": - patch_uri.append("${KERNELORG_MIRROR}/pub/linux/kernel/v%s/snapshots/patch-%s.bz2;patch=1;pname=%s" % (major, pname, pname)) - pref = 2 - elif patch[0:2] == "ac": - patch_uri.append("${KERNELORG_MIRROR}/pub/linux/kernel/people/alan/linux-%s/%s/patch-%s" % (major, base, pname)) - mmac = 2 - filepath[0:0] = [ filedir % (name[0] + "-ac") ] - elif patch[0:2] == "mm": - patch_uri.append("${KERNELORG_MIRROR}/pub/linux/kernel/people/akpm/patches/%s/%s/%s/%s.bz2;patch=1;pname=%s" % (major, base, pname, pname, pname)) - mmac = 2 - filepath[0:0] = [ filedir % (name[0] + "-mm") ] - else: - raise bb.build.FuncFailed("nslu2-kernel: patch %s not recognized in %s" % (patch, '-'.join(pv))) - filepath[0:0] = [ filedir % pname ] - base = pname - - base = '.'.join(kernel) - patch_uri[0] = "${KERNELORG_MIRROR}/pub/linux/kernel/v%s/linux-%s.tar.bz2" % (major, base) - filepath[-1:-1] = [ filedir % base ] - if base != minor: - filepath[-1:-1] = [ filedir % minor ] - filepath[-1:-1] = [ filedir % major ] - - bb.data.setVar("N2K_SRCMAJ", major, d) - # bb.note("N2K_SRCMAJ := %s" % major) - bb.data.setVar("N2K_SRCVER", base, d) - # bb.note("N2K_SRCVER := %s" % base) - bb.data.setVar("N2K_SRCURI", ' '.join(patch_uri), d) - # bb.note("N2K_SRCURI := %s" % ' '.join(patch_uri)) - bb.data.setVar("N2K_FILESPATH", ':'.join(filepath), d) - # bb.note("N2K_FILESPATH := %s" % ' '.join(filepath)) - bb.data.setVar("DEFAULT_PREFERENCE", pref-mmac, d) - # bb.note("DEFAULT_PREFERENCE := %s" % (pref-mmac)) -} - -# FILESPATH: this list is in order last-searched-first, therefore -# the first entry is the *latest* and/or most specific -FILESPATH = "${FILE_DIRNAME}/${P}:${N2K_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-${N2K_SRCVER}" - -# N2K_PATCHES is the list of patches. -N2K_PATCHES ?= "" - -# Image suffix - actually set in conf/machine/nslu2.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. -N2K_SUFFIX ?= "nslu2${SITEINFO_ENDIANESS}" - -SRC_URI = "${N2K_SRCURI}" -SRC_URI += "${N2K_PATCHES}" -SRC_URI += "file://defconfig" - -COMPATIBLE_HOST = 'arm.*-linux' - -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_ROOT ?= "root=/dev/mtdblock4 rw rootfstype=jffs2 mem=32M@0x00000000 init=/linuxrc" -# Add distro specific debug (or non-debug) options to this -CMDLINE_DEBUG ?= "" -CMDLINE = "${CMDLINE_ROOT} ${CMDLINE_KERNEL_OPTIONS} ${CMDLINE_DEBUG} ${CMDLINE_CONSOLE}" - -# Set EXTRAVERSION and LOCALVERSION to "" so that the kernel version -# remains pinned to the x.y.z form, also turn off the directory -# printing which provides almost all the output of an incremental build. -EXTRA_OEMAKE += "EXTRAVERSION=" -EXTRA_OEMAKE += "LOCALVERSION=" -EXTRA_OEMAKE += "MAKEFLAGS='--no-print-directory'" - -addtask unpacklocal before do_patch after do_unpack - -# NOTE: in MM kernel builds the config options (oldconfig, menuconfig -# and so on) do not allow an option to be overridden, so the following -# removes the options which must be changed. -do_configure_prepend() { - rm -f ${S}/.config - echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >>'${S}/.config' - if test '${SITEINFO_ENDIANESS}' = be - then - echo 'CONFIG_CPU_BIG_ENDIAN=y' >>'${S}/.config' - fi - if test '${SLUGOS_IMAGESEX}' = big-endian - then - echo 'CONFIG_JFFS2_BIG_ENDIAN=y' >>'${S}/.config' - fi - if test '${SLUGOS_IMAGESEX}' = little-endian - then - echo 'CONFIG_JFFS2_LITTLE_ENDIAN=y' >>'${S}/.config' - fi - sed -e '/CONFIG_CPU_BIG_ENDIAN/d' -e '/CONFIG_CMDLINE=/d' \ - -e '/CONFIG_JFFS2_NATIVE_ENDIAN=/d' \ - -e '/CONFIG_JFFS2_BIG_ENDIAN=/d' \ - -e '/CONFIG_JFFS2_LITTLE_ENDIAN=/d' \ - '${WORKDIR}/defconfig' >>'${S}/.config' - rm -rf ${S}/include/asm-arm/arch ${S}/include/asm-arm/proc \ - ${S}/include/asm-arm/.proc ${S}/include/asm-arm/.arch -} - -# This function adds the required prefix to the image to deal with two -# problems: -# -# 1) The machine type set by RedBoot is wrong - the type for an ixdp425, not an NSLU2 -# 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() { - redboot_fixup '${STAGING_KERNEL_DIR}/${KERNEL_IMAGETYPE}' -} - -do_deploy[dirs] = "${S}" -do_deploy() { - install -d ${DEPLOY_DIR_IMAGE} - redboot_fixup '${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${N2K_SUFFIX}' -} - -addtask deploy before do_build after do_compile - -COMPATIBLE_MACHINE = "nslu2" diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/bootramdisk.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/bootramdisk.patch deleted file mode 100644 index c03a0d9cda..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/bootramdisk.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- linux-2.6.11/arch/arm/kernel/setup.c.orig Mon Mar 7 09:41:40 2005 -+++ linux-2.6.11/arch/arm/kernel/setup.c Mon Mar 7 09:42:15 2005 -@@ -431,8 +431,10 @@ - rd_prompt = prompt; - rd_doload = doload; - -+#if 0 /* rd_size is not exported by 2.6.11-mm1 */ - if (rd_sz) - rd_size = rd_sz; -+#endif - #endif - } - diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/defconfig b/packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/defconfig deleted file mode 100644 index 7ca968ac66..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/defconfig +++ /dev/null @@ -1,1204 +0,0 @@ -# -# Automatically generated make config: don't edit -# Linux kernel version: 2.6.11-mm4 -# Sat May 7 11:48:09 2005 -# -CONFIG_ARM=y -CONFIG_MMU=y -CONFIG_UID16=y -CONFIG_RWSEM_GENERIC_SPINLOCK=y -CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_GENERIC_IOMAP=y - -# -# Code maturity level options -# -CONFIG_EXPERIMENTAL=y -CONFIG_CLEAN_COMPILE=y -CONFIG_BROKEN_ON_SMP=y - -# -# General setup -# -CONFIG_LOCALVERSION="" -CONFIG_SWAP=y -CONFIG_SYSVIPC=y -# CONFIG_POSIX_MQUEUE is not set -# CONFIG_BSD_PROCESS_ACCT is not set -CONFIG_SYSCTL=y -# CONFIG_AUDIT is not set -CONFIG_HOTPLUG=y -CONFIG_KOBJECT_UEVENT=y -# CONFIG_IKCONFIG is not set -CONFIG_EMBEDDED=y -# CONFIG_KALLSYMS is not set -# 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 -CONFIG_CC_ALIGN_LOOPS=0 -CONFIG_CC_ALIGN_JUMPS=0 -# CONFIG_TINY_SHMEM is not set -CONFIG_BASE_SMALL=1 - -# -# Loadable module support -# -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_MODULE_FORCE_UNLOAD is not set -CONFIG_OBSOLETE_MODPARM=y -# CONFIG_MODVERSIONS is not set -# CONFIG_MODULE_SRCVERSION_ALL is not set -CONFIG_KMOD=y - -# -# System Type -# -# CONFIG_ARCH_CLPS7500 is not set -# CONFIG_ARCH_CLPS711X is not set -# CONFIG_ARCH_CO285 is not set -# CONFIG_ARCH_EBSA110 is not set -# CONFIG_ARCH_CAMELOT is not set -# CONFIG_ARCH_FOOTBRIDGE is not set -# CONFIG_ARCH_INTEGRATOR is not set -# CONFIG_ARCH_IOP3XX is not set -CONFIG_ARCH_IXP4XX=y -# CONFIG_ARCH_IXP2000 is not set -# CONFIG_ARCH_L7200 is not set -# CONFIG_ARCH_PXA is not set -# CONFIG_ARCH_RPC is not set -# CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_S3C2410 is not set -# CONFIG_ARCH_SHARK is not set -# CONFIG_ARCH_LH7A40X is not set -# CONFIG_ARCH_OMAP is not set -# CONFIG_ARCH_VERSATILE is not set -# CONFIG_ARCH_IMX is not set -# CONFIG_ARCH_H720X is not set -CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y - -# -# Intel IXP4xx Implementation Options -# - -# -# IXP4xx Platforms -# -# 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_NSLU2=y -# CONFIG_ARCH_PRPMC1100 is not set -# CONFIG_MACH_GTWX5715 is not set - -# -# IXP4xx Options -# -CONFIG_IXP4XX_INDIRECT_PCI=y -CONFIG_DMABOUNCE=y - -# -# Processor Type -# -CONFIG_CPU_32=y -CONFIG_CPU_XSCALE=y -CONFIG_CPU_32v5=y -CONFIG_CPU_ABRT_EV5T=y -CONFIG_CPU_CACHE_VIVT=y -CONFIG_CPU_TLB_V4WBI=y -CONFIG_CPU_MINICACHE=y - -# -# Processor Features -# -CONFIG_ARM_THUMB=y -# CONFIG_ARM_THUMB_INTERWORK is not set -# CONFIG_ARCH_XSCALE is not set -CONFIG_CPU_BIG_ENDIAN=y -CONFIG_XSCALE_PMU=y - -# -# General setup -# -CONFIG_PCI=y -CONFIG_ZBOOT_ROM_TEXT=0x0 -CONFIG_ZBOOT_ROM_BSS=0x0 -# CONFIG_XIP_KERNEL is not set -# CONFIG_PCI_LEGACY_PROC is not set -# CONFIG_PCI_NAMES is not set - -# -# PCCARD (PCMCIA/CardBus) support -# -# CONFIG_PCCARD is not set - -# -# At least one math emulation must be selected -# -CONFIG_FPE_NWFPE=y -# CONFIG_FPE_FASTFPE is not set -CONFIG_BINFMT_ELF=y -# CONFIG_BINFMT_AOUT is not set -# CONFIG_BINFMT_MISC is not set - -# -# Generic Driver Options -# -CONFIG_STANDALONE=y -CONFIG_PREVENT_FIRMWARE_BUILD=y -# CONFIG_FW_LOADER is not set -# CONFIG_PM is not set -# CONFIG_PREEMPT is not set -# CONFIG_ARTHUR is not set -CONFIG_CMDLINE="root=/dev/mtdblock4 rw rootfstype=jffs2 mem=32M@0x00000000 init=/linuxrc console=ttyS0,115200n8" -CONFIG_ALIGNMENT_TRAP=y - -# -# Parallel port support -# -# CONFIG_PARPORT is not set - -# -# Memory Technology Devices (MTD) -# -CONFIG_MTD=y -# CONFIG_MTD_DEBUG is not set -CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y -CONFIG_MTD_REDBOOT_PARTS=y -CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 -# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set -# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set -CONFIG_MTD_CMDLINE_PARTS=y -# CONFIG_MTD_AFS_PARTS is not set - -# -# User Modules And Translation Layers -# -CONFIG_MTD_CHAR=y -CONFIG_MTD_BLOCK=y -# CONFIG_FTL is not set -# CONFIG_NFTL is not set -# CONFIG_INFTL is not set - -# -# RAM/ROM/Flash chip drivers -# -CONFIG_MTD_CFI=y -# CONFIG_MTD_JEDECPROBE is not set -CONFIG_MTD_GEN_PROBE=y -# CONFIG_MTD_CFI_ADV_OPTIONS is not set -CONFIG_MTD_MAP_BANK_WIDTH_1=y -CONFIG_MTD_MAP_BANK_WIDTH_2=y -CONFIG_MTD_MAP_BANK_WIDTH_4=y -# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -# CONFIG_MTD_CFI_I4 is not set -# CONFIG_MTD_CFI_I8 is not set -CONFIG_MTD_CFI_INTELEXT=y -# CONFIG_MTD_CFI_AMDSTD is not set -# CONFIG_MTD_CFI_STAA is not set -CONFIG_MTD_CFI_UTIL=y -# CONFIG_MTD_RAM is not set -# CONFIG_MTD_ROM is not set -# CONFIG_MTD_ABSENT is not set -# CONFIG_MTD_XIP is not set - -# -# Mapping drivers for chip access -# -CONFIG_MTD_COMPLEX_MAPPINGS=y -# CONFIG_MTD_PHYSMAP is not set -# CONFIG_MTD_ARM_INTEGRATOR is not set -CONFIG_MTD_IXP4XX=y -# CONFIG_MTD_EDB7312 is not set -# CONFIG_MTD_PCI is not set - -# -# Self-contained MTD device drivers -# -# CONFIG_MTD_PMC551 is not set -# CONFIG_MTD_SLRAM is not set -# CONFIG_MTD_PHRAM is not set -# CONFIG_MTD_MTDRAM is not set -# CONFIG_MTD_BLKMTD is not set -# CONFIG_MTD_BLOCK2MTD is not set - -# -# Disk-On-Chip Device Drivers -# -# CONFIG_MTD_DOC2000 is not set -# CONFIG_MTD_DOC2001 is not set -# CONFIG_MTD_DOC2001PLUS is not set - -# -# NAND Flash Device Drivers -# -# CONFIG_MTD_NAND is not set - -# -# Plug and Play support -# - -# -# Block devices -# -# CONFIG_BLK_DEV_FD is not set -# CONFIG_BLK_CPQ_DA is not set -# CONFIG_BLK_CPQ_CISS_DA is not set -# CONFIG_BLK_DEV_DAC960 is not set -# CONFIG_BLK_DEV_UMEM is not set -# CONFIG_BLK_DEV_COW_COMMON is not set -CONFIG_BLK_DEV_LOOP=m -# CONFIG_BLK_DEV_CRYPTOLOOP is not set -# CONFIG_BLK_DEV_NBD is not set -# CONFIG_BLK_DEV_SX8 is not set -# CONFIG_BLK_DEV_UB is not set -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_COUNT=4 -CONFIG_BLK_DEV_RAM_SIZE=10240 -CONFIG_BLK_DEV_INITRD=y -CONFIG_INITRAMFS_SOURCE="" -CONFIG_CDROM_PKTCDVD=m -CONFIG_CDROM_PKTCDVD_BUFFERS=8 -# CONFIG_CDROM_PKTCDVD_WCACHE is not set - -# -# IO Schedulers -# -CONFIG_IOSCHED_NOOP=y -# CONFIG_IOSCHED_AS is not set -CONFIG_IOSCHED_DEADLINE=y -# CONFIG_IOSCHED_CFQ is not set -# CONFIG_ATA_OVER_ETH is not set - -# -# Multi-device support (RAID and LVM) -# -# CONFIG_MD is not set - -# -# Networking support -# -CONFIG_NET=y - -# -# Networking options -# -CONFIG_PACKET=m -CONFIG_PACKET_MMAP=y -# CONFIG_NETLINK_DEV is not set -CONFIG_UNIX=y -# CONFIG_NET_KEY is not set -CONFIG_INET=y -# CONFIG_IP_MULTICAST is not set -# CONFIG_IP_ADVANCED_ROUTER is not set -# CONFIG_IP_PNP is not set -# CONFIG_NET_IPIP is not set -# CONFIG_NET_IPGRE is not set -# CONFIG_ARPD is not set -# CONFIG_SYN_COOKIES is not set -CONFIG_INET_AH=m -CONFIG_INET_ESP=m -CONFIG_INET_IPCOMP=m -CONFIG_INET_TUNNEL=m -CONFIG_IP_TCPDIAG=m -# CONFIG_IP_TCPDIAG_IPV6 is not set -# CONFIG_IPV6 is not set -# CONFIG_NETFILTER is not set -CONFIG_XFRM=y -# CONFIG_XFRM_USER is not set - -# -# SCTP Configuration (EXPERIMENTAL) -# -# CONFIG_IP_SCTP is not set -# CONFIG_ATM is not set -# CONFIG_BRIDGE is not set -# CONFIG_VLAN_8021Q is not set -# CONFIG_DECNET is not set -CONFIG_LLC=m -# CONFIG_LLC2 is not set -CONFIG_IPX=m -# CONFIG_IPX_INTERN is not set -CONFIG_ATALK=m -CONFIG_DEV_APPLETALK=y -CONFIG_IPDDP=m -CONFIG_IPDDP_ENCAP=y -CONFIG_IPDDP_DECAP=y -# CONFIG_X25 is not set -# CONFIG_LAPB is not set -# CONFIG_NET_DIVERT is not set -# CONFIG_ECONET is not set -# CONFIG_WAN_ROUTER is not set - -# -# QoS and/or fair queueing -# -# CONFIG_NET_SCHED is not set -# CONFIG_NET_CLS_ROUTE is not set - -# -# Network testing -# -CONFIG_NET_PKTGEN=m -# CONFIG_KGDBOE is not set -CONFIG_NETPOLL=y -# CONFIG_NETPOLL_RX is not set -# CONFIG_NETPOLL_TRAP is not set -CONFIG_NET_POLL_CONTROLLER=y -# CONFIG_HAMRADIO is not set -# CONFIG_IRDA is not set -CONFIG_BT=m -CONFIG_BT_L2CAP=m -CONFIG_BT_SCO=m -CONFIG_BT_RFCOMM=m -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=m -CONFIG_BT_BNEP_MC_FILTER=y -CONFIG_BT_BNEP_PROTO_FILTER=y -# CONFIG_BT_HIDP is not set - -# -# Bluetooth device drivers -# -CONFIG_BT_HCIUSB=m -CONFIG_BT_HCIUSB_SCO=y -# CONFIG_BT_HCIUART is not set -# CONFIG_BT_HCIBCM203X is not set -# CONFIG_BT_HCIBPA10X is not set -# CONFIG_BT_HCIBFUSB is not set -# CONFIG_BT_HCIVHCI is not set -# CONFIG_IEEE80211 is not set -CONFIG_NETDEVICES=y -# CONFIG_DUMMY is not set -# CONFIG_BONDING is not set -# CONFIG_EQUALIZER is not set -# CONFIG_TUN is not set - -# -# ARCnet devices -# -# CONFIG_ARCNET is not set - -# -# Ethernet (10 or 100Mbit) -# -CONFIG_NET_ETHERNET=y -CONFIG_MII=y -# CONFIG_HAPPYMEAL is not set -# CONFIG_SUNGEM is not set -# CONFIG_NET_VENDOR_3COM is not set -# CONFIG_SMC91X is not set - -# -# Tulip family network device support -# -# CONFIG_NET_TULIP is not set -# CONFIG_HP100 is not set -CONFIG_NET_PCI=y -# CONFIG_PCNET32 is not set -# CONFIG_AMD8111_ETH is not set -# CONFIG_ADAPTEC_STARFIRE is not set -# CONFIG_B44 is not set -# CONFIG_FORCEDETH is not set -# CONFIG_DGRS is not set -# CONFIG_EEPRO100 is not set -# CONFIG_E100 is not set -# CONFIG_FEALNX is not set -# CONFIG_NATSEMI is not set -# CONFIG_NE2K_PCI is not set -# CONFIG_8139CP is not set -# CONFIG_8139TOO is not set -# CONFIG_SIS900 is not set -# CONFIG_EPIC100 is not set -# CONFIG_SUNDANCE is not set -# CONFIG_TLAN is not set -# CONFIG_VIA_RHINE is not set - -# -# Ethernet (1000 Mbit) -# -# CONFIG_ACENIC is not set -# CONFIG_DL2K is not set -# CONFIG_E1000 is not set -# CONFIG_NS83820 is not set -# CONFIG_HAMACHI is not set -# CONFIG_YELLOWFIN is not set -# CONFIG_R8169 is not set -# CONFIG_SKGE is not set -# CONFIG_SK98LIN is not set -# CONFIG_VIA_VELOCITY is not set -# CONFIG_TIGON3 is not set - -# -# Ethernet (10000 Mbit) -# -# CONFIG_CHELSIO_T1 is not set -# CONFIG_IXGB is not set -# CONFIG_S2IO is not set - -# -# Token Ring devices -# -# CONFIG_TR is not set - -# -# Wireless LAN (non-hamradio) -# -CONFIG_NET_RADIO=y - -# -# Obsolete Wireless cards support (pre-802.11) -# -# CONFIG_STRIP is not set - -# -# Wireless 802.11b ISA/PCI cards support -# -# CONFIG_HERMES is not set -# CONFIG_ATMEL is not set - -# -# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support -# -# CONFIG_PRISM54 is not set -# CONFIG_HOSTAP is not set -CONFIG_NET_WIRELESS=y - -# -# Wan interfaces -# -# CONFIG_WAN is not set -# CONFIG_FDDI is not set -# CONFIG_HIPPI is not set -# CONFIG_PPP is not set -# CONFIG_SLIP is not set -# CONFIG_NET_FC is not set -# CONFIG_SHAPER is not set -CONFIG_NETCONSOLE=m - -# -# ATA/ATAPI/MFM/RLL support -# -# CONFIG_IDE is not set - -# -# SCSI device support -# -CONFIG_SCSI=y -CONFIG_SCSI_PROC_FS=y - -# -# SCSI support type (disk, tape, CD-ROM) -# -CONFIG_BLK_DEV_SD=y -# CONFIG_CHR_DEV_ST is not set -# CONFIG_CHR_DEV_OSST is not set -# CONFIG_BLK_DEV_SR is not set -# CONFIG_CHR_DEV_SG is not set -# CONFIG_CHR_DEV_SCH is not set - -# -# Some SCSI devices (e.g. CD jukebox) support multiple LUNs -# -# CONFIG_SCSI_MULTI_LUN is not set -# CONFIG_SCSI_CONSTANTS is not set -# CONFIG_SCSI_LOGGING is not set -# CONFIG_ISCSI_IF is not set - -# -# SCSI Transport Attributes -# -# CONFIG_SCSI_SPI_ATTRS is not set -# CONFIG_SCSI_FC_ATTRS is not set -# CONFIG_SCSI_ISCSI_ATTRS is not set - -# -# SCSI low-level drivers -# -# CONFIG_BLK_DEV_3W_XXXX_RAID is not set -# CONFIG_SCSI_3W_9XXX is not set -# CONFIG_SCSI_ARCMSR is not set -# CONFIG_SCSI_ACARD is not set -# CONFIG_SCSI_AACRAID is not set -# CONFIG_SCSI_AIC7XXX is not set -# CONFIG_SCSI_AIC7XXX_OLD is not set -# CONFIG_SCSI_AIC79XX is not set -# CONFIG_SCSI_DPT_I2O is not set -# CONFIG_MEGARAID_NEWGEN is not set -# CONFIG_MEGARAID_LEGACY is not set -# CONFIG_MEGARAID_SAS is not set -# CONFIG_SCSI_SATA is not set -# CONFIG_SCSI_BUSLOGIC is not set -# CONFIG_SCSI_DMX3191D is not set -# CONFIG_SCSI_EATA is not set -# CONFIG_SCSI_FUTURE_DOMAIN is not set -# CONFIG_SCSI_GDTH is not set -# CONFIG_SCSI_IPS is not set -# CONFIG_SCSI_INITIO is not set -# CONFIG_SCSI_INIA100 is not set -# CONFIG_SCSI_SYM53C8XX_2 is not set -# CONFIG_SCSI_IPR is not set -# CONFIG_SCSI_QLOGIC_FC is not set -# CONFIG_SCSI_QLOGIC_1280 is not set -CONFIG_SCSI_QLA2XXX=y -# CONFIG_SCSI_QLA21XX is not set -# CONFIG_SCSI_QLA22XX is not set -# CONFIG_SCSI_QLA2300 is not set -# CONFIG_SCSI_QLA2322 is not set -# CONFIG_SCSI_QLA6312 is not set -# CONFIG_SCSI_DC395x is not set -# CONFIG_SCSI_DC390T is not set -# CONFIG_SCSI_NSP32 is not set -# CONFIG_SCSI_DEBUG is not set - -# -# Fusion MPT device support -# -# CONFIG_FUSION is not set - -# -# IEEE 1394 (FireWire) support -# -# CONFIG_IEEE1394 is not set - -# -# I2O device support -# -# CONFIG_I2O is not set - -# -# ISDN subsystem -# -# CONFIG_ISDN is not set - -# -# Input device support -# -# CONFIG_INPUT is not set - -# -# Hardware I/O ports -# -# CONFIG_SERIO is not set -# CONFIG_GAMEPORT is not set - -# -# Character devices -# -# CONFIG_VT is not set -# CONFIG_SERIAL_NONSTANDARD is not set - -# -# Serial drivers -# -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_8250_NR_UARTS=2 -# CONFIG_SERIAL_8250_EXTENDED is not set - -# -# Non-8250 serial port support -# -CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_CORE_CONSOLE=y -CONFIG_UNIX98_PTYS=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=16 - -# -# IPMI -# -# CONFIG_IPMI_HANDLER is not set - -# -# Watchdog Cards -# -CONFIG_WATCHDOG=y -# CONFIG_WATCHDOG_NOWAYOUT is not set - -# -# Watchdog Device Drivers -# -# CONFIG_SOFT_WATCHDOG is not set -CONFIG_IXP4XX_WATCHDOG=y - -# -# PCI-based Watchdog Cards -# -# CONFIG_PCIPCWATCHDOG is not set -# CONFIG_WDTPCI is not set - -# -# USB-based Watchdog Cards -# -# CONFIG_USBPCWATCHDOG is not set -# CONFIG_NVRAM is not set -CONFIG_RTC=m -# CONFIG_DTLK is not set -# CONFIG_R3964 is not set -# CONFIG_APPLICOM is not set - -# -# Ftape, the floppy tape device driver -# -# CONFIG_DRM is not set -# CONFIG_RAW_DRIVER is not set - -# -# TPM devices -# -# CONFIG_TCG_TPM is not set - -# -# I2C support -# -CONFIG_I2C=y -CONFIG_I2C_CHARDEV=y - -# -# I2C Algorithms -# -CONFIG_I2C_ALGOBIT=y -# CONFIG_I2C_ALGOPCF is not set -# CONFIG_I2C_ALGOPCA is not set - -# -# I2C Hardware Bus support -# -# CONFIG_I2C_ALI1535 is not set -# CONFIG_I2C_ALI1563 is not set -# CONFIG_I2C_ALI15X3 is not set -# CONFIG_I2C_AMD756 is not set -# CONFIG_I2C_AMD8111 is not set -# CONFIG_I2C_I801 is not set -# CONFIG_I2C_I810 is not set -# CONFIG_I2C_IOP3XX is not set -# CONFIG_I2C_ISA is not set -CONFIG_I2C_IXP4XX=y -# CONFIG_I2C_NFORCE2 is not set -# CONFIG_I2C_PARPORT_LIGHT is not set -# CONFIG_I2C_PIIX4 is not set -# CONFIG_I2C_PROSAVAGE is not set -# CONFIG_I2C_SAVAGE4 is not set -# CONFIG_SCx200_ACB is not set -# CONFIG_I2C_SIS5595 is not set -# CONFIG_I2C_SIS630 is not set -# CONFIG_I2C_SIS96X is not set -# CONFIG_I2C_STUB is not set -# CONFIG_I2C_VIA is not set -# CONFIG_I2C_VIAPRO is not set -# CONFIG_I2C_VOODOO3 is not set -# CONFIG_I2C_PCA_ISA is not set - -# -# Hardware Sensors Chip support -# -CONFIG_I2C_SENSOR=y -# CONFIG_SENSORS_ADM1021 is not set -# CONFIG_SENSORS_ADM1025 is not set -# CONFIG_SENSORS_ADM1026 is not set -# CONFIG_SENSORS_ADM1031 is not set -# CONFIG_SENSORS_ASB100 is not set -# CONFIG_SENSORS_DS1621 is not set -# CONFIG_SENSORS_FSCHER is not set -# CONFIG_SENSORS_FSCPOS is not set -# CONFIG_SENSORS_GL518SM is not set -# CONFIG_SENSORS_GL520SM is not set -# CONFIG_SENSORS_IT87 is not set -# CONFIG_SENSORS_LM63 is not set -# CONFIG_SENSORS_LM75 is not set -# CONFIG_SENSORS_LM77 is not set -# CONFIG_SENSORS_LM78 is not set -# CONFIG_SENSORS_LM80 is not set -# CONFIG_SENSORS_LM83 is not set -# CONFIG_SENSORS_LM85 is not set -# CONFIG_SENSORS_LM87 is not set -# CONFIG_SENSORS_LM90 is not set -# CONFIG_SENSORS_MAX1619 is not set -# CONFIG_SENSORS_PC87360 is not set -# CONFIG_SENSORS_SMSC47B397 is not set -# CONFIG_SENSORS_SIS5595 is not set -# CONFIG_SENSORS_SMSC47M1 is not set -# CONFIG_SENSORS_VIA686A is not set -# CONFIG_SENSORS_W83781D is not set -# CONFIG_SENSORS_W83L785TS is not set -# CONFIG_SENSORS_W83627HF is not set - -# -# Other I2C Chip support -# -CONFIG_SENSORS_EEPROM=y -# CONFIG_SENSORS_PCF8574 is not set -# CONFIG_SENSORS_PCF8591 is not set -# CONFIG_SENSORS_RTC8564 is not set -CONFIG_SENSORS_X1205=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 - -# -# Multimedia devices -# -# CONFIG_VIDEO_DEV is not set - -# -# Digital Video Broadcasting Devices -# -# CONFIG_DVB is not set - -# -# File systems -# -CONFIG_EXT2_FS=m -# CONFIG_EXT2_FS_XATTR is not set -CONFIG_EXT3_FS=m -CONFIG_EXT3_FS_XATTR=y -# CONFIG_EXT3_FS_POSIX_ACL is not set -# CONFIG_EXT3_FS_SECURITY is not set -CONFIG_JBD=m -# CONFIG_JBD_DEBUG is not set -CONFIG_FS_MBCACHE=m -CONFIG_REISER4_FS=m -# CONFIG_REISER4_DEBUG is not set -CONFIG_REISERFS_FS=m -# CONFIG_REISERFS_CHECK is not set -# CONFIG_REISERFS_PROC_INFO is not set -# CONFIG_REISERFS_FS_XATTR is not set -# CONFIG_JFS_FS is not set - -# -# XFS support -# -# CONFIG_XFS_FS is not set -# CONFIG_MINIX_FS is not set -# CONFIG_ROMFS_FS is not set -CONFIG_INOTIFY=y -# CONFIG_QUOTA is not set -CONFIG_DNOTIFY=y -# CONFIG_AUTOFS_FS is not set -CONFIG_AUTOFS4_FS=m - -# -# Caches -# -# CONFIG_FSCACHE is not set -# CONFIG_FUSE_FS is not set - -# -# CD-ROM/DVD Filesystems -# -CONFIG_ISO9660_FS=m -CONFIG_JOLIET=y -CONFIG_ZISOFS=y -CONFIG_ZISOFS_FS=m -CONFIG_UDF_FS=m -CONFIG_UDF_NLS=y - -# -# DOS/FAT/NT Filesystems -# -CONFIG_FAT_FS=m -CONFIG_MSDOS_FS=m -CONFIG_VFAT_FS=m -CONFIG_FAT_DEFAULT_CODEPAGE=437 -CONFIG_FAT_DEFAULT_IOCHARSET="utf8" -CONFIG_NTFS_FS=m -# CONFIG_NTFS_DEBUG is not set -CONFIG_NTFS_RW=y - -# -# Pseudo filesystems -# -CONFIG_PROC_FS=y -CONFIG_SYSFS=y -# CONFIG_DEVFS_FS is not set -# CONFIG_DEVPTS_FS_XATTR is not set -CONFIG_TMPFS=y -# CONFIG_TMPFS_XATTR is not set -# CONFIG_HUGETLB_PAGE is not set -CONFIG_RAMFS=y -# CONFIG_RELAYFS_FS is not set - -# -# Miscellaneous filesystems -# -# CONFIG_ADFS_FS is not set -# CONFIG_AFFS_FS is not set -# CONFIG_HFS_FS is not set -# CONFIG_HFSPLUS_FS is not set -# CONFIG_BEFS_FS is not set -# CONFIG_BFS_FS is not set -# CONFIG_EFS_FS is not set -# CONFIG_JFFS_FS is not set -CONFIG_JFFS2_FS=y -CONFIG_JFFS2_FS_DEBUG=0 -# CONFIG_JFFS2_FS_NAND is not set -# CONFIG_JFFS2_FS_NOR_ECC is not set -# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set -CONFIG_JFFS2_ZLIB=y -CONFIG_JFFS2_RTIME=y -# CONFIG_JFFS2_RUBIN is not set -# CONFIG_CRAMFS is not set -# CONFIG_VXFS_FS is not set -# CONFIG_HPFS_FS is not set -# CONFIG_QNX4FS_FS is not set -# CONFIG_SYSV_FS is not set -# CONFIG_UFS_FS is not set - -# -# Network File Systems -# -CONFIG_NFS_FS=m -CONFIG_NFS_V3=y -# CONFIG_NFS_V4 is not set -# CONFIG_NFS_DIRECTIO is not set -CONFIG_NFSD=m -CONFIG_NFSD_V3=y -# CONFIG_NFSD_V4 is not set -CONFIG_NFSD_TCP=y -CONFIG_LOCKD=m -CONFIG_LOCKD_V4=y -CONFIG_EXPORTFS=m -CONFIG_SUNRPC=m -# CONFIG_RPCSEC_GSS_KRB5 is not set -# CONFIG_RPCSEC_GSS_SPKM3 is not set -CONFIG_SMB_FS=m -# CONFIG_SMB_NLS_DEFAULT is not set -CONFIG_CIFS=m -# CONFIG_CIFS_STATS is not set -# CONFIG_CIFS_XATTR is not set -# CONFIG_CIFS_EXPERIMENTAL is not set -# CONFIG_NCP_FS is not set -# CONFIG_CODA_FS is not set -# CONFIG_AFS_FS is not set - -# -# Partition Types -# -CONFIG_PARTITION_ADVANCED=y -# CONFIG_ACORN_PARTITION is not set -# CONFIG_OSF_PARTITION is not set -# CONFIG_AMIGA_PARTITION is not set -# CONFIG_ATARI_PARTITION is not set -# CONFIG_MAC_PARTITION is not set -CONFIG_MSDOS_PARTITION=y -# CONFIG_BSD_DISKLABEL is not set -# CONFIG_MINIX_SUBPARTITION is not set -# CONFIG_SOLARIS_X86_PARTITION is not set -# CONFIG_UNIXWARE_DISKLABEL is not set -# CONFIG_LDM_PARTITION is not set -# CONFIG_SGI_PARTITION is not set -# CONFIG_ULTRIX_PARTITION is not set -# CONFIG_SUN_PARTITION is not set -# CONFIG_EFI_PARTITION is not set - -# -# Native Language Support -# -CONFIG_NLS=m -CONFIG_NLS_DEFAULT="utf8" -CONFIG_NLS_CODEPAGE_437=m -CONFIG_NLS_CODEPAGE_737=m -CONFIG_NLS_CODEPAGE_775=m -CONFIG_NLS_CODEPAGE_850=m -CONFIG_NLS_CODEPAGE_852=m -CONFIG_NLS_CODEPAGE_855=m -CONFIG_NLS_CODEPAGE_857=m -CONFIG_NLS_CODEPAGE_860=m -CONFIG_NLS_CODEPAGE_861=m -CONFIG_NLS_CODEPAGE_862=m -CONFIG_NLS_CODEPAGE_863=m -CONFIG_NLS_CODEPAGE_864=m -CONFIG_NLS_CODEPAGE_865=m -CONFIG_NLS_CODEPAGE_866=m -CONFIG_NLS_CODEPAGE_869=m -CONFIG_NLS_CODEPAGE_936=m -CONFIG_NLS_CODEPAGE_950=m -CONFIG_NLS_CODEPAGE_932=m -CONFIG_NLS_CODEPAGE_949=m -CONFIG_NLS_CODEPAGE_874=m -CONFIG_NLS_ISO8859_8=m -CONFIG_NLS_CODEPAGE_1250=m -CONFIG_NLS_CODEPAGE_1251=m -CONFIG_NLS_ASCII=m -CONFIG_NLS_ISO8859_1=m -CONFIG_NLS_ISO8859_2=m -CONFIG_NLS_ISO8859_3=m -CONFIG_NLS_ISO8859_4=m -CONFIG_NLS_ISO8859_5=m -CONFIG_NLS_ISO8859_6=m -CONFIG_NLS_ISO8859_7=m -CONFIG_NLS_ISO8859_9=m -CONFIG_NLS_ISO8859_13=m -CONFIG_NLS_ISO8859_14=m -CONFIG_NLS_ISO8859_15=m -CONFIG_NLS_KOI8_R=m -CONFIG_NLS_KOI8_U=m -CONFIG_NLS_UTF8=m - -# -# Profiling support -# -# CONFIG_PROFILING is not set - -# -# Graphics support -# -# CONFIG_FB is not set - -# -# Sound -# -# CONFIG_SOUND is not set - -# -# Misc devices -# - -# -# USB support -# -CONFIG_USB_ARCH_HAS_HCD=y -CONFIG_USB_ARCH_HAS_OHCI=y -CONFIG_USB=y -# CONFIG_USB_DEBUG is not set - -# -# Miscellaneous USB options -# -CONFIG_USB_DEVICEFS=y -# CONFIG_USB_BANDWIDTH is not set -# CONFIG_USB_DYNAMIC_MINORS is not set -# CONFIG_USB_OTG is not set - -# -# USB Host Controller Drivers -# -CONFIG_USB_EHCI_HCD=y -# CONFIG_USB_EHCI_SPLIT_ISO is not set -# CONFIG_USB_EHCI_ROOT_HUB_TT is not set -CONFIG_USB_OHCI_HCD=y -# CONFIG_USB_OHCI_BIG_ENDIAN is not set -CONFIG_USB_OHCI_LITTLE_ENDIAN=y -# CONFIG_USB_UHCI_HCD is not set -# CONFIG_USB_SL811_HCD is not set - -# -# USB Device Class drivers -# - -# -# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem -# -# CONFIG_USB_ACM is not set -CONFIG_USB_PRINTER=m - -# -# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information -# -CONFIG_USB_STORAGE=y -# CONFIG_USB_STORAGE_DEBUG is not set -# CONFIG_USB_STORAGE_RW_DETECT is not set -# CONFIG_USB_STORAGE_DATAFAB is not set -# CONFIG_USB_STORAGE_FREECOM is not set -# CONFIG_USB_STORAGE_DPCM is not set -# CONFIG_USB_STORAGE_USBAT is not set -# CONFIG_USB_STORAGE_SDDR09 is not set -# CONFIG_USB_STORAGE_SDDR55 is not set -# CONFIG_USB_STORAGE_JUMPSHOT is not set - -# -# USB Input Devices -# -# CONFIG_USB_HID is not set - -# -# USB HID Boot Protocol drivers -# - -# -# USB Imaging devices -# -# CONFIG_USB_MDC800 is not set -# CONFIG_USB_MICROTEK is not set - -# -# USB Multimedia devices -# -# CONFIG_USB_DABUSB is not set - -# -# Video4Linux support is needed for USB Multimedia device support -# - -# -# USB Network Adapters -# -CONFIG_USB_CATC=m -CONFIG_USB_KAWETH=m -CONFIG_USB_PEGASUS=m -CONFIG_USB_RTL8150=m -CONFIG_USB_USBNET=m - -# -# USB Host-to-Host Cables -# -CONFIG_USB_ALI_M5632=y -CONFIG_USB_AN2720=y -CONFIG_USB_BELKIN=y -CONFIG_USB_GENESYS=y -CONFIG_USB_NET1080=y -CONFIG_USB_PL2301=y -CONFIG_USB_KC2190=y - -# -# Intelligent USB Devices/Gadgets -# -CONFIG_USB_ARMLINUX=y -CONFIG_USB_EPSON2888=y -CONFIG_USB_ZAURUS=y -CONFIG_USB_CDCETHER=y - -# -# USB Network Adapters -# -CONFIG_USB_AX8817X=y -# CONFIG_USB_ZD1201 is not set -# CONFIG_USB_MON is not set - -# -# USB port drivers -# - -# -# USB Serial Converter support -# -CONFIG_USB_SERIAL=m -CONFIG_USB_SERIAL_GENERIC=y -CONFIG_USB_SERIAL_BELKIN=m -CONFIG_USB_SERIAL_WHITEHEAT=m -CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -CONFIG_USB_SERIAL_CYPRESS_M8=m -CONFIG_USB_SERIAL_EMPEG=m -CONFIG_USB_SERIAL_FTDI_SIO=m -CONFIG_USB_SERIAL_VISOR=m -CONFIG_USB_SERIAL_IPAQ=m -CONFIG_USB_SERIAL_IR=m -CONFIG_USB_SERIAL_EDGEPORT=m -CONFIG_USB_SERIAL_EDGEPORT_TI=m -CONFIG_USB_SERIAL_GARMIN=m -CONFIG_USB_SERIAL_IPW=m -CONFIG_USB_SERIAL_KEYSPAN_PDA=m -# CONFIG_USB_SERIAL_KEYSPAN is not set -CONFIG_USB_SERIAL_KLSI=m -CONFIG_USB_SERIAL_KOBIL_SCT=m -CONFIG_USB_SERIAL_MCT_U232=m -CONFIG_USB_SERIAL_PL2303=m -CONFIG_USB_SERIAL_SAFE=m -# CONFIG_USB_SERIAL_SAFE_PADDED is not set -CONFIG_USB_SERIAL_TI=m -CONFIG_USB_SERIAL_CYBERJACK=m -CONFIG_USB_SERIAL_XIRCOM=m -CONFIG_USB_SERIAL_OMNINET=m -CONFIG_USB_EZUSB=y - -# -# USB Miscellaneous drivers -# -# CONFIG_USB_EMI62 is not set -# CONFIG_USB_EMI26 is not set -# CONFIG_USB_AUERSWALD is not set -# CONFIG_USB_RIO500 is not set -# CONFIG_USB_LEGOTOWER is not set -# CONFIG_USB_LCD is not set -# CONFIG_USB_LED is not set -# CONFIG_USB_CYTHERM is not set -# CONFIG_USB_PHIDGETKIT is not set -# CONFIG_USB_PHIDGETSERVO is not set -# CONFIG_USB_IDMOUSE is not set -# CONFIG_USB_SISUSBVGA is not set -# CONFIG_USB_TEST is not set - -# -# USB ATM/DSL drivers -# - -# -# USB Gadget Support -# -# CONFIG_USB_GADGET is not set - -# -# MMC/SD Card support -# -# CONFIG_MMC is not set - -# -# Kernel hacking -# -# CONFIG_PRINTK_TIME is not set -# CONFIG_DEBUG_KERNEL is not set -CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_DEBUG_BUGVERBOSE is not set -CONFIG_FRAME_POINTER=y -# CONFIG_DEBUG_USER is not set - -# -# Security options -# -# CONFIG_KEYS is not set -# CONFIG_SECURITY is not set - -# -# Cryptographic options -# -CONFIG_CRYPTO=y -CONFIG_CRYPTO_HMAC=y -# CONFIG_CRYPTO_NULL is not set -CONFIG_CRYPTO_MD4=m -CONFIG_CRYPTO_MD5=m -CONFIG_CRYPTO_SHA1=m -CONFIG_CRYPTO_SHA256=m -CONFIG_CRYPTO_SHA512=m -CONFIG_CRYPTO_WP512=m -CONFIG_CRYPTO_TGR192=m -CONFIG_CRYPTO_DES=m -CONFIG_CRYPTO_BLOWFISH=m -CONFIG_CRYPTO_TWOFISH=m -CONFIG_CRYPTO_SERPENT=m -CONFIG_CRYPTO_AES=m -CONFIG_CRYPTO_CAST5=m -CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_TEA=m -CONFIG_CRYPTO_ARC4=m -CONFIG_CRYPTO_KHAZAD=m -CONFIG_CRYPTO_ANUBIS=m -CONFIG_CRYPTO_DEFLATE=m -CONFIG_CRYPTO_MICHAEL_MIC=m -CONFIG_CRYPTO_CRC32C=m -CONFIG_CRYPTO_TEST=m - -# -# Hardware crypto devices -# - -# -# Library routines -# -CONFIG_CRC_CCITT=m -CONFIG_CRC32=y -CONFIG_LIBCRC32C=m -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/reiser4.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/reiser4.patch deleted file mode 100644 index b752ddac98..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/reiser4.patch +++ /dev/null @@ -1,617 +0,0 @@ ---- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/disk_format/disk_format40.c 2005-03-27 21:36:10.656270448 -0800 -+++ linux-2.6.11/fs/reiser4/plugin/disk_format/disk_format40.c 2005-03-27 23:39:18.967076480 -0800 -@@ -467,19 +467,15 @@ - return 0; - } - --#define FORMAT40_ROOT_LOCALITY 41 --#define FORMAT40_ROOT_OBJECTID 42 -+#define FORMAT40_ROOT_LOCALITY 41ull -+#define FORMAT40_ROOT_OBJECTID 42ull - - /* plugin->u.format.root_dir_key */ - reiser4_internal const reiser4_key * - root_dir_key_format40(const struct super_block *super UNUSED_ARG) - { - static const reiser4_key FORMAT40_ROOT_DIR_KEY = { -- .el = {{(FORMAT40_ROOT_LOCALITY << 4) | KEY_SD_MINOR}, --#if REISER4_LARGE_KEY -- {0ull}, --#endif -- {FORMAT40_ROOT_OBJECTID}, {0ull}} -+ .el = { KEY_INIT(KEY_SD_MINOR,FORMAT40_ROOT_LOCALITY,0ull,0,FORMAT40_ROOT_OBJECTID,0ull) } - }; - - return &FORMAT40_ROOT_DIR_KEY; ---- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/disk_format/disk_format40.h 2005-03-27 21:24:00.618253096 -0800 -+++ linux-2.6.11/fs/reiser4/plugin/disk_format/disk_format40.h 2005-03-27 21:24:02.747929336 -0800 -@@ -49,7 +49,7 @@ - /* 70 */ d16 formatting_policy; - /* 72 */ d64 flags; - /* 72 */ char not_used[432]; --} format40_disk_super_block; -+} PACKED64 format40_disk_super_block; - - /* format 40 specific part of reiser4_super_info_data */ - typedef struct format40_super_info { ---- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/file/invert.c 2005-03-27 21:24:00.625252032 -0800 -+++ linux-2.6.11/fs/reiser4/plugin/file/invert.c 2005-03-27 21:24:02.747929336 -0800 -@@ -240,14 +240,14 @@ - typedef struct flow_header { - d32 fl_magic; - d16 fl_nr; /* number of subfiles in the flow */ --}; -+} PACKED32; - - typedef struct subfile_header { - d32 sh_magic; /* subfile magic */ - d16 sh_type; /* type of subfile: light-weight, ordinary, invert */ - d16 sh_arg_len; /* lenght of lookup argument (filename, key) */ - d32 sh_body_len; /* lenght of subfile body */ --}; -+} PACKED32; - - /* functions to get/set fields of flow header */ - ---- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/item/static_stat.c 2005-03-27 21:24:00.648248536 -0800 -+++ linux-2.6.11/fs/reiser4/plugin/item/static_stat.c 2005-03-27 21:34:27.331978128 -0800 -@@ -19,6 +19,38 @@ - - /* see static_stat.h for explanation */ - -+/* compile time verify of the data structure sizes and alignments */ -+static inline void -+r4static_stat_verify(void) -+{ -+ /* All these structures are PACKED, so the __alignof__ should -+ * be 1. The sizes need to be correct as they map to disk -+ * structures. -+ */ -+ cassert(sizeof (reiser4_stat_data_base) == 2); -+ /* cassert(sizeof (reiser4_light_weight_stat) == 16); -+ * 14 bytes, comments in code do not take into account PACKED! -+ */ -+ cassert(sizeof (reiser4_light_weight_stat) == 14); -+ cassert(sizeof (reiser4_unix_stat) == 28); -+ cassert(sizeof (reiser4_symlink_stat) == 0); -+ cassert(sizeof (reiser4_plugin_slot) == 4); -+ cassert(sizeof (reiser4_plugin_stat) == 2); -+ cassert(sizeof (reiser4_flags_stat) == 4); -+ /* cassert(sizeof (reiser4_capabilities_stat) == 16); -+ * comments in the file look wrong - capabilities are 2 x d32 -+ * not 2 x d64 in the declaration. -+ */ -+ cassert(sizeof (reiser4_capabilities_stat) == 8); -+ cassert(sizeof (reiser4_cluster_stat) == 1); -+ cassert(sizeof (reiser4_crypto_stat) == 2); -+ /* cassert(sizeof (reiser4_large_times_stat) == 24); -+ * should be 12 bytes - 3 x d32, probably a bug in the def in -+ * the header file (meant to be 3 x d64?) -+ */ -+ cassert(sizeof (reiser4_large_times_stat) == 12); -+} -+ - /* helper function used while we are dumping/loading inode/plugin state - to/from the stat-data. */ - ---- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/item/acl.h 2005-03-27 21:24:00.629251424 -0800 -+++ linux-2.6.11/fs/reiser4/plugin/item/acl.h 2005-03-27 21:24:02.749929032 -0800 -@@ -26,7 +26,7 @@ - obj_key_id id; - /* file name. Null terminated string. */ - d8 name[0]; --} directory_entry_format; -+} PACKEDt(obj_key_id) directory_entry_format; - - void print_de(const char *prefix, coord_t * coord); - int extract_key_de(const coord_t * coord, reiser4_key * key); ---- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/item/cde.h 2005-03-27 21:24:00.632250968 -0800 -+++ linux-2.6.11/fs/reiser4/plugin/item/cde.h 2005-03-27 21:24:02.750928880 -0800 -@@ -15,12 +15,12 @@ - typedef struct cde_unit_header { - de_id hash; - d16 offset; --} cde_unit_header; -+} PACKEDt2(de_id,d16) cde_unit_header; - - typedef struct cde_item_format { - d16 num_of_entries; - cde_unit_header entry[0]; --} cde_item_format; -+} PACKEDt2(d16,cde_unit_header) cde_item_format; - - typedef struct cde_entry { - const struct inode *dir; ---- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/item/extent.h 2005-03-27 21:32:13.758284416 -0800 -+++ linux-2.6.11/fs/reiser4/plugin/item/extent.h 2005-03-27 21:32:30.786695704 -0800 -@@ -7,7 +7,7 @@ - typedef struct { - reiser4_dblock_nr start; - reiser4_dblock_nr width; --} reiser4_extent; -+} PACKED64 reiser4_extent; - - typedef struct extent_stat { - int unallocated_units; ---- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/item/internal.h 2005-03-27 21:33:08.971890672 -0800 -+++ linux-2.6.11/fs/reiser4/plugin/item/internal.h 2005-03-27 22:15:43.290575208 -0800 -@@ -13,7 +13,7 @@ - typedef struct internal_item_layout { - /* 0 */ reiser4_dblock_nr pointer; - /* 4 */ --} internal_item_layout; -+} PACKED64 internal_item_layout; - - struct cut_list; - ---- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/item/sde.h 2005-03-27 21:24:00.646248840 -0800 -+++ linux-2.6.11/fs/reiser4/plugin/item/sde.h 2005-03-27 21:24:02.750928880 -0800 -@@ -26,7 +26,7 @@ - obj_key_id id; - /* file name. Null terminated string. */ - d8 name[0]; --} directory_entry_format; -+} PACKEDt(obj_key_id) directory_entry_format; - - void print_de(const char *prefix, coord_t * coord); - int extract_key_de(const coord_t * coord, reiser4_key * key); ---- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/node/node40.c 2005-03-27 21:24:00.654247624 -0800 -+++ linux-2.6.11/fs/reiser4/plugin/node/node40.c 2005-03-27 21:35:08.677692624 -0800 -@@ -32,6 +32,22 @@ - magic (32) - flush_time (32) - */ -+/* compile time verify of the data structure sizes and alignments */ -+static inline void -+r4node40_stat_verify(void) -+{ -+ /* The alignment of these structures is intended to be '1', but -+ * it doesn't matter so long as the size is right. -+ */ -+ cassert(sizeof (common_node_header) == 2); -+ cassert(sizeof (node40_header) == 28); -+#if REISER4_LARGE_KEY -+ cassert(sizeof (item_header40) == 38); -+#else -+ cassert(sizeof (item_header40) == 30); -+#endif -+} -+ - /* NIKITA-FIXME-HANS: I told you guys not less than 10 times to not call it r4fs. Change to "ReIs". */ - /* magic number that is stored in ->magic field of node header */ - static const __u32 REISER4_NODE_MAGIC = 0x52344653; /* (*(__u32 *)"R4FS"); */ ---- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/node/node.h 2005-03-27 21:24:00.656247320 -0800 -+++ linux-2.6.11/fs/reiser4/plugin/node/node.h 2005-03-27 21:24:02.753928424 -0800 -@@ -250,7 +250,7 @@ - /* identifier of node plugin. Must be located at the very beginning - of a node. */ - d16 plugin_id; --} common_node_header; -+} PACKED16 common_node_header; - - /* __REISER4_NODE_H__ */ - #endif ---- linux-2.6.11/.pc/reiser4/fs/reiser4/debug.c 2005-03-27 21:24:00.563261456 -0800 -+++ linux-2.6.11/fs/reiser4/debug.c 2005-03-27 23:27:58.569512632 -0800 -@@ -75,6 +75,72 @@ - va_list args; - - /* -+ * this is here to make sure that we don't compile code which we -+ * know a-priori will panic, or fail without panicing, since this -+ * compiles first if you find a duplicate case label error then -+ * you need to rewrite this code to match your compiler. -+ */ -+ cassert(sizeof (d8) == 1); -+ cassert(__alignof__ (d8) == 1); -+ { -+ struct { -+ __u8 pad; -+ d8 data; -+ } PACKED8 test; -+ cassert(sizeof test == 2); -+ cassert(sizeof test.data == 1); -+ cassert(__alignof__ test.data == 1); -+ cassert(__alignof__ test == 1); -+ } -+ cassert(sizeof (d16) == 2); -+ cassert(__alignof__ (d16) == 2); -+ { -+ struct { -+ __u8 pad; -+ d16 data; -+ } PACKED16 test; -+ cassert(sizeof test == 4); -+ cassert(sizeof test.data == 2); -+#if !__arm__ -+ cassert(__alignof__ test.data == 2); -+#endif -+ cassert(__alignof__ test == 2); -+#if !__arm__ -+ cassert(test.data.datum - &test.pad == 2); -+#endif -+ } -+ cassert(sizeof (d32) == 4); -+ cassert(__alignof__ (d32) == 4); -+ { -+ struct { -+ __u8 pad; -+ d32 data; -+ } PACKED32 test; -+ cassert(sizeof test == 8); -+ cassert(sizeof test.data == 4); -+ cassert(__alignof__ test.data == 4); -+ cassert(__alignof__ test == 4); -+ cassert(test.data.datum - &test.pad == 4); -+ } -+ cassert(sizeof (d64) == 8); -+ cassert(__alignof__ (d64) == 8); -+ { -+ struct { -+ __u8 pad; -+ d64 data; -+ } PACKED64 test; -+ cassert(sizeof test == 16); -+ cassert(sizeof test.data == 8); -+ cassert(__alignof__ test.data == 8); -+ cassert(__alignof__ test == 8); -+ cassert(test.data.datum - &test.pad == 8); -+ } -+ -+ /* This is just a test of a struct with a single d64 element. */ -+ cassert(sizeof (reiser4_dblock_nr) == 8); -+ cassert(__alignof__(reiser4_dblock_nr) == 8); -+ -+ /* - * check for recursive panic. - */ - if (in_panic == 0) { ---- linux-2.6.11/.pc/reiser4/fs/reiser4/flush_queue.c 2005-03-27 21:24:00.577259328 -0800 -+++ linux-2.6.11/fs/reiser4/flush_queue.c 2005-03-27 21:24:02.755928120 -0800 -@@ -447,7 +447,7 @@ - - /* If all write requests registered in this "fq" are done we up - * the semaphore. */ -- if (atomic_sub_and_test(bio->bi_vcnt, &fq->nr_submitted)) -+ if (atomic_sub_return(bio->bi_vcnt, &fq->nr_submitted) == 0) - up(&fq->io_sem); - } - ---- linux-2.6.11/.pc/reiser4/fs/reiser4/key.c 2005-03-27 22:42:43.481268784 -0800 -+++ linux-2.6.11/fs/reiser4/key.c 2005-03-27 23:42:53.958392832 -0800 -@@ -13,10 +13,10 @@ - independent of key scheme. */ - static const reiser4_key MINIMAL_KEY = { - .el = { -- {0ull}, -- ON_LARGE_KEY({0ull},) -- {0ull}, -- {0ull} -+ {{0,0,0,0,0,0,0,0}}, -+ ON_LARGE_KEY({{0,0,0,0,0,0,0,0}},) -+ {{0,0,0,0,0,0,0,0}}, -+ {{0,0,0,0,0,0,0,0}} - } - }; - -@@ -24,10 +24,10 @@ - independent of key scheme. */ - static const reiser4_key MAXIMAL_KEY = { - .el = { -- {~0ull}, -- ON_LARGE_KEY({~0ull},) -- {~0ull}, -- {~0ull} -+ {{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}}, -+ ON_LARGE_KEY({{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}},) -+ {{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}}, -+ {{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}} - } - }; - ---- linux-2.6.11/.pc/reiser4/fs/reiser4/safe_link.c 2005-03-27 21:24:00.677244128 -0800 -+++ linux-2.6.11/fs/reiser4/safe_link.c 2005-03-27 21:24:02.756927968 -0800 -@@ -61,7 +61,7 @@ - reiser4_key sdkey; /* key of stat-data for the file safe-link is - * for */ - d64 size; /* size to which file should be truncated */ --} safelink_t; -+} PACKEDt2(reiser4_key, d64) safelink_t; - - /* - * locality where safe-link items are stored. Next to the objectid of root ---- linux-2.6.11/.pc/reiser4/fs/reiser4/status_flags.c 2005-03-27 21:24:00.682243368 -0800 -+++ linux-2.6.11/fs/reiser4/status_flags.c 2005-03-27 21:24:02.756927968 -0800 -@@ -153,6 +153,7 @@ - &statuspage->stacktrace[no]) - - GETFRAME(0); -+#ifndef __arm__ - GETFRAME(1); - GETFRAME(2); - GETFRAME(3); -@@ -162,6 +163,7 @@ - GETFRAME(7); - GETFRAME(8); - GETFRAME(9); -+#endif - - #undef GETFRAME - #endif ---- linux-2.6.11/.pc/reiser4/fs/reiser4/dformat.h 2005-03-27 21:24:00.564261304 -0800 -+++ linux-2.6.11/fs/reiser4/dformat.h 2005-03-27 23:29:03.223683704 -0800 -@@ -28,43 +28,84 @@ - - /* code on-disk data-types as structs with a single field - to rely on compiler type-checking. Like include/asm-i386/page.h */ -+/* This code did not work on the arm with gcc 3.4.3 because the -+ * arm has a minimum structure size of 4 - packed is necessary to -+ * allow these types to be smaller than 4 - and because this version -+ * of gcc 'loses' the alignment if the structure contains just one -+ * element of alignment 8 (or probably any value greater than 4). -+ * To fix this and to make the code much more portable all the basic -+ * types are now just done as arrays of bytes - __u8. -+ * -+ * This is highly tricky, however the check code in debug.c should -+ * fire a compile time assert if it goes wrong. -+ */ -+#if __arm__ -+#define PACKED8 __attribute__ ((packed,aligned(1))) -+/* Warning: the presence of the packed attribute here means that any -+ * d16 in a structure so marked will lose its alignment. That doesn't -+ * seem to matter because there don't seem to be any d16's with odd -+ * structure offsets, but it might. -+ */ -+#define PACKED16 __attribute__ ((packed,aligned(2))) -+#define PACKED32 __attribute__ ((aligned(4))) -+#define PACKED64 __attribute__ ((aligned(8))) -+#else -+#define PACKED8 __attribute__ ((aligned(1))) -+#define PACKED16 __attribute__ ((aligned(2))) -+#define PACKED32 __attribute__ ((aligned(4))) -+#define PACKED64 __attribute__ ((aligned(8))) -+#endif - typedef struct d8 { -- __u8 datum; --} d8 __attribute__ ((aligned(1))); -+ __u8 datum[1]; -+} PACKED8 d8; - typedef struct d16 { -- __u16 datum; --} d16 __attribute__ ((aligned(2))); -+ __u8 datum[2]; -+} PACKED16 d16; - typedef struct d32 { -- __u32 datum; --} d32 __attribute__ ((aligned(4))); -+ __u8 datum[4]; -+} PACKED32 d32; - typedef struct d64 { -- __u64 datum; --} d64 __attribute__ ((aligned(8))); -+ __u8 datum[8]; -+} PACKED64 d64; - -+#define PACKEDt(t) __attribute__ ((packed,aligned(__alignof__ (t)) )) -+#define PACKEDt2(t1,t2) __attribute__ ((packed,aligned(\ -+ __alignof__ (t1) < __alignof__ (t2) ? __alignof__ (t2) : __alignof__ (t1) ))) - #define PACKED __attribute__((packed)) - - static inline __u8 - d8tocpu(const d8 * ondisk /* on-disk value to convert */ ) - { -- return ondisk->datum; -+ return ondisk->datum[0]; - } - - static inline __u16 - d16tocpu(const d16 * ondisk /* on-disk value to convert */ ) - { -- return __le16_to_cpu(get_unaligned(&ondisk->datum)); -+ return ondisk->datum[0] + (ondisk->datum[1] << 8); - } - - static inline __u32 - d32tocpu(const d32 * ondisk /* on-disk value to convert */ ) - { -- return __le32_to_cpu(get_unaligned(&ondisk->datum)); -+ return ondisk->datum[0] + -+ (ondisk->datum[1] << 8) + -+ (ondisk->datum[2] << 16) + -+ (ondisk->datum[3] << 24); - } - - static inline __u64 - d64tocpu(const d64 * ondisk /* on-disk value to convert */ ) - { -- return __le64_to_cpu(get_unaligned(&ondisk->datum)); -+ __u32 low = ondisk->datum[0] + -+ (ondisk->datum[1] << 8) + -+ (ondisk->datum[2] << 16) + -+ (ondisk->datum[3] << 24); -+ __u64 high = ondisk->datum[4] + -+ (ondisk->datum[5] << 8) + -+ (ondisk->datum[6] << 16) + -+ (ondisk->datum[7] << 24); -+ return low + (high << 32); - } - - static inline d8 * -@@ -72,7 +113,7 @@ - d8 * ondisk /* result */ ) - { - assert("nikita-1264", oncpu < 0x100); -- put_unaligned(oncpu, &ondisk->datum); -+ ondisk->datum[0] = oncpu; - return ondisk; - } - -@@ -81,7 +122,8 @@ - d16 * ondisk /* result */ ) - { - assert("nikita-1265", oncpu < 0x10000); -- put_unaligned(__cpu_to_le16(oncpu), &ondisk->datum); -+ ondisk->datum[0] = oncpu; -+ ondisk->datum[1] = oncpu >> 8; - return ondisk; - } - -@@ -89,15 +131,27 @@ - cputod32(__u32 oncpu /* CPU value to convert */ , - d32 * ondisk /* result */ ) - { -- put_unaligned(__cpu_to_le32(oncpu), &ondisk->datum); -+ ondisk->datum[0] = oncpu; oncpu >>= 8; -+ ondisk->datum[1] = oncpu; oncpu >>= 8; -+ ondisk->datum[2] = oncpu; oncpu >>= 8; -+ ondisk->datum[3] = oncpu; - return ondisk; - } - - static inline d64 * --cputod64(__u64 oncpu /* CPU value to convert */ , -+cputod64(__u64 oncpuIn /* CPU value to convert */ , - d64 * ondisk /* result */ ) - { -- put_unaligned(__cpu_to_le64(oncpu), &ondisk->datum); -+ __u32 oncpu = oncpuIn; -+ ondisk->datum[0] = oncpu; oncpu >>= 8; -+ ondisk->datum[1] = oncpu; oncpu >>= 8; -+ ondisk->datum[2] = oncpu; oncpu >>= 8; -+ ondisk->datum[3] = oncpu; -+ oncpu = oncpuIn >> 32; -+ ondisk->datum[4] = oncpu; oncpu >>= 8; -+ ondisk->datum[5] = oncpu; oncpu >>= 8; -+ ondisk->datum[6] = oncpu; oncpu >>= 8; -+ ondisk->datum[7] = oncpu; - return ondisk; - } - -@@ -111,7 +165,7 @@ - /* data-type for block number on disk, disk format */ - union reiser4_dblock_nr { - d64 blk; --}; -+} PACKED64; - - static inline reiser4_block_nr - dblock_to_cpu(const reiser4_dblock_nr * dblock) -@@ -148,7 +202,7 @@ - char uuid[16]; /* unique id */ - char label[16]; /* filesystem label */ - d64 diskmap; /* location of the diskmap. 0 if not present */ --} reiser4_master_sb; -+} PACKED64 reiser4_master_sb; - - /* __FS_REISER4_DFORMAT_H__ */ - #endif ---- linux-2.6.11/.pc/reiser4/fs/reiser4/kassign.h 2005-03-27 21:24:00.588257656 -0800 -+++ linux-2.6.11/fs/reiser4/kassign.h 2005-03-27 21:24:02.757927816 -0800 -@@ -46,7 +46,7 @@ - d8 locality[sizeof (__u64)]; - ON_LARGE_KEY(d8 ordering[sizeof (__u64)];) - d8 objectid[sizeof (__u64)]; --} obj_key_id; -+} PACKED8 obj_key_id; - - /* Information sufficient to uniquely identify directory entry within - compressed directory item. -@@ -57,7 +57,7 @@ - ON_LARGE_KEY(d8 ordering[sizeof (__u64)];) - d8 objectid[sizeof (__u64)]; - d8 offset[sizeof (__u64)]; --} de_id; -+} PACKED8 de_id; - - extern int inode_onwire_size(const struct inode *obj); - extern char *build_inode_onwire(const struct inode *obj, char *area); ---- linux-2.6.11/.pc/reiser4/fs/reiser4/key.h 2005-03-27 21:24:00.591257200 -0800 -+++ linux-2.6.11/fs/reiser4/key.h 2005-03-27 23:41:07.744539792 -0800 -@@ -106,7 +106,7 @@ - union reiser4_key { - d64 el[KEY_LAST_INDEX]; - int pad; --}; -+} PACKED64; - - /* bitmasks showing where within reiser4_key particular key is - stored. */ -@@ -138,6 +138,20 @@ - KEY_ORDERING_SHIFT = 0, - } reiser4_key_field_shift; - -+/* initialise a key, this is a compile time constant initialiser expressed as -+ * three or four (as appropriate) 8 byte initialisers, there are braces around -+ * each 8 byte quantity but not around the whole initializer. -+ */ -+#define KEY_INIT(type,loc,order,band,oid,off)\ -+{{ (0xf&(type))+(0xf0&((loc) << 4)), 0xff&((loc) >> 4), 0xff&((loc) >> 12), 0xff&((loc) >> 20),\ -+ 0xff&((loc) >> 28), 0xff&((loc) >> 36), 0xff&((loc) >> 44), 0xff&((loc) >> 52) }},\ -+ON_LARGE_KEY({{ 0xff&(order), 0xff&((order)>>8), 0xff&((order)>>16), 0xff&((order)>>24),\ -+ 0xff&((order)>>32), 0xff&((order)>>40), 0xff&((order)>>48), 0xff&((order)>>56) }},)\ -+{{ 0xff&(oid), 0xff&((oid)>>8), 0xff&((oid)>>16), 0xff&((oid)>>24),\ -+ 0xff&((oid)>>32), 0xff&((oid)>>40), 0xff&((oid)>>48), (0xf&((oid)>>56))+(0xf0&((band)<<4))}},\ -+{{ 0xff&(off), 0xff&((off)>>8), 0xff&((off)>>16), 0xff&((off)>>24),\ -+ 0xff&((off)>>32), 0xff&((off)>>40), 0xff&((off)>>48), 0xff&((off)>>56) }} -+ - static inline __u64 - get_key_el(const reiser4_key * key, reiser4_key_field_index off) - { ---- linux-2.6.11/.pc/reiser4/fs/reiser4/status_flags.h 2005-03-27 21:24:00.682243368 -0800 -+++ linux-2.6.11/fs/reiser4/status_flags.h 2005-03-27 21:24:02.758927664 -0800 -@@ -33,7 +33,7 @@ - last sector where io error happened if status is "io error encountered" */ - d64 stacktrace[10]; /* Last ten functional calls made (addresses)*/ - char texterror[REISER4_TEXTERROR_LEN]; /* Any error message if appropriate, otherwise filled with zeroes */ --}; -+} PACKED64; - - int reiser4_status_init(reiser4_block_nr block); - int reiser4_status_query(u64 *status, u64 *extended); ---- linux-2.6.11/.pc/reiser4/fs/reiser4/wander.h 2005-03-27 21:24:00.709239264 -0800 -+++ linux-2.6.11/fs/reiser4/wander.h 2005-03-27 22:14:59.663207576 -0800 -@@ -19,7 +19,7 @@ - struct journal_header { - /* last written transaction head location */ - d64 last_committed_tx; --}; -+} PACKED64; - - typedef struct journal_location { - reiser4_block_nr footer; -@@ -46,7 +46,7 @@ - super block */ - d64 nr_files; - d64 next_oid; --}; -+} PACKED64; - - /* Each wander record (except the first one) has unified format with wander - record header followed by an array of log entries */ -@@ -66,7 +66,7 @@ - - /* number of previous block in commit */ - d64 next_block; --}; -+} PACKED64; - - /* The first wander record (transaction head) of written transaction has the - special format */ -@@ -98,7 +98,7 @@ - separately from super block */ - d64 nr_files; - d64 next_oid; --}; -+} PACKED64; - - /* A transaction gets written to disk as a set of wander records (each wander - record size is fs block) */ -@@ -108,7 +108,7 @@ - struct wander_entry { - d64 original; /* block original location */ - d64 wandered; /* block wandered location */ --}; -+} PACKED64; - - /* REISER4 JOURNAL WRITER FUNCTIONS */ - diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/x1205-rtc.c-mm.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/x1205-rtc.c-mm.patch deleted file mode 100644 index 6ef6befd73..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/x1205-rtc.c-mm.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- original/drivers/i2c/chips/x1205-rtc.c Sat Mar 5 23:41:12 2005 -+++ linux-2.6.11/drivers/i2c/chips/x1205-rtc.c Sat Mar 5 23:41:25 2005 -@@ -139,7 +139,6 @@ - }; - - static struct i2c_client x1205_i2c_client = { -- .id = I2C_DRIVERID_X1205, - .flags = 0, - .addr = X1205_I2C_BUS_ADDR, // chip address - NOTE: 7bit - .adapter = NULL, // the adapter we sit on assigned in attach -@@ -301,7 +300,6 @@ - int errno; - - x1205_i2c_client.adapter = adapter; -- x1205_i2c_client.id++; - - if ((x1205_get_datetime(&x1205_i2c_client, &tm, X1205_CCR_BASE)) != NOERR) //test for functional driver - return -EIO; diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.12/defconfig b/packages/obsolete/nslu2/nslu2-kernel/2.6.12/defconfig deleted file mode 100644 index 9397245b99..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.12/defconfig +++ /dev/null @@ -1,1226 +0,0 @@ -# -# Automatically generated make config: don't edit -# Linux kernel version: 2.6.12 -# Sat Jun 18 17:17:09 2005 -# -CONFIG_ARM=y -CONFIG_MMU=y -CONFIG_UID16=y -CONFIG_RWSEM_GENERIC_SPINLOCK=y -CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_GENERIC_IOMAP=y - -# -# Code maturity level options -# -CONFIG_EXPERIMENTAL=y -CONFIG_CLEAN_COMPILE=y -CONFIG_BROKEN_ON_SMP=y -CONFIG_INIT_ENV_ARG_LIMIT=32 - -# -# General setup -# -CONFIG_LOCALVERSION="" -CONFIG_SWAP=y -CONFIG_SYSVIPC=y -# CONFIG_POSIX_MQUEUE is not set -# CONFIG_BSD_PROCESS_ACCT is not set -CONFIG_SYSCTL=y -# CONFIG_AUDIT is not set -CONFIG_HOTPLUG=y -CONFIG_KOBJECT_UEVENT=y -# CONFIG_IKCONFIG is not set -CONFIG_EMBEDDED=y -# CONFIG_KALLSYMS is not set -CONFIG_PRINTK=y -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 -CONFIG_CC_ALIGN_LOOPS=0 -CONFIG_CC_ALIGN_JUMPS=0 -# CONFIG_TINY_SHMEM is not set -CONFIG_BASE_SMALL=1 - -# -# Loadable module support -# -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_MODULE_FORCE_UNLOAD is not set -CONFIG_OBSOLETE_MODPARM=y -# CONFIG_MODVERSIONS is not set -# CONFIG_MODULE_SRCVERSION_ALL is not set -CONFIG_KMOD=y - -# -# System Type -# -# CONFIG_ARCH_CLPS7500 is not set -# CONFIG_ARCH_CLPS711X is not set -# CONFIG_ARCH_CO285 is not set -# CONFIG_ARCH_EBSA110 is not set -# CONFIG_ARCH_CAMELOT is not set -# CONFIG_ARCH_FOOTBRIDGE is not set -# CONFIG_ARCH_INTEGRATOR is not set -# CONFIG_ARCH_IOP3XX is not set -CONFIG_ARCH_IXP4XX=y -# CONFIG_ARCH_IXP2000 is not set -# CONFIG_ARCH_L7200 is not set -# CONFIG_ARCH_PXA is not set -# CONFIG_ARCH_RPC is not set -# CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_S3C2410 is not set -# CONFIG_ARCH_SHARK is not set -# CONFIG_ARCH_LH7A40X is not set -# CONFIG_ARCH_OMAP is not set -# CONFIG_ARCH_VERSATILE is not set -# CONFIG_ARCH_IMX is not set -# CONFIG_ARCH_H720X is not set -CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y - -# -# Intel IXP4xx Implementation Options -# - -# -# IXP4xx Platforms -# -# 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_NSLU2=y -# CONFIG_ARCH_PRPMC1100 is not set -# CONFIG_MACH_GTWX5715 is not set - -# -# IXP4xx Options -# -CONFIG_IXP4XX_INDIRECT_PCI=y - -# -# Processor Type -# -CONFIG_CPU_32=y -CONFIG_CPU_XSCALE=y -CONFIG_CPU_32v5=y -CONFIG_CPU_ABRT_EV5T=y -CONFIG_CPU_CACHE_VIVT=y -CONFIG_CPU_TLB_V4WBI=y - -# -# Processor Features -# -CONFIG_ARM_THUMB=y -# CONFIG_ARM_THUMB_INTERWORK is not set -# CONFIG_ARCH_XSCALE is not set -CONFIG_CPU_BIG_ENDIAN=y -CONFIG_XSCALE_PMU=y -CONFIG_DMABOUNCE=y - -# -# Bus support -# -CONFIG_ISA_DMA_API=y -CONFIG_PCI=y -# CONFIG_PCI_LEGACY_PROC is not set -# CONFIG_PCI_NAMES is not set - -# -# PCCARD (PCMCIA/CardBus) support -# -# CONFIG_PCCARD is not set - -# -# Kernel Features -# -# CONFIG_SMP is not set -# CONFIG_PREEMPT is not set -# CONFIG_DISCONTIGMEM is not set -CONFIG_ALIGNMENT_TRAP=y - -# -# Boot options -# -CONFIG_ZBOOT_ROM_TEXT=0x0 -CONFIG_ZBOOT_ROM_BSS=0x0 -CONFIG_CMDLINE="root=/dev/mtdblock4 rw rootfstype=jffs2 mem=32M@0x00000000 init=/linuxrc console=ttyS0,115200n8" -# CONFIG_XIP_KERNEL is not set - -# -# Floating point emulation -# - -# -# At least one emulation must be selected -# -CONFIG_FPE_NWFPE=y -# CONFIG_FPE_FASTFPE is not set - -# -# Userspace binary formats -# -CONFIG_BINFMT_ELF=y -# CONFIG_BINFMT_AOUT is not set -# CONFIG_BINFMT_MISC is not set -# CONFIG_ARTHUR is not set - -# -# Power management options -# -# CONFIG_PM is not set - -# -# Device Drivers -# - -# -# Generic Driver Options -# -CONFIG_STANDALONE=y -CONFIG_PREVENT_FIRMWARE_BUILD=y -# CONFIG_FW_LOADER is not set - -# -# Memory Technology Devices (MTD) -# -CONFIG_MTD=y -# CONFIG_MTD_DEBUG is not set -CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y -CONFIG_MTD_REDBOOT_PARTS=y -CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 -# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set -# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set -CONFIG_MTD_CMDLINE_PARTS=y -# CONFIG_MTD_AFS_PARTS is not set - -# -# User Modules And Translation Layers -# -CONFIG_MTD_CHAR=y -CONFIG_MTD_BLOCK=y -# CONFIG_FTL is not set -# CONFIG_NFTL is not set -# CONFIG_INFTL is not set - -# -# RAM/ROM/Flash chip drivers -# -CONFIG_MTD_CFI=y -# CONFIG_MTD_JEDECPROBE is not set -CONFIG_MTD_GEN_PROBE=y -# CONFIG_MTD_CFI_ADV_OPTIONS is not set -CONFIG_MTD_MAP_BANK_WIDTH_1=y -CONFIG_MTD_MAP_BANK_WIDTH_2=y -CONFIG_MTD_MAP_BANK_WIDTH_4=y -# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -# CONFIG_MTD_CFI_I4 is not set -# CONFIG_MTD_CFI_I8 is not set -CONFIG_MTD_CFI_INTELEXT=y -# CONFIG_MTD_CFI_AMDSTD is not set -# CONFIG_MTD_CFI_STAA is not set -CONFIG_MTD_CFI_UTIL=y -# CONFIG_MTD_RAM is not set -# CONFIG_MTD_ROM is not set -# CONFIG_MTD_ABSENT is not set -# CONFIG_MTD_XIP is not set - -# -# Mapping drivers for chip access -# -CONFIG_MTD_COMPLEX_MAPPINGS=y -# CONFIG_MTD_PHYSMAP is not set -# CONFIG_MTD_ARM_INTEGRATOR is not set -CONFIG_MTD_IXP4XX=y -# CONFIG_MTD_EDB7312 is not set -# CONFIG_MTD_PCI is not set - -# -# Self-contained MTD device drivers -# -# CONFIG_MTD_PMC551 is not set -# CONFIG_MTD_SLRAM is not set -# CONFIG_MTD_PHRAM is not set -# CONFIG_MTD_MTDRAM is not set -# CONFIG_MTD_BLKMTD is not set -# CONFIG_MTD_BLOCK2MTD is not set - -# -# Disk-On-Chip Device Drivers -# -# CONFIG_MTD_DOC2000 is not set -# CONFIG_MTD_DOC2001 is not set -# CONFIG_MTD_DOC2001PLUS is not set - -# -# NAND Flash Device Drivers -# -# CONFIG_MTD_NAND is not set - -# -# Parallel port support -# -# CONFIG_PARPORT is not set - -# -# Plug and Play support -# - -# -# Block devices -# -# CONFIG_BLK_CPQ_DA is not set -# CONFIG_BLK_CPQ_CISS_DA is not set -# CONFIG_BLK_DEV_DAC960 is not set -# CONFIG_BLK_DEV_UMEM is not set -# CONFIG_BLK_DEV_COW_COMMON is not set -CONFIG_BLK_DEV_LOOP=m -# CONFIG_BLK_DEV_CRYPTOLOOP is not set -# CONFIG_BLK_DEV_NBD is not set -# CONFIG_BLK_DEV_SX8 is not set -# CONFIG_BLK_DEV_UB is not set -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_COUNT=4 -CONFIG_BLK_DEV_RAM_SIZE=10240 -CONFIG_BLK_DEV_INITRD=y -CONFIG_INITRAMFS_SOURCE="" -CONFIG_CDROM_PKTCDVD=m -CONFIG_CDROM_PKTCDVD_BUFFERS=8 -# CONFIG_CDROM_PKTCDVD_WCACHE is not set - -# -# IO Schedulers -# -CONFIG_IOSCHED_NOOP=y -# CONFIG_IOSCHED_AS is not set -CONFIG_IOSCHED_DEADLINE=y -# CONFIG_IOSCHED_CFQ is not set -# CONFIG_ATA_OVER_ETH is not set - -# -# ATA/ATAPI/MFM/RLL support -# -# CONFIG_IDE is not set - -# -# SCSI device support -# -CONFIG_SCSI=y -CONFIG_SCSI_PROC_FS=y - -# -# SCSI support type (disk, tape, CD-ROM) -# -CONFIG_BLK_DEV_SD=y -# CONFIG_CHR_DEV_ST is not set -# CONFIG_CHR_DEV_OSST is not set -# CONFIG_BLK_DEV_SR is not set -# CONFIG_CHR_DEV_SG is not set - -# -# Some SCSI devices (e.g. CD jukebox) support multiple LUNs -# -# CONFIG_SCSI_MULTI_LUN is not set -# CONFIG_SCSI_CONSTANTS is not set -# CONFIG_SCSI_LOGGING is not set - -# -# SCSI Transport Attributes -# -# CONFIG_SCSI_SPI_ATTRS is not set -# CONFIG_SCSI_FC_ATTRS is not set -# CONFIG_SCSI_ISCSI_ATTRS is not set - -# -# SCSI low-level drivers -# -# CONFIG_BLK_DEV_3W_XXXX_RAID is not set -# CONFIG_SCSI_3W_9XXX is not set -# CONFIG_SCSI_ACARD is not set -# CONFIG_SCSI_AACRAID is not set -# CONFIG_SCSI_AIC7XXX is not set -# CONFIG_SCSI_AIC7XXX_OLD is not set -# CONFIG_SCSI_AIC79XX is not set -# CONFIG_SCSI_DPT_I2O is not set -# CONFIG_MEGARAID_NEWGEN is not set -# CONFIG_MEGARAID_LEGACY is not set -# CONFIG_SCSI_SATA is not set -# CONFIG_SCSI_BUSLOGIC is not set -# CONFIG_SCSI_DMX3191D is not set -# CONFIG_SCSI_EATA is not set -# CONFIG_SCSI_FUTURE_DOMAIN is not set -# CONFIG_SCSI_GDTH is not set -# CONFIG_SCSI_IPS is not set -# CONFIG_SCSI_INITIO is not set -# CONFIG_SCSI_INIA100 is not set -# CONFIG_SCSI_SYM53C8XX_2 is not set -# CONFIG_SCSI_IPR is not set -# CONFIG_SCSI_QLOGIC_FC is not set -# CONFIG_SCSI_QLOGIC_1280 is not set -CONFIG_SCSI_QLA2XXX=y -# CONFIG_SCSI_QLA21XX is not set -# CONFIG_SCSI_QLA22XX is not set -# CONFIG_SCSI_QLA2300 is not set -# CONFIG_SCSI_QLA2322 is not set -# CONFIG_SCSI_QLA6312 is not set -# CONFIG_SCSI_LPFC is not set -# CONFIG_SCSI_DC395x is not set -# CONFIG_SCSI_DC390T is not set -# CONFIG_SCSI_NSP32 is not set -# CONFIG_SCSI_DEBUG is not set - -# -# Multi-device support (RAID and LVM) -# -# CONFIG_MD is not set - -# -# Fusion MPT device support -# -# CONFIG_FUSION is not set - -# -# IEEE 1394 (FireWire) support -# -# CONFIG_IEEE1394 is not set - -# -# I2O device support -# -# CONFIG_I2O is not set - -# -# Networking support -# -CONFIG_NET=y - -# -# Networking options -# -CONFIG_PACKET=m -CONFIG_PACKET_MMAP=y -CONFIG_UNIX=y -# CONFIG_NET_KEY is not set -CONFIG_INET=y -# CONFIG_IP_MULTICAST is not set -# CONFIG_IP_ADVANCED_ROUTER is not set -# CONFIG_IP_PNP is not set -# CONFIG_NET_IPIP is not set -# CONFIG_NET_IPGRE is not set -# CONFIG_ARPD is not set -# CONFIG_SYN_COOKIES is not set -CONFIG_INET_AH=m -CONFIG_INET_ESP=m -CONFIG_INET_IPCOMP=m -CONFIG_INET_TUNNEL=m -CONFIG_IP_TCPDIAG=m -# CONFIG_IP_TCPDIAG_IPV6 is not set -# CONFIG_IPV6 is not set -# CONFIG_NETFILTER is not set -CONFIG_XFRM=y -# CONFIG_XFRM_USER is not set - -# -# SCTP Configuration (EXPERIMENTAL) -# -# CONFIG_IP_SCTP is not set -# CONFIG_ATM is not set -# CONFIG_BRIDGE is not set -CONFIG_VLAN_8021Q=m -# CONFIG_DECNET is not set -CONFIG_LLC=m -# CONFIG_LLC2 is not set -CONFIG_IPX=m -# CONFIG_IPX_INTERN is not set -CONFIG_ATALK=m -CONFIG_DEV_APPLETALK=y -CONFIG_IPDDP=m -CONFIG_IPDDP_ENCAP=y -CONFIG_IPDDP_DECAP=y -# CONFIG_X25 is not set -# CONFIG_LAPB is not set -# CONFIG_NET_DIVERT is not set -# CONFIG_ECONET is not set -# CONFIG_WAN_ROUTER is not set - -# -# QoS and/or fair queueing -# -# CONFIG_NET_SCHED is not set -# CONFIG_NET_CLS_ROUTE is not set - -# -# Network testing -# -CONFIG_NET_PKTGEN=m -CONFIG_NETPOLL=y -# CONFIG_NETPOLL_RX is not set -# CONFIG_NETPOLL_TRAP is not set -CONFIG_NET_POLL_CONTROLLER=y -# CONFIG_HAMRADIO is not set -# CONFIG_IRDA is not set -CONFIG_BT=m -CONFIG_BT_L2CAP=m -CONFIG_BT_SCO=m -CONFIG_BT_RFCOMM=m -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=m -CONFIG_BT_BNEP_MC_FILTER=y -CONFIG_BT_BNEP_PROTO_FILTER=y -# CONFIG_BT_HIDP is not set - -# -# Bluetooth device drivers -# -CONFIG_BT_HCIUSB=m -CONFIG_BT_HCIUSB_SCO=y -# CONFIG_BT_HCIUART is not set -# CONFIG_BT_HCIBCM203X is not set -# CONFIG_BT_HCIBPA10X is not set -# CONFIG_BT_HCIBFUSB is not set -# CONFIG_BT_HCIVHCI is not set -CONFIG_NETDEVICES=y -# CONFIG_DUMMY is not set -# CONFIG_BONDING is not set -# CONFIG_EQUALIZER is not set -CONFIG_TUN=m - -# -# ARCnet devices -# -# CONFIG_ARCNET is not set - -# -# Ethernet (10 or 100Mbit) -# -CONFIG_NET_ETHERNET=y -CONFIG_MII=y -# CONFIG_HAPPYMEAL is not set -# CONFIG_SUNGEM is not set -# CONFIG_NET_VENDOR_3COM is not set -# CONFIG_SMC91X is not set - -# -# Tulip family network device support -# -# CONFIG_NET_TULIP is not set -# CONFIG_HP100 is not set -CONFIG_NET_PCI=y -# CONFIG_PCNET32 is not set -# CONFIG_AMD8111_ETH is not set -# CONFIG_ADAPTEC_STARFIRE is not set -# CONFIG_B44 is not set -# CONFIG_FORCEDETH is not set -# CONFIG_DGRS is not set -# CONFIG_EEPRO100 is not set -# CONFIG_E100 is not set -# CONFIG_FEALNX is not set -# CONFIG_NATSEMI is not set -# CONFIG_NE2K_PCI is not set -# CONFIG_8139CP is not set -# CONFIG_8139TOO is not set -# CONFIG_SIS900 is not set -# CONFIG_EPIC100 is not set -# CONFIG_SUNDANCE is not set -# CONFIG_TLAN is not set -# CONFIG_VIA_RHINE is not set - -# -# Ethernet (1000 Mbit) -# -# CONFIG_ACENIC is not set -# CONFIG_DL2K is not set -# CONFIG_E1000 is not set -# CONFIG_NS83820 is not set -# CONFIG_HAMACHI is not set -# CONFIG_YELLOWFIN is not set -# CONFIG_R8169 is not set -# CONFIG_SK98LIN is not set -# CONFIG_VIA_VELOCITY is not set -# CONFIG_TIGON3 is not set -# CONFIG_BNX2 is not set - -# -# Ethernet (10000 Mbit) -# -# CONFIG_IXGB is not set -# CONFIG_S2IO is not set - -# -# Token Ring devices -# -# CONFIG_TR is not set - -# -# Wireless LAN (non-hamradio) -# -CONFIG_NET_RADIO=y - -# -# Obsolete Wireless cards support (pre-802.11) -# -# CONFIG_STRIP is not set - -# -# Wireless 802.11b ISA/PCI cards support -# -# CONFIG_HERMES is not set -# CONFIG_ATMEL is not set - -# -# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support -# -# CONFIG_PRISM54 is not set -CONFIG_NET_WIRELESS=y - -# -# Wan interfaces -# -# CONFIG_WAN is not set -# CONFIG_FDDI is not set -# CONFIG_HIPPI is not set -# CONFIG_PPP is not set -# CONFIG_SLIP is not set -# CONFIG_NET_FC is not set -# CONFIG_SHAPER is not set -CONFIG_NETCONSOLE=m - -# -# ISDN subsystem -# -# CONFIG_ISDN is not set - -# -# Input device support -# -# CONFIG_INPUT is not set - -# -# Hardware I/O ports -# -# CONFIG_SERIO is not set -# CONFIG_GAMEPORT is not set - -# -# Character devices -# -# CONFIG_VT is not set -# CONFIG_SERIAL_NONSTANDARD is not set - -# -# Serial drivers -# -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_8250_NR_UARTS=2 -# CONFIG_SERIAL_8250_EXTENDED is not set - -# -# Non-8250 serial port support -# -CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_CORE_CONSOLE=y -# CONFIG_SERIAL_JSM is not set -CONFIG_UNIX98_PTYS=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=16 - -# -# IPMI -# -# CONFIG_IPMI_HANDLER is not set - -# -# Watchdog Cards -# -CONFIG_WATCHDOG=y -# CONFIG_WATCHDOG_NOWAYOUT is not set - -# -# Watchdog Device Drivers -# -# CONFIG_SOFT_WATCHDOG is not set -CONFIG_IXP4XX_WATCHDOG=y - -# -# PCI-based Watchdog Cards -# -# CONFIG_PCIPCWATCHDOG is not set -# CONFIG_WDTPCI is not set - -# -# USB-based Watchdog Cards -# -# CONFIG_USBPCWATCHDOG is not set -# CONFIG_NVRAM is not set -CONFIG_RTC=m -# CONFIG_DTLK is not set -# CONFIG_R3964 is not set -# CONFIG_APPLICOM is not set - -# -# Ftape, the floppy tape device driver -# -# CONFIG_DRM is not set -# CONFIG_RAW_DRIVER is not set - -# -# TPM devices -# -# CONFIG_TCG_TPM is not set - -# -# I2C support -# -CONFIG_I2C=y -CONFIG_I2C_CHARDEV=y - -# -# I2C Algorithms -# -CONFIG_I2C_ALGOBIT=y -# CONFIG_I2C_ALGOPCF is not set -# CONFIG_I2C_ALGOPCA is not set - -# -# I2C Hardware Bus support -# -# CONFIG_I2C_ALI1535 is not set -# CONFIG_I2C_ALI1563 is not set -# CONFIG_I2C_ALI15X3 is not set -# CONFIG_I2C_AMD756 is not set -# CONFIG_I2C_AMD8111 is not set -# CONFIG_I2C_I801 is not set -# CONFIG_I2C_I810 is not set -# CONFIG_I2C_PIIX4 is not set -# CONFIG_I2C_IOP3XX is not set -# CONFIG_I2C_ISA is not set -CONFIG_I2C_IXP4XX=y -# CONFIG_I2C_NFORCE2 is not set -# CONFIG_I2C_PARPORT_LIGHT is not set -# CONFIG_I2C_PROSAVAGE is not set -# CONFIG_I2C_SAVAGE4 is not set -# CONFIG_SCx200_ACB is not set -# CONFIG_I2C_SIS5595 is not set -# CONFIG_I2C_SIS630 is not set -# CONFIG_I2C_SIS96X is not set -# CONFIG_I2C_STUB is not set -# CONFIG_I2C_VIA is not set -# CONFIG_I2C_VIAPRO is not set -# CONFIG_I2C_VOODOO3 is not set -# CONFIG_I2C_PCA_ISA is not set - -# -# Hardware Sensors Chip support -# -CONFIG_I2C_SENSOR=y -# CONFIG_SENSORS_ADM1021 is not set -# CONFIG_SENSORS_ADM1025 is not set -# CONFIG_SENSORS_ADM1026 is not set -# CONFIG_SENSORS_ADM1031 is not set -# CONFIG_SENSORS_ASB100 is not set -# CONFIG_SENSORS_DS1621 is not set -# CONFIG_SENSORS_FSCHER is not set -# CONFIG_SENSORS_FSCPOS is not set -# CONFIG_SENSORS_GL518SM is not set -# CONFIG_SENSORS_GL520SM is not set -# CONFIG_SENSORS_IT87 is not set -# CONFIG_SENSORS_LM63 is not set -# CONFIG_SENSORS_LM75 is not set -# CONFIG_SENSORS_LM77 is not set -# CONFIG_SENSORS_LM78 is not set -# CONFIG_SENSORS_LM80 is not set -# CONFIG_SENSORS_LM83 is not set -# CONFIG_SENSORS_LM85 is not set -# CONFIG_SENSORS_LM87 is not set -# CONFIG_SENSORS_LM90 is not set -# CONFIG_SENSORS_LM92 is not set -# CONFIG_SENSORS_MAX1619 is not set -# CONFIG_SENSORS_PC87360 is not set -# CONFIG_SENSORS_SMSC47B397 is not set -# CONFIG_SENSORS_SIS5595 is not set -# CONFIG_SENSORS_SMSC47M1 is not set -# CONFIG_SENSORS_VIA686A is not set -# CONFIG_SENSORS_W83781D is not set -# CONFIG_SENSORS_W83L785TS is not set -# CONFIG_SENSORS_W83627HF is not set - -# -# Other I2C Chip support -# -# CONFIG_SENSORS_DS1337 is not set -CONFIG_SENSORS_EEPROM=y -# CONFIG_SENSORS_PCF8574 is not set -# CONFIG_SENSORS_PCF8591 is not set -# CONFIG_SENSORS_RTC8564 is not set -CONFIG_SENSORS_X1205=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 - -# -# Misc devices -# - -# -# Multimedia devices -# -# CONFIG_VIDEO_DEV is not set - -# -# Digital Video Broadcasting Devices -# -# CONFIG_DVB is not set - -# -# Graphics support -# -# CONFIG_FB is not set - -# -# Sound -# -# CONFIG_SOUND is not set - -# -# USB support -# -CONFIG_USB_ARCH_HAS_HCD=y -CONFIG_USB_ARCH_HAS_OHCI=y -CONFIG_USB=y -# CONFIG_USB_DEBUG is not set - -# -# Miscellaneous USB options -# -CONFIG_USB_DEVICEFS=y -# CONFIG_USB_BANDWIDTH is not set -# CONFIG_USB_DYNAMIC_MINORS is not set -# CONFIG_USB_OTG is not set - -# -# USB Host Controller Drivers -# -CONFIG_USB_EHCI_HCD=y -# CONFIG_USB_EHCI_SPLIT_ISO is not set -# CONFIG_USB_EHCI_ROOT_HUB_TT is not set -CONFIG_USB_OHCI_HCD=y -# CONFIG_USB_OHCI_BIG_ENDIAN is not set -CONFIG_USB_OHCI_LITTLE_ENDIAN=y -# CONFIG_USB_UHCI_HCD is not set -# CONFIG_USB_SL811_HCD is not set - -# -# USB Device Class drivers -# - -# -# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem -# -# CONFIG_USB_ACM is not set -CONFIG_USB_PRINTER=m - -# -# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information -# -CONFIG_USB_STORAGE=y -# CONFIG_USB_STORAGE_DEBUG is not set -# CONFIG_USB_STORAGE_DATAFAB is not set -# CONFIG_USB_STORAGE_FREECOM is not set -# CONFIG_USB_STORAGE_DPCM is not set -# CONFIG_USB_STORAGE_USBAT is not set -# CONFIG_USB_STORAGE_SDDR09 is not set -# CONFIG_USB_STORAGE_SDDR55 is not set -# CONFIG_USB_STORAGE_JUMPSHOT is not set - -# -# USB Input Devices -# -# CONFIG_USB_HID is not set - -# -# USB HID Boot Protocol drivers -# - -# -# USB Imaging devices -# -# CONFIG_USB_MDC800 is not set -# CONFIG_USB_MICROTEK is not set - -# -# USB Multimedia devices -# -# CONFIG_USB_DABUSB is not set - -# -# Video4Linux support is needed for USB Multimedia device support -# - -# -# USB Network Adapters -# -CONFIG_USB_CATC=m -CONFIG_USB_KAWETH=m -CONFIG_USB_PEGASUS=m -CONFIG_USB_RTL8150=m -CONFIG_USB_USBNET=m - -# -# USB Host-to-Host Cables -# -CONFIG_USB_ALI_M5632=y -CONFIG_USB_AN2720=y -CONFIG_USB_BELKIN=y -CONFIG_USB_GENESYS=y -CONFIG_USB_NET1080=y -CONFIG_USB_PL2301=y -CONFIG_USB_KC2190=y - -# -# Intelligent USB Devices/Gadgets -# -CONFIG_USB_ARMLINUX=y -CONFIG_USB_EPSON2888=y -CONFIG_USB_ZAURUS=y -CONFIG_USB_CDCETHER=y - -# -# USB Network Adapters -# -CONFIG_USB_AX8817X=y -# CONFIG_USB_ZD1201 is not set -# CONFIG_USB_MON is not set - -# -# USB port drivers -# - -# -# USB Serial Converter support -# -CONFIG_USB_SERIAL=m -CONFIG_USB_SERIAL_GENERIC=y -# CONFIG_USB_SERIAL_AIRPRIME is not set -CONFIG_USB_SERIAL_BELKIN=m -CONFIG_USB_SERIAL_WHITEHEAT=m -CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -# CONFIG_USB_SERIAL_CP2101 is not set -CONFIG_USB_SERIAL_CYPRESS_M8=m -CONFIG_USB_SERIAL_EMPEG=m -CONFIG_USB_SERIAL_FTDI_SIO=m -CONFIG_USB_SERIAL_VISOR=m -CONFIG_USB_SERIAL_IPAQ=m -CONFIG_USB_SERIAL_IR=m -CONFIG_USB_SERIAL_EDGEPORT=m -CONFIG_USB_SERIAL_EDGEPORT_TI=m -CONFIG_USB_SERIAL_GARMIN=m -CONFIG_USB_SERIAL_IPW=m -CONFIG_USB_SERIAL_KEYSPAN_PDA=m -# CONFIG_USB_SERIAL_KEYSPAN is not set -CONFIG_USB_SERIAL_KLSI=m -CONFIG_USB_SERIAL_KOBIL_SCT=m -CONFIG_USB_SERIAL_MCT_U232=m -CONFIG_USB_SERIAL_PL2303=m -# CONFIG_USB_SERIAL_HP4X is not set -CONFIG_USB_SERIAL_SAFE=m -# CONFIG_USB_SERIAL_SAFE_PADDED is not set -CONFIG_USB_SERIAL_TI=m -CONFIG_USB_SERIAL_CYBERJACK=m -CONFIG_USB_SERIAL_XIRCOM=m -CONFIG_USB_SERIAL_OMNINET=m -CONFIG_USB_EZUSB=y - -# -# USB Miscellaneous drivers -# -# CONFIG_USB_EMI62 is not set -# CONFIG_USB_EMI26 is not set -# CONFIG_USB_AUERSWALD is not set -# CONFIG_USB_RIO500 is not set -# CONFIG_USB_LEGOTOWER is not set -# CONFIG_USB_LCD is not set -# CONFIG_USB_LED is not set -# CONFIG_USB_CYTHERM is not set -# CONFIG_USB_PHIDGETKIT is not set -# CONFIG_USB_PHIDGETSERVO is not set -# CONFIG_USB_IDMOUSE is not set -# CONFIG_USB_SISUSBVGA is not set -# CONFIG_USB_TEST is not set - -# -# USB ATM/DSL drivers -# - -# -# USB Gadget Support -# -# CONFIG_USB_GADGET is not set - -# -# MMC/SD Card support -# -# CONFIG_MMC is not set - -# -# File systems -# -CONFIG_EXT2_FS=m -CONFIG_EXT2_FS_XATTR=y -CONFIG_EXT2_FS_POSIX_ACL=y -CONFIG_EXT2_FS_SECURITY=y -CONFIG_EXT3_FS=m -CONFIG_EXT3_FS_XATTR=y -CONFIG_EXT3_FS_POSIX_ACL=y -CONFIG_EXT3_FS_SECURITY=y -CONFIG_JBD=m -# CONFIG_JBD_DEBUG is not set -CONFIG_FS_MBCACHE=m -CONFIG_REISERFS_FS=m -# CONFIG_REISERFS_CHECK is not set -# CONFIG_REISERFS_PROC_INFO is not set -CONFIG_REISERFS_FS_XATTR=y -CONFIG_REISERFS_FS_POSIX_ACL=y -CONFIG_REISERFS_FS_SECURITY=y -# CONFIG_JFS_FS is not set -CONFIG_FS_POSIX_ACL=y - -# -# XFS support -# -# CONFIG_XFS_FS is not set -# CONFIG_MINIX_FS is not set -# CONFIG_ROMFS_FS is not set -# CONFIG_QUOTA is not set -CONFIG_DNOTIFY=y -# CONFIG_AUTOFS_FS is not set -CONFIG_AUTOFS4_FS=m - -# -# CD-ROM/DVD Filesystems -# -CONFIG_ISO9660_FS=m -CONFIG_JOLIET=y -CONFIG_ZISOFS=y -CONFIG_ZISOFS_FS=m -CONFIG_UDF_FS=m -CONFIG_UDF_NLS=y - -# -# DOS/FAT/NT Filesystems -# -CONFIG_FAT_FS=m -CONFIG_MSDOS_FS=m -CONFIG_VFAT_FS=m -CONFIG_FAT_DEFAULT_CODEPAGE=437 -CONFIG_FAT_DEFAULT_IOCHARSET="utf8" -CONFIG_NTFS_FS=m -# CONFIG_NTFS_DEBUG is not set -CONFIG_NTFS_RW=y - -# -# Pseudo filesystems -# -CONFIG_PROC_FS=y -CONFIG_SYSFS=y -# CONFIG_DEVFS_FS is not set -# CONFIG_DEVPTS_FS_XATTR is not set -CONFIG_TMPFS=y -# CONFIG_TMPFS_XATTR is not set -# CONFIG_HUGETLB_PAGE is not set -CONFIG_RAMFS=y - -# -# Miscellaneous filesystems -# -# CONFIG_ADFS_FS is not set -# CONFIG_AFFS_FS is not set -# CONFIG_HFS_FS is not set -# CONFIG_HFSPLUS_FS is not set -# CONFIG_BEFS_FS is not set -# CONFIG_BFS_FS is not set -# CONFIG_EFS_FS is not set -# CONFIG_JFFS_FS is not set -CONFIG_JFFS2_FS=y -CONFIG_JFFS2_FS_DEBUG=0 -# CONFIG_JFFS2_FS_NAND is not set -# CONFIG_JFFS2_FS_NOR_ECC is not set -# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set -CONFIG_JFFS2_ZLIB=y -CONFIG_JFFS2_RTIME=y -# CONFIG_JFFS2_RUBIN is not set -# CONFIG_CRAMFS is not set -# CONFIG_VXFS_FS is not set -# CONFIG_HPFS_FS is not set -# CONFIG_QNX4FS_FS is not set -# CONFIG_SYSV_FS is not set -# CONFIG_UFS_FS is not set - -# -# Network File Systems -# -CONFIG_NFS_FS=m -CONFIG_NFS_V3=y -CONFIG_NFS_V4=y -CONFIG_NFS_DIRECTIO=y -CONFIG_NFSD=m -CONFIG_NFSD_V3=y -CONFIG_NFSD_V4=y -CONFIG_NFSD_TCP=y -CONFIG_LOCKD=m -CONFIG_LOCKD_V4=y -CONFIG_EXPORTFS=m -CONFIG_SUNRPC=m -CONFIG_SUNRPC_GSS=m -CONFIG_RPCSEC_GSS_KRB5=m -# CONFIG_RPCSEC_GSS_SPKM3 is not set -CONFIG_SMB_FS=m -# CONFIG_SMB_NLS_DEFAULT is not set -CONFIG_CIFS=m -# CONFIG_CIFS_STATS is not set -CONFIG_CIFS_XATTR=y -CONFIG_CIFS_POSIX=y -# CONFIG_CIFS_EXPERIMENTAL is not set -# CONFIG_NCP_FS is not set -# CONFIG_CODA_FS is not set -# CONFIG_AFS_FS is not set - -# -# Partition Types -# -CONFIG_PARTITION_ADVANCED=y -# CONFIG_ACORN_PARTITION is not set -# CONFIG_OSF_PARTITION is not set -# CONFIG_AMIGA_PARTITION is not set -# CONFIG_ATARI_PARTITION is not set -# CONFIG_MAC_PARTITION is not set -CONFIG_MSDOS_PARTITION=y -# CONFIG_BSD_DISKLABEL is not set -# CONFIG_MINIX_SUBPARTITION is not set -# CONFIG_SOLARIS_X86_PARTITION is not set -# CONFIG_UNIXWARE_DISKLABEL is not set -# CONFIG_LDM_PARTITION is not set -# CONFIG_SGI_PARTITION is not set -# CONFIG_ULTRIX_PARTITION is not set -# CONFIG_SUN_PARTITION is not set -# CONFIG_EFI_PARTITION is not set - -# -# Native Language Support -# -CONFIG_NLS=m -CONFIG_NLS_DEFAULT="utf8" -CONFIG_NLS_CODEPAGE_437=m -CONFIG_NLS_CODEPAGE_737=m -CONFIG_NLS_CODEPAGE_775=m -CONFIG_NLS_CODEPAGE_850=m -CONFIG_NLS_CODEPAGE_852=m -CONFIG_NLS_CODEPAGE_855=m -CONFIG_NLS_CODEPAGE_857=m -CONFIG_NLS_CODEPAGE_860=m -CONFIG_NLS_CODEPAGE_861=m -CONFIG_NLS_CODEPAGE_862=m -CONFIG_NLS_CODEPAGE_863=m -CONFIG_NLS_CODEPAGE_864=m -CONFIG_NLS_CODEPAGE_865=m -CONFIG_NLS_CODEPAGE_866=m -CONFIG_NLS_CODEPAGE_869=m -CONFIG_NLS_CODEPAGE_936=m -CONFIG_NLS_CODEPAGE_950=m -CONFIG_NLS_CODEPAGE_932=m -CONFIG_NLS_CODEPAGE_949=m -CONFIG_NLS_CODEPAGE_874=m -CONFIG_NLS_ISO8859_8=m -CONFIG_NLS_CODEPAGE_1250=m -CONFIG_NLS_CODEPAGE_1251=m -CONFIG_NLS_ASCII=m -CONFIG_NLS_ISO8859_1=m -CONFIG_NLS_ISO8859_2=m -CONFIG_NLS_ISO8859_3=m -CONFIG_NLS_ISO8859_4=m -CONFIG_NLS_ISO8859_5=m -CONFIG_NLS_ISO8859_6=m -CONFIG_NLS_ISO8859_7=m -CONFIG_NLS_ISO8859_9=m -CONFIG_NLS_ISO8859_13=m -CONFIG_NLS_ISO8859_14=m -CONFIG_NLS_ISO8859_15=m -CONFIG_NLS_KOI8_R=m -CONFIG_NLS_KOI8_U=m -CONFIG_NLS_UTF8=m - -# -# Profiling support -# -# CONFIG_PROFILING is not set - -# -# Kernel hacking -# -# CONFIG_PRINTK_TIME is not set -# CONFIG_DEBUG_KERNEL is not set -CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_DEBUG_BUGVERBOSE is not set -CONFIG_FRAME_POINTER=y -# CONFIG_DEBUG_USER is not set - -# -# Security options -# -# CONFIG_KEYS is not set -# CONFIG_SECURITY is not set - -# -# Cryptographic options -# -CONFIG_CRYPTO=y -CONFIG_CRYPTO_HMAC=y -# CONFIG_CRYPTO_NULL is not set -CONFIG_CRYPTO_MD4=m -CONFIG_CRYPTO_MD5=m -CONFIG_CRYPTO_SHA1=m -CONFIG_CRYPTO_SHA256=m -CONFIG_CRYPTO_SHA512=m -CONFIG_CRYPTO_WP512=m -CONFIG_CRYPTO_TGR192=m -CONFIG_CRYPTO_DES=m -CONFIG_CRYPTO_BLOWFISH=m -CONFIG_CRYPTO_TWOFISH=m -CONFIG_CRYPTO_SERPENT=m -CONFIG_CRYPTO_AES=m -CONFIG_CRYPTO_CAST5=m -CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_TEA=m -CONFIG_CRYPTO_ARC4=m -CONFIG_CRYPTO_KHAZAD=m -CONFIG_CRYPTO_ANUBIS=m -CONFIG_CRYPTO_DEFLATE=m -CONFIG_CRYPTO_MICHAEL_MIC=m -CONFIG_CRYPTO_CRC32C=m -CONFIG_CRYPTO_TEST=m - -# -# Hardware crypto devices -# - -# -# Library routines -# -CONFIG_CRC_CCITT=m -CONFIG_CRC32=y -CONFIG_LIBCRC32C=m -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.12/disk_led_blinking.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.12/disk_led_blinking.patch deleted file mode 100644 index 7487cf3ee8..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.12/disk_led_blinking.patch +++ /dev/null @@ -1,127 +0,0 @@ ---- linux-2.6.12.2/drivers/usb/core/hub.c.bak 2005-09-19 20:29:14.000000000 +0000 -+++ linux-2.6.12.2/drivers/usb/core/hub.c 2005-09-19 20:30:44.000000000 +0000 -@@ -1026,6 +1026,19 @@ - - dev_info (&udev->dev, "USB disconnect, address %d\n", udev->devnum); - -+ // --- Forward-Ported Linksys Disk 1 & Disk 2 LED Control (Port done 16.Sept.05 by Philipp Kirchhofer) --- -+ // Copy & paste from nslu2-io.c -+ #define DISK1_OFF 0x00000008 //0b0000 0000 0000 1000 -+ #define DISK2_OFF 0x00000004 //0b0000 0000 0000 0100 -+ // Copy & Paste end -+ -+ if (*udev->devpath == 0x31) { -+ *IXP4XX_GPIO_GPOUTR |= DISK1_OFF; -+ } else if (*udev->devpath == 0x32) { -+ *IXP4XX_GPIO_GPOUTR |= DISK2_OFF; -+ } -+ // --- End LED Control --- -+ - /* Free up all the children before we remove this device */ - for (i = 0; i < USB_MAXCHILDREN; i++) { - if (udev->children[i]) -@@ -2175,6 +2188,19 @@ - udev->bus->controller->driver->name, - udev->devnum); - -+ // --- Start LED Control --- -+ // Copy & paste from nslu2-io.c -+ #define DISK1_ON 0xfffffff7 //0b1111 1111 1111 0111 -+ #define DISK2_ON 0xfffffffb //0b1111 1111 1111 1011 -+ // Copy & Paste end -+ -+ if (*udev->devpath == 0x31) { -+ *IXP4XX_GPIO_GPOUTR &= DISK1_ON; -+ } else if (*udev->devpath == 0x32) { -+ *IXP4XX_GPIO_GPOUTR &= DISK2_ON; -+ } -+ // --- End LED Control --- -+ - /* Set up TT records, if needed */ - if (hdev->tt) { - udev->tt = hdev->tt; ---- linux-2.6.12.2/drivers/usb/storage/transport.c.bak 2005-09-19 20:29:25.000000000 +0000 -+++ linux-2.6.12.2/drivers/usb/storage/transport.c 2005-09-19 20:29:55.000000000 +0000 -@@ -60,6 +60,60 @@ - #include "scsiglue.h" - #include "debug.h" - -+// --- Forward-Ported Linksys Disk 1 & Disk 2 LED Activity Blinking Part 1 (Port done 16.Sept.05 by Philipp Kirchhofer) --- -+// Copy & Paste from nslu2-io.c -+#define DISK1_ON 0xfffffff7 //0b1111 1111 1111 0111 -+#define DISK2_ON 0xfffffffb //0b1111 1111 1111 1011 -+ -+#define DISK1_OFF 0x00000008 //0b0000 0000 0000 1000 -+#define DISK2_OFF 0x00000004 //0b0000 0000 0000 0100 -+// Copy & Paste End -+ -+#define JIFFIES_BLINKING_TIME 6 -+#define ON_LED_INTERVAL 3 -+unsigned long turn_on_time; -+ -+static struct timer_list usb1_led_timer; /* ide led switch */ -+static struct timer_list usb2_led_timer; /* ide led switch */ -+ -+// Turns on Disk 1 LED -+static void turn_on_led_usb1(unsigned long ptr) { -+ *IXP4XX_GPIO_GPOUTR &= DISK1_ON; // 0xfff7 -+ return; -+} -+ -+// Turns on Disk 2 LED -+static void turn_on_led_usb2(unsigned long ptr) { -+ *IXP4XX_GPIO_GPOUTR &= DISK2_ON; // 0xfffb -+ return; -+} -+ -+// Turns on Disk 1 LED after ON_LED_INTERVAL jiffies -+static void usb_1_led_timer(void) { -+ usb1_led_timer.expires = jiffies + ON_LED_INTERVAL; -+ add_timer(&usb1_led_timer); -+ return; -+} -+ -+// Turns on Disk 2 LED after ON_LED_INTERVAL jiffies -+static void usb_2_led_timer(void) { -+ usb2_led_timer.expires = jiffies + ON_LED_INTERVAL; -+ add_timer(&usb2_led_timer); -+ return; -+} -+ -+// Initializes Timers -+unsigned long initialized_timers = 0; -+static void initializeTimers() { -+ if (initialized_timers != 1) { -+ init_timer(&usb1_led_timer); -+ usb1_led_timer.function = turn_on_led_usb1; -+ init_timer(&usb2_led_timer); -+ usb2_led_timer.function = turn_on_led_usb2; -+ initialized_timers = 1; -+ } -+} -+// --- End Disk LED Activity Blinking Part 1 --- - - /*********************************************************************** - * Data transfer routines -@@ -499,6 +553,21 @@ - - /* are we scatter-gathering? */ - if (use_sg) { -+ // --- Disk LED Activity Blinking Part 2 --- -+ initializeTimers(); -+ if ((jiffies - turn_on_time) >= JIFFIES_BLINKING_TIME) { -+ if (*us->pusb_dev->devpath == 0x31) { -+ del_timer_sync(&usb1_led_timer); -+ *IXP4XX_GPIO_GPOUTR |= DISK1_OFF; -+ usb_1_led_timer(); -+ } else if (*us->pusb_dev->devpath == 0x32) { -+ del_timer_sync(&usb2_led_timer); -+ *IXP4XX_GPIO_GPOUTR |= DISK2_OFF; -+ usb_2_led_timer(); -+ } -+ turn_on_time = jiffies; -+ } -+ // --- End Disk LED Activity Blinking Part 2 --- - /* use the usb core scatter-gather primitives */ - result = usb_stor_bulk_transfer_sglist(us, pipe, - (struct scatterlist *) buf, use_sg, diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.12/missing-exports.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.12/missing-exports.patch deleted file mode 100644 index 935dd29115..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.12/missing-exports.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- linux-2.6.12/drivers/char/random.c~ 2005-05-14 16:42:24.000000000 -0400 -+++ linux-2.6.12/drivers/char/random.c 2005-05-14 16:42:46.000000000 -0400 -@@ -646,6 +646,7 @@ extern void add_input_randomness(unsigne - add_timer_randomness(&input_timer_state, - (type << 4) ^ code ^ (code >> 4) ^ value); - } -+EXPORT_SYMBOL_GPL(add_input_randomness); - - void add_interrupt_randomness(int irq) - { ---- linux-2.6.12/lib/kobject_uevent.c~ 2005-05-14 16:45:13.000000000 -0400 -+++ linux-2.6.12/lib/kobject_uevent.c 2005-05-14 16:45:27.000000000 -0400 -@@ -178,6 +178,7 @@ static inline int send_uevent(const char - - #ifdef CONFIG_HOTPLUG - char hotplug_path[HOTPLUG_PATH_LEN] = "/sbin/hotplug"; -+EXPORT_SYMBOL_GPL(hotplug_path); - u64 hotplug_seqnum; - static DEFINE_SPINLOCK(sequence_lock); diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.12/nslu2-arch.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.12/nslu2-arch.patch deleted file mode 100644 index 6a41f02355..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.12/nslu2-arch.patch +++ /dev/null @@ -1,92 +0,0 @@ ---- linux-2.6.11/arch/arm/boot/compressed/head.S 2005-06-17 17:51:27.245788998 -0700 -+++ linux-2.6.11/arch/arm/boot/compressed/head.S 2005-06-17 17:54:45.041806429 -0700 -@@ -37,6 +37,7 @@ - defined(CONFIG_ARCH_INTEGRATOR) || \ - defined(CONFIG_ARCH_PXA) || \ - defined(CONFIG_ARCH_IXP4XX) || \ -+ defined(CONFIG_ARCH_NSLU2) || \ - defined(CONFIG_ARCH_IXP2000) || \ - defined(CONFIG_ARCH_LH7A40X) || \ - defined(CONFIG_ARCH_OMAP) ---- linux-2.6.11/.pc/2.6.patch/arch/arm/boot/compressed/head-xscale.S 2005-03-01 23:37:52.000000000 -0800 -+++ linux-2.6.11/arch/arm/boot/compressed/head-xscale.S 2005-06-17 17:51:32.546985425 -0700 -@@ -47,3 +47,8 @@ - orr r7, r7, #(MACH_TYPE_GTWX5715 & 0xff00) - #endif - -+#ifdef CONFIG_ARCH_NSLU2 -+ mov r7, #(MACH_TYPE_NSLU2 & 0xff) -+ orr r7, r7, #(MACH_TYPE_NSLU2 & 0xff00) -+#endif -+ ---- linux-2.6.11/.pc/2.6.patch/arch/arm/mach-ixp4xx/Kconfig 2005-06-17 17:51:27.365770810 -0700 -+++ linux-2.6.11/arch/arm/mach-ixp4xx/Kconfig 2005-06-17 17:51:32.560983303 -0700 -@@ -43,6 +43,12 @@ - IXDP465 Development Platform (Also known as BMP). - For more information on this platform, see <file:Documentation/arm/IXP4xx>. - -+config ARCH_NSLU2 -+ bool "NSLU2" -+ help -+ Say 'Y' here if you want your kernel to support Linksys's -+ NSLU2 NAS device. For more information on this platform, -+ see http://www.nslu2-linux.org - - # - # IXCDP1100 is the exact same HW as IXDP425, but with a different machine ---- linux-2.6.11/.pc/2.6.patch/arch/arm/mach-ixp4xx/Makefile 2005-06-17 17:51:27.365770810 -0700 -+++ linux-2.6.11/arch/arm/mach-ixp4xx/Makefile 2005-06-17 17:51:32.560983303 -0700 -@@ -8,4 +8,4 @@ - 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_ARCH_NSLU2) += nslu2-pci.o nslu2-setup.o nslu2-part.o nslu2-io.o ---- linux-2.6.11/.pc/2.6.patch/arch/arm/tools/mach-types 2005-06-17 17:51:27.423762020 -0700 -+++ linux-2.6.11/arch/arm/tools/mach-types 2005-06-17 17:51:32.564982697 -0700 -@@ -604,7 +604,7 @@ - roverp7 MACH_ROVERP7 ROVERP7 594 - pr818s MACH_PR818S PR818S 595 - trxpro MACH_TRXPRO TRXPRO 596 --nslu2 MACH_NSLU2 NSLU2 597 -+nslu2 ARCH_NSLU2 NSLU2 597 - e400 MACH_E400 E400 598 - trab MACH_TRAB TRAB 599 - cmc_pu2 MACH_CMC_PU2 CMC_PU2 600 ---- linux-2.6.11/.pc/2.6.patch/drivers/mtd/maps/ixp4xx.c 2005-03-01 23:37:30.000000000 -0800 -+++ linux-2.6.11/drivers/mtd/maps/ixp4xx.c 2005-06-17 17:51:32.566982394 -0700 -@@ -94,7 +94,11 @@ - struct resource *res; - }; - -+#ifdef CONFIG_ARCH_NSLU2 -+static const char *probes[] = { "cmdlinepart", "RedBoot", "NSLU2", NULL }; -+#else - static const char *probes[] = { "RedBoot", "cmdlinepart", NULL }; -+#endif - - static int ixp4xx_flash_remove(struct device *_dev) - { ---- linux-2.6.11/.pc/2.6.patch/include/asm-arm/arch-ixp4xx/hardware.h 2005-03-01 23:37:51.000000000 -0800 -+++ linux-2.6.11/include/asm-arm/arch-ixp4xx/hardware.h 2005-06-17 17:51:32.567982242 -0700 -@@ -44,5 +44,6 @@ - #include "ixdp425.h" - #include "coyote.h" - #include "prpmc1100.h" -+#include "nslu2.h" - - #endif /* _ASM_ARCH_HARDWARE_H */ ---- linux-2.6.11/.pc/2.6.patch/include/asm-arm/arch-ixp4xx/irqs.h 2005-03-01 23:38:12.000000000 -0800 -+++ linux-2.6.11/include/asm-arm/arch-ixp4xx/irqs.h 2005-06-17 17:51:32.568982091 -0700 -@@ -93,4 +93,11 @@ - #define IRQ_COYOTE_PCI_SLOT1 IRQ_IXP4XX_GPIO11 - #define IRQ_COYOTE_IDE IRQ_IXP4XX_GPIO5 - -+/* -+ * NSLU2 board IRQs -+ */ -+#define IRQ_NSLU2_PCI_INTA IRQ_IXP4XX_GPIO11 -+#define IRQ_NSLU2_PCI_INTB IRQ_IXP4XX_GPIO10 -+#define IRQ_NSLU2_PCI_INTC IRQ_IXP4XX_GPIO9 -+ - #endif diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.12/nslu2-setup.c b/packages/obsolete/nslu2/nslu2-kernel/2.6.12/nslu2-setup.c deleted file mode 100644 index fcb8566784..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.12/nslu2-setup.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * arch/arm/mach-ixp4xx/nslu2-setup.c - * - * NSLU2 board-setup - * - * based ixdp425-setup.c: - * Copyright (C) 2003-2004 MontaVista Software, Inc. - * - * Author: Mark Rakes <mrakes at mac.com> - * Maintainers: http://www.nslu2-linux.org/ - * - * Fixed missing init_time in MACHINE_START kas11 10/22/04 - * Changed to conform to new style __init ixdp425 kas11 10/22/04 - */ - -#include <linux/kernel.h> -#include <linux/init.h> -#include <linux/device.h> -#include <linux/serial.h> -#include <linux/tty.h> -#include <linux/serial_8250.h> - -#include <asm/types.h> -#include <asm/setup.h> -#include <asm/memory.h> -#include <asm/hardware.h> -#include <asm/mach-types.h> -#include <asm/irq.h> -#include <asm/mach/arch.h> -#include <asm/mach/flash.h> - -void __init nslu2_map_io(void) -{ - ixp4xx_map_io(); -} - -static struct flash_platform_data nslu2_flash_data = { - .map_name = "cfi_probe", - .width = 2, -}; - -static struct resource nslu2_flash_resource = { - .start = NSLU2_FLASH_BASE, - .end = NSLU2_FLASH_BASE + NSLU2_FLASH_SIZE, - .flags = IORESOURCE_MEM, -}; - -static struct platform_device nslu2_flash = { - .name = "IXP4XX-Flash", - .id = 0, - .dev = { - .platform_data = &nslu2_flash_data, - }, - .num_resources = 1, - .resource = &nslu2_flash_resource, -}; - -static struct ixp4xx_i2c_pins nslu2_i2c_gpio_pins = { - .sda_pin = NSLU2_SDA_PIN, - .scl_pin = NSLU2_SCL_PIN, -}; - -static struct platform_device nslu2_i2c_controller = { - .name = "IXP4XX-I2C", - .id = 0, - .dev = { - .platform_data = &nslu2_i2c_gpio_pins, - }, - .num_resources = 0 -}; - -static struct resource nslu2_uart_resources[] = { - { - .start = IXP4XX_UART1_BASE_PHYS, - .end = IXP4XX_UART1_BASE_PHYS + 0x0fff, - .flags = IORESOURCE_MEM - }, - { - .start = IXP4XX_UART2_BASE_PHYS, - .end = IXP4XX_UART2_BASE_PHYS + 0x0fff, - .flags = IORESOURCE_MEM - } -}; - -static struct plat_serial8250_port nslu2_uart_data[] = { - { - .mapbase = IXP4XX_UART1_BASE_PHYS, - .membase = (char *)IXP4XX_UART1_BASE_VIRT + REG_OFFSET, - .irq = IRQ_IXP4XX_UART1, - .flags = UPF_BOOT_AUTOCONF, - .iotype = UPIO_MEM, - .regshift = 2, - .uartclk = IXP4XX_UART_XTAL, - }, - { - .mapbase = IXP4XX_UART2_BASE_PHYS, - .membase = (char *)IXP4XX_UART2_BASE_VIRT + REG_OFFSET, - .irq = IRQ_IXP4XX_UART2, - .flags = UPF_BOOT_AUTOCONF, - .iotype = UPIO_MEM, - .regshift = 2, - .uartclk = IXP4XX_UART_XTAL, - } -}; - -static struct platform_device nslu2_uart = { - .name = "serial8250", - .id = 0, - .dev.platform_data = nslu2_uart_data, - .num_resources = 2, - .resource = nslu2_uart_resources -}; - -static struct platform_device *nslu2_devices[] __initdata = { - &nslu2_i2c_controller, - &nslu2_flash, - &nslu2_uart -}; - -static void n2_power_off(void) -{ - /* This causes the box to drop the power and go dead. */ -#define GPIO_PO_BM 0x0100 //b0000 0001 0000 0000 - *IXP4XX_GPIO_GPOER &= ~GPIO_PO_BM; // enable the pwr cntl gpio - *IXP4XX_GPIO_GPOUTR |= GPIO_PO_BM; // do the deed -} - -static void __init nslu2_init(void) -{ - ixp4xx_sys_init(); - - pm_power_off = n2_power_off; - platform_add_devices(nslu2_devices, ARRAY_SIZE(nslu2_devices)); -} - -MACHINE_START(NSLU2, "Linksys NSLU2") - BOOT_MEM(PHYS_OFFSET, IXP4XX_PERIPHERAL_BASE_PHYS, - IXP4XX_PERIPHERAL_BASE_VIRT) - MAPIO(nslu2_map_io) - INITIRQ(ixp4xx_init_irq) //FIXME: all irq are off here - .timer = &ixp4xx_timer, - // INITTIME(ixp4xx_init_time) //this was missing in 2.6.7 code ...soft reboot needed? - BOOT_PARAMS(0x0100) - INIT_MACHINE(nslu2_init) -MACHINE_END - diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.12/x1205-rtc.c-id.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.12/x1205-rtc.c-id.patch deleted file mode 100644 index 6ef6befd73..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.12/x1205-rtc.c-id.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- original/drivers/i2c/chips/x1205-rtc.c Sat Mar 5 23:41:12 2005 -+++ linux-2.6.11/drivers/i2c/chips/x1205-rtc.c Sat Mar 5 23:41:25 2005 -@@ -139,7 +139,6 @@ - }; - - static struct i2c_client x1205_i2c_client = { -- .id = I2C_DRIVERID_X1205, - .flags = 0, - .addr = X1205_I2C_BUS_ADDR, // chip address - NOTE: 7bit - .adapter = NULL, // the adapter we sit on assigned in attach -@@ -301,7 +300,6 @@ - int errno; - - x1205_i2c_client.adapter = adapter; -- x1205_i2c_client.id++; - - if ((x1205_get_datetime(&x1205_i2c_client, &tm, X1205_CCR_BASE)) != NOERR) //test for functional driver - return -EIO; diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/00-memory-h-page-shift.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/00-memory-h-page-shift.patch deleted file mode 100644 index 999b69e851..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/00-memory-h-page-shift.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- linux-2.6.14/include/asm-arm/arch-ixp4xx/memory.h.orig 2005-11-07 23:16:48.456117450 -0800 -+++ linux-2.6.14/include/asm-arm/arch-ixp4xx/memory.h 2005-11-07 23:16:58.160728123 -0800 -@@ -8,6 +8,7 @@ - #define __ASM_ARCH_MEMORY_H - - #include <asm/sizes.h> -+#include <asm/page.h> - - /* - * Physical DRAM offset. diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/30-i2c-x1205-mm1.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/30-i2c-x1205-mm1.patch deleted file mode 100644 index 67cbd4cdf4..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/30-i2c-x1205-mm1.patch +++ /dev/null @@ -1,1036 +0,0 @@ ---- linux-2.6.14/drivers/i2c/chips/Kconfig.orig 2005-11-07 22:30:30.413306237 -0800 -+++ linux-2.6.14/drivers/i2c/chips/Kconfig 2005-11-07 22:41:15.785916976 -0800 -@@ -126,13 +126,13 @@ config SENSORS_MAX6875 - This driver can also be built as a module. If so, the module - will be called max6875. - --config RTC_X1205_I2C -- tristate "Xicor X1205 RTC chip" -- depends on I2C && EXPERIMENTAL -- help -- If you say yes here you get support for the Xicor X1205 RTC chip. -+config SENSORS_X1205 -+ tristate "Xicor X1205 RTC chip" -+ depends on I2C -+ help -+ If you say yes here you get support for the Xicor X1205 RTC chip. - -- This driver can also be built as a module. If so, the module -- will be called x1205. -+ This driver can also be built as a module. If so, the module -+ will be called x1205 - - endmenu ---- linux-2.6.14/drivers/i2c/chips/Makefile.orig 2005-11-07 22:30:30.417306489 -0800 -+++ linux-2.6.14/drivers/i2c/chips/Makefile 2005-11-07 22:41:59.616675071 -0800 -@@ -13,7 +13,7 @@ obj-$(CONFIG_SENSORS_PCF8591) += pcf8591 - obj-$(CONFIG_SENSORS_RTC8564) += rtc8564.o - obj-$(CONFIG_ISP1301_OMAP) += isp1301_omap.o - obj-$(CONFIG_TPS65010) += tps65010.o --obj-$(CONFIG_RTC_X1205_I2C) += x1205.o -+obj-$(CONFIG_SENSORS_X1205) += x1205.o - - ifeq ($(CONFIG_I2C_DEBUG_CHIP),y) - EXTRA_CFLAGS += -DDEBUG ---- linux-2.6.14/drivers/i2c/chips/x1205.c.orig 2005-11-07 22:30:30.421306741 -0800 -+++ linux-2.6.14/drivers/i2c/chips/x1205.c 2005-11-07 22:42:54.960157617 -0800 -@@ -1,14 +1,16 @@ - /* -- * x1205.c - An i2c driver for the Xicor X1205 RTC -+ * linux/drivers/i2c/chips/x1205.c -+ * -+ * x1205.c - An 12c driver for the Xicor X1205 RTC - * Copyright 2004 Karen Spearel - * Copyright 2005 Alessandro Zummo - * - * please send all reports to: - * kas11 at tampabay dot rr dot com - * a dot zummo at towertech dot it -- * -+ * - * based on the other drivers in this same directory. -- * -+ * - * 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 -@@ -26,83 +28,36 @@ - - #include <linux/x1205.h> - --#define DRV_VERSION "0.9.9" -+#define EPOCH_1900 1900 -+#define EPOCH_1970 1970 -+ -+#define DRIVER_VERSION "0.9.6" -+#define DRIVER_NAME (x1205_driver.name) - --/* Addresses to scan: none. This chip is located at -- * 0x6f and uses a two bytes register addressing. -- * Two bytes need to be written to read a single register, -- * while most other chips just require one and take the second -- * one as the data to be written. To prevent corrupting -- * unknown chips, the user must explicitely set the probe parameter. -- */ - --static unsigned short normal_i2c[] = { I2C_CLIENT_END }; -+/* Addresses to scan */ -+static unsigned short normal_i2c[] = { X1205_I2C_BUS_ADDR, I2C_CLIENT_END }; - - /* Insmod parameters */ - I2C_CLIENT_INSMOD; - I2C_CLIENT_MODULE_PARM(hctosys, - "Set the system time from the hardware clock upon initialization"); - --/* offsets into CCR area */ -- --#define CCR_SEC 0 --#define CCR_MIN 1 --#define CCR_HOUR 2 --#define CCR_MDAY 3 --#define CCR_MONTH 4 --#define CCR_YEAR 5 --#define CCR_WDAY 6 --#define CCR_Y2K 7 -- --#define X1205_REG_SR 0x3F /* status register */ --#define X1205_REG_Y2K 0x37 --#define X1205_REG_DW 0x36 --#define X1205_REG_YR 0x35 --#define X1205_REG_MO 0x34 --#define X1205_REG_DT 0x33 --#define X1205_REG_HR 0x32 --#define X1205_REG_MN 0x31 --#define X1205_REG_SC 0x30 --#define X1205_REG_DTR 0x13 --#define X1205_REG_ATR 0x12 --#define X1205_REG_INT 0x11 --#define X1205_REG_0 0x10 --#define X1205_REG_Y2K1 0x0F --#define X1205_REG_DWA1 0x0E --#define X1205_REG_YRA1 0x0D --#define X1205_REG_MOA1 0x0C --#define X1205_REG_DTA1 0x0B --#define X1205_REG_HRA1 0x0A --#define X1205_REG_MNA1 0x09 --#define X1205_REG_SCA1 0x08 --#define X1205_REG_Y2K0 0x07 --#define X1205_REG_DWA0 0x06 --#define X1205_REG_YRA0 0x05 --#define X1205_REG_MOA0 0x04 --#define X1205_REG_DTA0 0x03 --#define X1205_REG_HRA0 0x02 --#define X1205_REG_MNA0 0x01 --#define X1205_REG_SCA0 0x00 -- --#define X1205_CCR_BASE 0x30 /* Base address of CCR */ --#define X1205_ALM0_BASE 0x00 /* Base address of ALARM0 */ -- --#define X1205_SR_RTCF 0x01 /* Clock failure */ --#define X1205_SR_WEL 0x02 /* Write Enable Latch */ --#define X1205_SR_RWEL 0x04 /* Register Write Enable */ -- --#define X1205_DTR_DTR0 0x01 --#define X1205_DTR_DTR1 0x02 --#define X1205_DTR_DTR2 0x04 -- --#define X1205_HR_MIL 0x80 /* Set in ccr.hour for 24 hr mode */ -- - /* Prototypes */ -+ - static int x1205_attach(struct i2c_adapter *adapter); - static int x1205_detach(struct i2c_client *client); - static int x1205_probe(struct i2c_adapter *adapter, int address, int kind); --static int x1205_command(struct i2c_client *client, unsigned int cmd, -- void *arg); -+static int x1205_validate_client(struct i2c_client *client); -+ -+static int x1205_get_datetime(struct i2c_client *client, struct rtc_time *tm, -+ u8 reg_base); -+static int x1205_set_datetime(struct i2c_client *client, struct rtc_time *tm, -+ int datetoo, u8 reg_base); -+static int x1205_validate_tm(struct rtc_time *tm); -+static int x1205_command(struct i2c_client *client, unsigned int cmd, void *arg); -+static int x1205_hctosys(struct i2c_client *client); -+ - - static struct i2c_driver x1205_driver = { - .owner = THIS_MODULE, -@@ -110,6 +65,7 @@ static struct i2c_driver x1205_driver = - .flags = I2C_DF_NOTIFY, - .attach_adapter = &x1205_attach, - .detach_client = &x1205_detach, -+/* .command = &x1205_command,*/ - }; - - struct x1205_data { -@@ -118,8 +74,9 @@ struct x1205_data { - unsigned int epoch; - }; - --static const unsigned char days_in_mo[] = -- { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; -+ -+static const unsigned char days_in_mo[] = -+{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; - - static LIST_HEAD(x1205_clients); - -@@ -127,6 +84,7 @@ static LIST_HEAD(x1205_clients); - * commands to a specific client. This function will send the command - * to the first client. - */ -+ - int x1205_do_command(unsigned int cmd, void *arg) - { - struct list_head *walk; -@@ -141,114 +99,98 @@ int x1205_do_command(unsigned int cmd, v - return -ENODEV; - } - --#define is_leap(year) \ -- ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0)) -- --/* make sure the rtc_time values are in bounds */ --static int x1205_validate_tm(struct rtc_time *tm) --{ -- int year = tm->tm_year + 1900; -- -- if ((tm->tm_year < 70) || (tm->tm_year > 255)) -- return -EINVAL; -- -- if ((tm->tm_mon > 11) || (tm->tm_mday == 0)) -- return -EINVAL; -- -- if (tm->tm_mday > days_in_mo[tm->tm_mon] -- + ((tm->tm_mon == 1) && is_leap(year))) -- return -EINVAL; -- -- if ((tm->tm_hour >= 24) || (tm->tm_min >= 60) || (tm->tm_sec >= 60)) -- return -EINVAL; -- -- return 0; --} - - /* -- * In the routines that deal directly with the x1205 hardware, we use -+ * in the routines that deal directly with the x1205 hardware, we use - * rtc_time -- month 0-11, hour 0-23, yr = calendar year-epoch -- * Epoch is initialized as 2000. Time is set to UTC. -+ * Epoch is inited as 2000. Time is set to UT - */ -+ - static int x1205_get_datetime(struct i2c_client *client, struct rtc_time *tm, - u8 reg_base) - { -- unsigned char dt_addr[2] = { 0, reg_base }; -- static unsigned char sr_addr[2] = { 0, X1205_REG_SR }; -+ static unsigned char dt_addr[] = { 0, }; -+ static unsigned char sr_addr[] = { 0, }; - -- unsigned char buf[8], sr; -+ unsigned char buf[8], sr; - - struct i2c_msg msgs[] = { -- { client->addr, 0, 2, sr_addr }, /* setup read ptr */ -- { client->addr, I2C_M_RD, 1, &sr }, /* read status */ -- { client->addr, 0, 2, dt_addr }, /* setup read ptr */ -- { client->addr, I2C_M_RD, 8, buf }, /* read date */ -+ { client->addr, 0, 2, sr_addr }, /* random read */ -+ { client->addr, I2C_M_RD, 1, &sr }, -+ { client->addr, 0, 2, dt_addr }, /* random read */ -+ { client->addr, I2C_M_RD, 8, buf }, - }; - -- struct x1205_data *data = i2c_get_clientdata(client); -+ struct x1205_data *xdata = i2c_get_clientdata(client); - -- /* read status register */ -- if ((i2c_transfer(client->adapter, &msgs[0], 2)) != 2) { -- dev_err(&client->dev, "%s: read error\n", __FUNCTION__); -- return -EIO; -- } -+ dt_addr[1] = reg_base; -+ sr_addr[1] = X1205_REG_SR; - -- /* check for battery failure */ -- if (sr & X1205_SR_RTCF) { -- dev_warn(&client->dev, -- "Clock had a power failure, you must set the date.\n"); -- return -EINVAL; -- } -+ if ((i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs))) == -+ ARRAY_SIZE(msgs)) { -+ /* did we read the correct number of messages? */ -+ -+ /* check for battery failure */ -+ if (sr & X1205_SR_RTCF) -+ { -+ dev_info(&client->adapter->dev, -+ "%s: Clock had a power failure, you must set the date.\n", -+ DRIVER_NAME); - -- /* read date registers */ -- if ((i2c_transfer(client->adapter, &msgs[2], 2)) != 2) { -- dev_err(&client->dev, "%s: read error\n", __FUNCTION__); -- return -EIO; -- } -- -- dev_dbg(&client->dev, -- "%s: raw read data - sec=%02x, min=%02x, hr=%02x, " -- "mday=%02x, mon=%02x, year=%02x, wday=%02x, y2k=%02x\n", -- __FUNCTION__, -- buf[0], buf[1], buf[2], buf[3], -- buf[4], buf[5], buf[6], buf[7]); -- -- tm->tm_sec = BCD2BIN(buf[CCR_SEC]); -- tm->tm_min = BCD2BIN(buf[CCR_MIN]); -- tm->tm_hour = BCD2BIN(buf[CCR_HOUR] & 0x3F); /* hr is 0-23 */ -- tm->tm_mday = BCD2BIN(buf[CCR_MDAY]); -- tm->tm_mon = BCD2BIN(buf[CCR_MONTH]); -- data->epoch = BCD2BIN(buf[CCR_Y2K]) * 100; -- tm->tm_year = BCD2BIN(buf[CCR_YEAR]) + data->epoch - 1900; -- tm->tm_wday = buf[CCR_WDAY]; -+ return -EINVAL; -+ } - -- dev_dbg(&client->dev, "%s: tm is secs=%d, mins=%d, hours=%d, " -- "mday=%d, mon=%d, year=%d, wday=%d\n", -- __FUNCTION__, -- tm->tm_sec, tm->tm_min, tm->tm_hour, -- tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday); -+ dev_dbg(&client->dev, -+ "%s: raw read data - sec-%02x min-%02x hr-%02x" -+ " mday-%02x mon-%02x year-%02x wday-%02x y2k-%02x\n", -+ __FUNCTION__, -+ buf[0], buf[1], buf[2], buf[3], -+ buf[4], buf[5], buf[6], buf[7]); -+ -+ tm->tm_sec = BCD2BIN(buf[CCR_SEC]); -+ tm->tm_min = BCD2BIN(buf[CCR_MIN]); -+ buf[CCR_HOUR] &= ~X1205_HR_MIL; -+ tm->tm_hour = BCD2BIN(buf[CCR_HOUR]); /* hr is 0-23 */ -+ tm->tm_mday = BCD2BIN(buf[CCR_MDAY]); -+ tm->tm_mon = BCD2BIN(buf[CCR_MONTH]); -+ xdata->epoch = BCD2BIN(buf[CCR_Y2K]) * 100; -+ tm->tm_year = BCD2BIN(buf[CCR_YEAR]) + xdata->epoch - EPOCH_1900; -+ tm->tm_wday = buf[CCR_WDAY]; -+ -+ dev_dbg(&client->dev, "%s: tm is secs=%d, mins=%d, hours=%d, " -+ "mday=%d, mon=%d, year=%d, wday=%d\n", -+ __FUNCTION__, -+ tm->tm_sec, tm->tm_min, tm->tm_hour, -+ tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday); - -+ } else { -+ dev_dbg(&client->dev, "%s: read error\n", __FUNCTION__); -+ return -EIO; -+ } -+ - return 0; - } - -+ - static int x1205_set_datetime(struct i2c_client *client, struct rtc_time *tm, - int datetoo, u8 reg_base) - { - int i, err, xfer; - -- unsigned char buf[8]; -+ static unsigned char wel[3] = { 0, X1205_REG_SR, -+ X1205_SR_WEL }; - -- static const unsigned char wel[3] = { 0, X1205_REG_SR, -- X1205_SR_WEL }; - -- static const unsigned char rwel[3] = { 0, X1205_REG_SR, -- X1205_SR_WEL | X1205_SR_RWEL }; -+ static unsigned char rwel[3] = { 0, X1205_REG_SR, -+ X1205_SR_WEL | X1205_SR_RWEL }; - -- static const unsigned char diswe[3] = { 0, X1205_REG_SR, 0 }; -+ static unsigned char diswe[3] = { 0, X1205_REG_SR, 0 }; - -- struct x1205_data *data = i2c_get_clientdata(client); -+ static unsigned char data[3] = { 0, }; -+ static unsigned char buf[8]; -+ -+ struct x1205_data *xdata = i2c_get_clientdata(client); - -- /* check if all values in the tm struct are correct */ - if ((err = x1205_validate_tm(tm)) < 0) - return err; - -@@ -258,124 +200,52 @@ static int x1205_set_datetime(struct i2c - tm->tm_sec, tm->tm_min, tm->tm_hour, - tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday); - -- buf[CCR_SEC] = BIN2BCD(tm->tm_sec); -- buf[CCR_MIN] = BIN2BCD(tm->tm_min); - -- /* set hour and 24hr bit */ -+ buf[CCR_SEC] = BIN2BCD(tm->tm_sec); -+ buf[CCR_MIN] = BIN2BCD(tm->tm_min); -+ -+ /* Set 24HR format */ - buf[CCR_HOUR] = BIN2BCD(tm->tm_hour) | X1205_HR_MIL; - -- /* should we also set the date? */ -- if (datetoo) { -- buf[CCR_MDAY] = BIN2BCD(tm->tm_mday); -+ if (datetoo == X1205_DATETOO) { -+ buf[CCR_MDAY] = BIN2BCD(tm->tm_mday); - - /* month, 0 - 11 */ -- buf[CCR_MONTH] = BIN2BCD(tm->tm_mon); -+ buf[CCR_MONTH] = BIN2BCD(tm->tm_mon); /* input is 0-11 */ - - /* year, since 1900 */ -- buf[CCR_YEAR] = BIN2BCD(tm->tm_year + 1900 - data->epoch); -- buf[CCR_WDAY] = tm->tm_wday & 0x07; -- buf[CCR_Y2K] = BIN2BCD(data->epoch / 100); -+ buf[CCR_YEAR] = BIN2BCD((tm->tm_year + EPOCH_1900 - xdata->epoch)); -+ buf[CCR_WDAY] = tm->tm_wday & 7; -+ buf[CCR_Y2K] = BIN2BCD(xdata->epoch / 100); - } - -- /* this sequence is required to unlock the chip */ - xfer = i2c_master_send(client, wel, 3); -- if (xfer != 3) { -- dev_err(&client->dev, "%s: wel - %d\n", __FUNCTION__, xfer); -+ dev_dbg(&client->dev, "%s: wen - %x\n", __FUNCTION__, xfer); -+ if (xfer != 3) - return -EIO; -- } - - xfer = i2c_master_send(client, rwel, 3); -- if (xfer != 3) { -- dev_err(&client->dev, "%s: rwel - %d\n", __FUNCTION__, xfer); -+ dev_dbg(&client->dev, "%s: wenb - %x\n", __FUNCTION__, xfer); -+ if (xfer != 3) - return -EIO; -- } - -- /* write register's data */ -- for (i = 0; i < (datetoo ? 8 : 3); i++) { -- unsigned char rdata[3] = { 0, reg_base + i, buf[i] }; -- -- xfer = i2c_master_send(client, rdata, 3); -- if (xfer != 3) { -- dev_err(&client->dev, -- "%s: xfer=%d addr=%02x, data=%02x\n", -- __FUNCTION__, -- xfer, rdata[1], rdata[2]); -+ for (i = 0; i < 8; i++) { -+ data[1] = i + reg_base; -+ data[2] = buf[i]; -+ xfer = i2c_master_send(client, data, 3); -+ -+ dev_dbg(&client->dev, "%s: xfer %d addr, %02x, data %02x\n", -+ __FUNCTION__, -+ xfer, data[1], data[2]); -+ -+ if (xfer != 3) - return -EIO; -- } - }; - -- /* disable further writes */ - xfer = i2c_master_send(client, diswe, 3); -- if (xfer != 3) { -- dev_err(&client->dev, "%s: diswe - %d\n", __FUNCTION__, xfer); -- return -EIO; -- } -- -- return 0; --} -- --static int x1205_get_dtrim(struct i2c_client *client, int *trim) --{ -- unsigned char dtr; -- static unsigned char dtr_addr[2] = { 0, X1205_REG_DTR }; -- -- struct i2c_msg msgs[] = { -- { client->addr, 0, 2, dtr_addr }, /* setup read ptr */ -- { client->addr, I2C_M_RD, 1, &dtr }, /* read dtr */ -- }; -- -- /* read dtr register */ -- if ((i2c_transfer(client->adapter, &msgs[0], 2)) != 2) { -- dev_err(&client->dev, "%s: read error\n", __FUNCTION__); -- return -EIO; -- } -- -- dev_dbg(&client->dev, "%s: raw dtr=%x\n", __FUNCTION__, dtr); -- -- *trim = 0; -- -- if (dtr & X1205_DTR_DTR0) -- *trim += 20; -- -- if (dtr & X1205_DTR_DTR1) -- *trim += 10; -- -- if (dtr & X1205_DTR_DTR2) -- *trim = -*trim; -- -- return 0; --} -- --static int x1205_get_atrim(struct i2c_client *client, int *trim) --{ -- s8 atr; -- static unsigned char atr_addr[2] = { 0, X1205_REG_ATR }; -- -- struct i2c_msg msgs[] = { -- { client->addr, 0, 2, atr_addr }, /* setup read ptr */ -- { client->addr, I2C_M_RD, 1, &atr }, /* read atr */ -- }; -- -- /* read atr register */ -- if ((i2c_transfer(client->adapter, &msgs[0], 2)) != 2) { -- dev_err(&client->dev, "%s: read error\n", __FUNCTION__); -- return -EIO; -- } -- -- dev_dbg(&client->dev, "%s: raw atr=%x\n", __FUNCTION__, atr); -- -- /* atr is a two's complement value on 6 bits, -- * perform sign extension. The formula is -- * Catr = (atr * 0.25pF) + 11.00pF. -- */ -- if (atr & 0x20) -- atr |= 0xC0; -- -- dev_dbg(&client->dev, "%s: raw atr=%x (%d)\n", __FUNCTION__, atr, atr); -- -- *trim = (atr * 250) + 11000; -- -- dev_dbg(&client->dev, "%s: real=%d\n", __FUNCTION__, *trim); -+ dev_dbg(&client->dev, "%s: wdis - %x\n", __FUNCTION__, xfer); -+ if (xfer != 3) -+ return -EIO; - - return 0; - } -@@ -386,24 +256,28 @@ static int x1205_hctosys(struct i2c_clie - - struct rtc_time tm; - struct timespec tv; -+ - - err = x1205_command(client, X1205_CMD_GETDATETIME, &tm); - -- if (err) { -- dev_err(&client->dev, -- "Unable to set the system clock\n"); -+ if (err) -+ { -+ dev_info(&client->adapter->dev, -+ "%s: Unable to set the system clock\n", -+ DRIVER_NAME); -+ - return err; -+ - } - -- /* IMPORTANT: the RTC only stores whole seconds. It is arbitrary -- * whether it stores the most close value or the value with partial -- * seconds truncated. However, it is important that we use it to store -- * the truncated value. This is because otherwise it is necessary, -- * in an rtc sync function, to read both xtime.tv_sec and -- * xtime.tv_nsec. On some processors (i.e. ARM), an atomic read -- * of >32bits is not possible. So storing the most close value would -- * slow down the sync API. So here we have the truncated value and -- * the best guess is to add 0.5s. -+ /* IMPORTANT: the RTC only stores whole seconds. It is arbitrary whether -+ * it stores the most close value or the value with partial seconds -+ * truncated, however it is important for x1205_sync_rtc that it be -+ * defined to store the truncated value. This is because otherwise it -+ * is necessary to read both xtime.tv_sec and xtime.tv_nsec in the -+ * sync function, and atomic reads of >32bits on ARM are not possible. -+ * So storing the most close value would slow down the sync API. So -+ * Here we have the truncated value and the best guess is to add 0.5s - */ - - tv.tv_nsec = NSEC_PER_SEC >> 1; -@@ -413,15 +287,16 @@ static int x1205_hctosys(struct i2c_clie - * the month to be in the range 1-12 - */ - -- tv.tv_sec = mktime(tm.tm_year + 1900, tm.tm_mon + 1, -+ tv.tv_sec = mktime(tm.tm_year + EPOCH_1900, tm.tm_mon + 1, - tm.tm_mday, tm.tm_hour, - tm.tm_min, tm.tm_sec); - - do_settimeofday(&tv); - -- dev_info(&client->dev, -- "setting the system clock to %d-%d-%d %d:%d:%d\n", -- tm.tm_year + 1900, tm.tm_mon + 1, -+ dev_info(&client->adapter->dev, -+ "%s: Setting the system clock to %d-%d-%d %d:%d:%d\n", -+ DRIVER_NAME, -+ tm.tm_year + EPOCH_1900, tm.tm_mon + 1, - tm.tm_mday, tm.tm_hour, tm.tm_min, - tm.tm_sec); - -@@ -432,7 +307,7 @@ struct x1205_limit - { - unsigned char reg; - unsigned char mask; -- unsigned char min; -+ unsigned char min; - unsigned char max; - }; - -@@ -443,16 +318,34 @@ static int x1205_validate_client(struct - /* Probe array. We will read the register at the specified - * address and check if the given bits are zero. - */ -- static const unsigned char probe_zero_pattern[] = { -- /* register, mask */ -+ -+ const unsigned char probe_zero_pattern[] = { -+ - X1205_REG_SR, 0x18, -+ X1205_REG_Y2K, 0xC6, -+ X1205_REG_DW, 0xF8, -+ X1205_REG_MO, 0xE0, -+ X1205_REG_DT, 0xC0, -+ X1205_REG_HR, 0x40, -+ X1205_REG_MN, 0x80, -+ X1205_REG_SC, 0x80, - X1205_REG_DTR, 0xF8, - X1205_REG_ATR, 0xC0, - X1205_REG_INT, 0x18, - X1205_REG_0, 0xFF, -+ X1205_REG_Y2K1, 0xC6, -+ X1205_REG_DWA1, 0x78, -+ X1205_REG_MOA1, 0x60, -+ X1205_REG_DTA1, 0x40, -+ X1205_REG_HRA1, 0x40, -+ X1205_REG_Y2K0, 0xC6, -+ X1205_REG_DWA0, 0x78, -+ X1205_REG_MOA0, 0x60, -+ X1205_REG_DTA0, 0x40, -+ X1205_REG_HRA0, 0x40, - }; - -- static const struct x1205_limit probe_limits_pattern[] = { -+ const struct x1205_limit probe_limits_pattern[] = { - /* register, mask, min, max */ - { X1205_REG_Y2K, 0xFF, 19, 20 }, - { X1205_REG_DW, 0xFF, 0, 6 }, -@@ -463,23 +356,41 @@ static int x1205_validate_client(struct - { X1205_REG_MN, 0xFF, 0, 59 }, - { X1205_REG_SC, 0xFF, 0, 59 }, - { X1205_REG_Y2K1, 0xFF, 19, 20 }, -+ { X1205_REG_DWA1, 0x7F, 0, 6 }, -+ { X1205_REG_MOA1, 0x7F, 0, 12 }, -+ { X1205_REG_DTA1, 0x7F, 0, 31 }, -+ { X1205_REG_HRA1, 0x7F, 0, 23 }, -+ { X1205_REG_MNA1, 0x7F, 0, 59 }, -+ { X1205_REG_SCA1, 0x7F, 0, 59 }, - { X1205_REG_Y2K0, 0xFF, 19, 20 }, -+ { X1205_REG_DWA0, 0x7F, 0, 6 }, -+ { X1205_REG_MOA0, 0x7F, 0, 12 }, -+ { X1205_REG_DTA0, 0x7F, 0, 31 }, -+ { X1205_REG_HRA0, 0x7F, 0, 23 }, -+ { X1205_REG_MNA0, 0x7F, 0, 59 }, -+ { X1205_REG_SCA0, 0x7F, 0, 59 }, - }; - - /* check that registers have bits a 0 where expected */ -- for (i = 0; i < ARRAY_SIZE(probe_zero_pattern); i += 2) { -+ -+ for (i = 0; i < ARRAY_SIZE(probe_zero_pattern); i += 2) -+ { - unsigned char buf; - -- unsigned char addr[2] = { 0, probe_zero_pattern[i] }; -+ static unsigned char addr[2]; - - struct i2c_msg msgs[2] = { -- { client->addr, 0, 2, addr }, -+ { client->addr, 0, 2, addr }, /* random read */ - { client->addr, I2C_M_RD, 1, &buf }, - }; - -+ addr[0] = 0x00; -+ addr[1] = probe_zero_pattern[i]; -+ - xfer = i2c_transfer(client->adapter, msgs, 2); -+ - if (xfer != 2) { -- dev_err(&client->adapter->dev, -+ dev_dbg(&client->adapter->dev, - "%s: could not read register %x\n", - __FUNCTION__, addr[1]); - -@@ -487,42 +398,47 @@ static int x1205_validate_client(struct - } - - if ((buf & probe_zero_pattern[i+1]) != 0) { -- dev_err(&client->adapter->dev, -- "%s: register=%02x, zero pattern=%d, value=%x\n", -+ dev_dbg(&client->adapter->dev, -+ "%s: register %x, zero pattern %d: %x\n", - __FUNCTION__, addr[1], i, buf); - - return -ENODEV; - } - } - -- /* check limits (only registers with bcd values) */ -- for (i = 0; i < ARRAY_SIZE(probe_limits_pattern); i++) { -- unsigned char reg, value; -+ /* check limits */ - -- unsigned char addr[2] = { 0, probe_limits_pattern[i].reg }; -+ for (i = 0; i < ARRAY_SIZE(probe_limits_pattern); i++) -+ { -+ unsigned char buf, val; -+ -+ static unsigned char addr[2]; - - struct i2c_msg msgs[2] = { -- { client->addr, 0, 2, addr }, -- { client->addr, I2C_M_RD, 1, ® }, -+ { client->addr, 0, 2, addr }, /* random read */ -+ { client->addr, I2C_M_RD, 1, &buf }, - }; - -+ addr[0] = 0x00; -+ addr[1] = probe_limits_pattern[i].reg; -+ - xfer = i2c_transfer(client->adapter, msgs, 2); - - if (xfer != 2) { -- dev_err(&client->adapter->dev, -+ dev_dbg(&client->adapter->dev, - "%s: could not read register %x\n", - __FUNCTION__, addr[1]); - - return -EIO; - } - -- value = BCD2BIN(reg & probe_limits_pattern[i].mask); -+ val = BCD2BIN(buf & probe_limits_pattern[i].mask); - -- if (value > probe_limits_pattern[i].max || -- value < probe_limits_pattern[i].min) { -+ if (val > probe_limits_pattern[i].max || -+ val < probe_limits_pattern[i].min) { - dev_dbg(&client->adapter->dev, -- "%s: register=%x, lim pattern=%d, value=%d\n", -- __FUNCTION__, addr[1], i, value); -+ "%s: register %x, lim pattern %d: %d\n", -+ __FUNCTION__, addr[1], i, val); - - return -ENODEV; - } -@@ -538,79 +454,66 @@ static int x1205_attach(struct i2c_adapt - return i2c_probe(adapter, &addr_data, x1205_probe); - } - --int x1205_direct_attach(int adapter_id, -- struct i2c_client_address_data *address_data) --{ -- int err; -- struct i2c_adapter *adapter = i2c_get_adapter(adapter_id); -- -- if (adapter) { -- err = i2c_probe(adapter, -- address_data, x1205_probe); -- -- i2c_put_adapter(adapter); -- -- return err; -- } -- -- return -ENODEV; --} -- - static int x1205_probe(struct i2c_adapter *adapter, int address, int kind) - { -- struct i2c_client *client; -- struct x1205_data *data; -+ struct i2c_client *new_client; -+ struct x1205_data *xdata; - - int err = 0; - - dev_dbg(&adapter->dev, "%s\n", __FUNCTION__); - -- if (!i2c_check_functionality(adapter, I2C_FUNC_I2C)) { -- err = -ENODEV; -- goto exit; -- } -- -- if (!(data = kzalloc(sizeof(struct x1205_data), GFP_KERNEL))) { -+ if (!(xdata = kmalloc(sizeof(struct x1205_data), GFP_KERNEL))) { - err = -ENOMEM; - goto exit; - } - -- /* Initialize our structures */ -- data->epoch = 2000; -+ /* Fill our data structure */ - -- client = &data->client; -- client->addr = address; -- client->driver = &x1205_driver; -- client->adapter = adapter; -+ memset(xdata, 0, sizeof(struct x1205_data)); - -- strlcpy(client->name, "x1205", I2C_NAME_SIZE); -+ xdata->epoch = 2000; -+ -+ -+ /* Prepare i2c_client structure */ -+ -+ new_client = &xdata->client; -+ i2c_set_clientdata(new_client, xdata); -+ new_client->addr = address; -+ new_client->adapter = adapter; -+ new_client->driver = &x1205_driver; -+ new_client->flags = 0; -+ -+ strlcpy(new_client->name, "x1205", I2C_NAME_SIZE); - -- i2c_set_clientdata(client, data); - - /* Verify the chip is really an X1205 */ -- if (kind < 0) { -- if (x1205_validate_client(client) < 0) { -+ -+ if (kind < 0) -+ { -+ if (x1205_validate_client(new_client) < 0) { - err = -ENODEV; - goto exit_kfree; - } - } - - /* Inform the i2c layer */ -- if ((err = i2c_attach_client(client))) -+ if ((err = i2c_attach_client(new_client))) - goto exit_kfree; - -- list_add(&data->list, &x1205_clients); -+ list_add(&xdata->list, &x1205_clients); - -- dev_info(&client->dev, "chip found, driver version " DRV_VERSION "\n"); -+ dev_info(&adapter->dev, "%s: Chip found, driver " DRIVER_VERSION "\n", -+ DRIVER_NAME); - -- /* If requested, set the system time */ -+ /* If requested, se the system time */ - if (hctosys) -- x1205_hctosys(client); -+ x1205_hctosys(new_client); - - return 0; - - exit_kfree: -- kfree(data); -+ kfree(xdata); - - exit: - return err; -@@ -620,23 +523,44 @@ static int x1205_detach(struct i2c_clien - { - int err; - struct x1205_data *data = i2c_get_clientdata(client); -- -+ - dev_dbg(&client->dev, "%s\n", __FUNCTION__); - - if ((err = i2c_detach_client(client))) - return err; - - list_del(&data->list); -- - kfree(data); -+ return 0; -+} -+ -+/* make sure the rtc_time values are in bounds */ -+static int x1205_validate_tm(struct rtc_time *tm) -+{ -+ tm->tm_year += 1900; -+ -+ if (tm->tm_year < EPOCH_1970) -+ return -EINVAL; -+ -+ if ((tm->tm_mon > 11) || (tm->tm_mday == 0)) -+ return -EINVAL; -+ -+ if (tm->tm_mday > (days_in_mo[tm->tm_mon] + ( (tm->tm_mon == 1) && -+ ((!(tm->tm_year % 4) && (tm->tm_year % 100) ) || !(tm->tm_year % 400))))) -+ return -EINVAL; -+ -+ if ((tm->tm_year -= EPOCH_1900) > 255) -+ return -EINVAL; -+ -+ if ((tm->tm_hour >= 24) || (tm->tm_min >= 60) || (tm->tm_sec >= 60)) -+ return -EINVAL; - - return 0; - } - --static int x1205_command(struct i2c_client *client, unsigned int cmd, -- void *param) -+static int x1205_command(struct i2c_client *client, unsigned int cmd, void *tm) - { -- if (param == NULL) -+ if (client == NULL || tm == NULL) - return -EINVAL; - - if (!capable(CAP_SYS_TIME)) -@@ -646,34 +570,26 @@ static int x1205_command(struct i2c_clie - - switch (cmd) { - case X1205_CMD_GETDATETIME: -- return x1205_get_datetime(client, param, X1205_CCR_BASE); -+ return x1205_get_datetime(client, tm, X1205_CCR_BASE); - - case X1205_CMD_SETTIME: -- return x1205_set_datetime(client, param, 0, -- X1205_CCR_BASE); -+ return x1205_set_datetime(client, tm, X1205_NODATE, X1205_CCR_BASE); - - case X1205_CMD_SETDATETIME: -- return x1205_set_datetime(client, param, 1, -- X1205_CCR_BASE); -+ return x1205_set_datetime(client, tm, X1205_DATETOO, X1205_CCR_BASE); - - case X1205_CMD_GETALARM: -- return x1205_get_datetime(client, param, X1205_ALM0_BASE); -+ return x1205_get_datetime(client, tm, X1205_ALM0_BASE); - - case X1205_CMD_SETALARM: -- return x1205_set_datetime(client, param, 1, -- X1205_ALM0_BASE); -- -- case X1205_CMD_GETDTRIM: -- return x1205_get_dtrim(client, param); -- -- case X1205_CMD_GETATRIM: -- return x1205_get_atrim(client, param); -+ return x1205_set_datetime(client, tm, X1205_DATETOO, X1205_ALM0_BASE); - - default: - return -EINVAL; - } - } - -+ - static int __init x1205_init(void) - { - return i2c_add_driver(&x1205_driver); -@@ -689,10 +605,8 @@ MODULE_AUTHOR( - "Alessandro Zummo <a.zummo@towertech.it>"); - MODULE_DESCRIPTION("Xicor X1205 RTC driver"); - MODULE_LICENSE("GPL"); --MODULE_VERSION(DRV_VERSION); - - EXPORT_SYMBOL_GPL(x1205_do_command); --EXPORT_SYMBOL_GPL(x1205_direct_attach); - - module_init(x1205_init); - module_exit(x1205_exit); ---- linux-2.6.14/include/linux/x1205.h.orig 2005-11-07 22:38:42.196252187 -0800 -+++ linux-2.6.14/include/linux/x1205.h 2005-11-07 22:42:54.960157617 -0800 -@@ -1,31 +1,67 @@ --/* -- * x1205.h - defines for drivers/i2c/chips/x1205.c -- * Copyright 2004 Karen Spearel -- * Copyright 2005 Alessandro Zummo -- * -- * 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. -- */ -- --#ifndef __LINUX_X1205_H__ --#define __LINUX_X1205_H__ - - /* commands */ - --#define X1205_CMD_GETDATETIME 0 --#define X1205_CMD_SETTIME 1 --#define X1205_CMD_SETDATETIME 2 -+#define X1205_CMD_GETDATETIME 0 -+#define X1205_CMD_SETTIME 1 -+#define X1205_CMD_SETDATETIME 2 - #define X1205_CMD_GETALARM 3 - #define X1205_CMD_SETALARM 4 --#define X1205_CMD_GETDTRIM 5 --#define X1205_CMD_SETDTRIM 6 --#define X1205_CMD_GETATRIM 7 --#define X1205_CMD_SETATRIM 8 -+ -+/* flags */ -+ -+#define X1205_NODATE 0 -+#define X1205_DATETOO 1 -+ -+/* offsets into read buf - add 2 for write buf */ -+ -+#define CCR_SEC 0 -+#define CCR_MIN 1 -+#define CCR_HOUR 2 -+#define CCR_MDAY 3 -+#define CCR_MONTH 4 -+#define CCR_YEAR 5 -+#define CCR_WDAY 6 -+#define CCR_Y2K 7 -+ -+#define X1205_REG_SR 0x3F /* status register */ -+#define X1205_REG_Y2K 0x37 -+#define X1205_REG_DW 0x36 -+#define X1205_REG_YR 0x35 -+#define X1205_REG_MO 0x34 -+#define X1205_REG_DT 0x33 -+#define X1205_REG_HR 0x32 -+#define X1205_REG_MN 0x31 -+#define X1205_REG_SC 0x30 -+#define X1205_REG_DTR 0x13 -+#define X1205_REG_ATR 0x12 -+#define X1205_REG_INT 0x11 -+#define X1205_REG_0 0x10 -+#define X1205_REG_Y2K1 0x0F -+#define X1205_REG_DWA1 0x0E -+#define X1205_REG_YRA1 0x0D -+#define X1205_REG_MOA1 0x0C -+#define X1205_REG_DTA1 0x0B -+#define X1205_REG_HRA1 0x0A -+#define X1205_REG_MNA1 0x09 -+#define X1205_REG_SCA1 0x08 -+#define X1205_REG_Y2K0 0x07 -+#define X1205_REG_DWA0 0x06 -+#define X1205_REG_YRA0 0x05 -+#define X1205_REG_MOA0 0x04 -+#define X1205_REG_DTA0 0x03 -+#define X1205_REG_HRA0 0x02 -+#define X1205_REG_MNA0 0x01 -+#define X1205_REG_SCA0 0x00 -+ -+#define X1205_I2C_BUS_ADDR 0x6f /* hardwired into x1205 */ -+#define X1205_CCR_BASE 0x30 /* Base address of CCR */ -+#define X1205_ALM0_BASE 0x00 /* Base address of ALARM0 */ -+ -+#define X1205_SR_RTCF 0x01 -+#define X1205_SR_WEL 0x02 /* Write Enable Latch bit */ -+#define X1205_SR_RWEL 0x04 /* Register Write Enable Bit */ -+ -+#define X1205_HR_MIL 0x80 /* set in ccr.hour for 24 hr mode */ - - extern int x1205_do_command(unsigned int cmd, void *arg); --extern int x1205_direct_attach(int adapter_id, -- struct i2c_client_address_data *address_data); - --#endif /* __LINUX_X1205_H__ */ diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/80-nslu2-class-device-create.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/80-nslu2-class-device-create.patch deleted file mode 100644 index 116f95b2f7..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/80-nslu2-class-device-create.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- linux-2.6.14/arch/arm/mach-ixp4xx/nslu2-io.c.orig 2005-11-07 22:26:36.010556202 -0800 -+++ linux-2.6.14/arch/arm/mach-ixp4xx/nslu2-io.c 2005-11-07 22:27:15.921067613 -0800 -@@ -504,7 +504,7 @@ static int __init n2iom_init(void) - return -EBUSY; - } - else { -- class_device_create(n2lm_class, MKDEV(NSLU2LM_MAJOR, 0), NULL, "leds"); -+ class_device_create(n2lm_class, NULL, MKDEV(NSLU2LM_MAJOR, 0), NULL, "leds"); - } - #endif - -@@ -513,7 +513,7 @@ static int __init n2iom_init(void) - return -EBUSY; - } - else { -- class_device_create(n2lm_class, MKDEV(NSLU2BZ_MAJOR, 0), NULL, "buzzer"); -+ class_device_create(n2lm_class, NULL, MKDEV(NSLU2BZ_MAJOR, 0), NULL, "buzzer"); - } - - return 0; diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/defconfig b/packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/defconfig deleted file mode 100644 index ecb422f0d7..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/defconfig +++ /dev/null @@ -1,1595 +0,0 @@ -# -# Automatically generated make config: don't edit -# Linux kernel version: 2.6.14 -# Mon Nov 7 22:59:39 2005 -# -CONFIG_ARM=y -CONFIG_MMU=y -CONFIG_UID16=y -CONFIG_RWSEM_GENERIC_SPINLOCK=y -CONFIG_GENERIC_CALIBRATE_DELAY=y - -# -# Code maturity level options -# -CONFIG_EXPERIMENTAL=y -CONFIG_CLEAN_COMPILE=y -CONFIG_BROKEN_ON_SMP=y -CONFIG_INIT_ENV_ARG_LIMIT=32 - -# -# General setup -# -CONFIG_LOCALVERSION="" -CONFIG_LOCALVERSION_AUTO=y -CONFIG_SWAP=y -CONFIG_SWAP_PREFETCH=y -CONFIG_SYSVIPC=y -# CONFIG_POSIX_MQUEUE is not set -# CONFIG_BSD_PROCESS_ACCT is not set -CONFIG_SYSCTL=y -# CONFIG_AUDIT is not set -CONFIG_HOTPLUG=y -CONFIG_KOBJECT_UEVENT=y -# CONFIG_IKCONFIG is not set -CONFIG_INITRAMFS_SOURCE="" -CONFIG_EMBEDDED=y -# CONFIG_KALLSYMS is not set -CONFIG_PRINTK=y -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 -CONFIG_CC_ALIGN_LOOPS=0 -CONFIG_CC_ALIGN_JUMPS=0 -CONFIG_SLAB=y -# CONFIG_TINY_SHMEM is not set -CONFIG_BASE_SMALL=1 -# CONFIG_SLOB is not set - -# -# Loadable module support -# -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_MODULE_FORCE_UNLOAD is not set -CONFIG_OBSOLETE_MODPARM=y -# CONFIG_MODVERSIONS is not set -# CONFIG_MODULE_SRCVERSION_ALL is not set -CONFIG_KMOD=y - -# -# System Type -# -# CONFIG_ARCH_CLPS7500 is not set -# CONFIG_ARCH_CLPS711X is not set -# CONFIG_ARCH_CO285 is not set -# CONFIG_ARCH_EBSA110 is not set -# CONFIG_ARCH_CAMELOT is not set -# CONFIG_ARCH_FOOTBRIDGE is not set -# CONFIG_ARCH_INTEGRATOR is not set -# CONFIG_ARCH_IOP3XX is not set -CONFIG_ARCH_IXP4XX=y -# CONFIG_ARCH_IXP2000 is not set -# CONFIG_ARCH_L7200 is not set -# CONFIG_ARCH_PXA is not set -# CONFIG_ARCH_RPC is not set -# CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_S3C2410 is not set -# CONFIG_ARCH_SHARK is not set -# CONFIG_ARCH_LH7A40X is not set -# CONFIG_ARCH_OMAP is not set -# CONFIG_ARCH_VERSATILE is not set -# CONFIG_ARCH_REALVIEW is not set -# CONFIG_ARCH_IMX is not set -# CONFIG_ARCH_H720X is not set -# CONFIG_ARCH_AAEC2000 is not set -CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y - -# -# Intel IXP4xx Implementation Options -# - -# -# IXP4xx Platforms -# -# 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_MACH_NSLU2=y -# CONFIG_ARCH_PRPMC1100 is not set -# CONFIG_MACH_GTWX5715 is not set - -# -# IXP4xx Options -# -CONFIG_IXP4XX_INDIRECT_PCI=y - -# -# Processor Type -# -CONFIG_CPU_32=y -CONFIG_CPU_XSCALE=y -CONFIG_CPU_32v5=y -CONFIG_CPU_ABRT_EV5T=y -CONFIG_CPU_CACHE_VIVT=y -CONFIG_CPU_TLB_V4WBI=y - -# -# Processor Features -# -CONFIG_ARM_THUMB=y -CONFIG_CPU_BIG_ENDIAN=y -CONFIG_XSCALE_PMU=y -CONFIG_DMABOUNCE=y - -# -# Bus support -# -CONFIG_ISA_DMA_API=y -CONFIG_PCI=y -# CONFIG_PCI_LEGACY_PROC is not set - -# -# PCCARD (PCMCIA/CardBus) support -# -# CONFIG_PCCARD is not set - -# -# Kernel Features -# -# CONFIG_PREEMPT is not set -# CONFIG_NO_IDLE_HZ is not set -# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set -CONFIG_SELECT_MEMORY_MODEL=y -CONFIG_FLATMEM_MANUAL=y -# CONFIG_DISCONTIGMEM_MANUAL is not set -# CONFIG_SPARSEMEM_MANUAL is not set -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 - -# -# Boot options -# -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 noirqdebug console=ttyS0,115200n8" -# CONFIG_XIP_KERNEL is not set - -# -# Floating point emulation -# - -# -# At least one emulation must be selected -# -CONFIG_FPE_NWFPE=y -# CONFIG_FPE_FASTFPE is not set - -# -# Userspace binary formats -# -CONFIG_BINFMT_ELF=y -# CONFIG_BINFMT_AOUT is not set -# CONFIG_BINFMT_MISC is not set -# CONFIG_ARTHUR is not set - -# -# Power management options -# -# CONFIG_PM is not set - -# -# Networking -# -CONFIG_NET=y - -# -# Networking options -# -CONFIG_PACKET=m -CONFIG_PACKET_MMAP=y -CONFIG_UNIX=y -CONFIG_XFRM=y -# CONFIG_XFRM_USER is not set -# CONFIG_NET_KEY is not set -CONFIG_INET=y -# CONFIG_IP_MULTICAST is not set -# CONFIG_IP_ADVANCED_ROUTER is not set -CONFIG_IP_FIB_HASH=y -# CONFIG_IP_PNP is not set -# CONFIG_NET_IPIP is not set -# CONFIG_NET_IPGRE is not set -# CONFIG_ARPD is not set -# CONFIG_SYN_COOKIES is not set -CONFIG_INET_AH=m -CONFIG_INET_ESP=m -CONFIG_INET_IPCOMP=m -CONFIG_INET_TUNNEL=m -CONFIG_INET_DIAG=y -CONFIG_INET_TCP_DIAG=y -# CONFIG_TCP_CONG_ADVANCED is not set -CONFIG_TCP_CONG_BIC=y - -# -# IP: Virtual Server Configuration -# -# CONFIG_IP_VS is not set -CONFIG_IPV6=m -# CONFIG_IPV6_PRIVACY is not set -CONFIG_INET6_AH=m -CONFIG_INET6_ESP=m -CONFIG_INET6_IPCOMP=m -CONFIG_INET6_TUNNEL=m -CONFIG_IPV6_TUNNEL=m -CONFIG_NETFILTER=y -# CONFIG_NETFILTER_DEBUG is not set -CONFIG_BRIDGE_NETFILTER=y -# CONFIG_NETFILTER_NETLINK is not set - -# -# IP: Netfilter Configuration -# -CONFIG_IP_NF_CONNTRACK=m -# CONFIG_IP_NF_CT_ACCT is not set -# CONFIG_IP_NF_CONNTRACK_MARK is not set -# CONFIG_IP_NF_CONNTRACK_EVENTS is not set -CONFIG_IP_NF_CT_PROTO_SCTP=m -CONFIG_IP_NF_FTP=m -CONFIG_IP_NF_IRC=m -# CONFIG_IP_NF_NETBIOS_NS is not set -CONFIG_IP_NF_TFTP=m -CONFIG_IP_NF_AMANDA=m -# CONFIG_IP_NF_PPTP is not set -CONFIG_IP_NF_QUEUE=m -CONFIG_IP_NF_IPTABLES=m -CONFIG_IP_NF_MATCH_LIMIT=m -CONFIG_IP_NF_MATCH_IPRANGE=m -CONFIG_IP_NF_MATCH_MAC=m -CONFIG_IP_NF_MATCH_PKTTYPE=m -CONFIG_IP_NF_MATCH_MARK=m -CONFIG_IP_NF_MATCH_MULTIPORT=m -CONFIG_IP_NF_MATCH_TOS=m -CONFIG_IP_NF_MATCH_RECENT=m -CONFIG_IP_NF_MATCH_ECN=m -CONFIG_IP_NF_MATCH_DSCP=m -CONFIG_IP_NF_MATCH_AH_ESP=m -CONFIG_IP_NF_MATCH_LENGTH=m -CONFIG_IP_NF_MATCH_TTL=m -CONFIG_IP_NF_MATCH_TCPMSS=m -CONFIG_IP_NF_MATCH_HELPER=m -CONFIG_IP_NF_MATCH_STATE=m -CONFIG_IP_NF_MATCH_CONNTRACK=m -CONFIG_IP_NF_MATCH_OWNER=m -CONFIG_IP_NF_MATCH_PHYSDEV=m -CONFIG_IP_NF_MATCH_ADDRTYPE=m -CONFIG_IP_NF_MATCH_REALM=m -# CONFIG_IP_NF_MATCH_SCTP is not set -# CONFIG_IP_NF_MATCH_DCCP is not set -CONFIG_IP_NF_MATCH_COMMENT=m -CONFIG_IP_NF_MATCH_HASHLIMIT=m -# CONFIG_IP_NF_MATCH_STRING is not set -CONFIG_IP_NF_FILTER=m -# CONFIG_IP_NF_TARGET_REJECT is not set -CONFIG_IP_NF_TARGET_LOG=m -CONFIG_IP_NF_TARGET_ULOG=m -CONFIG_IP_NF_TARGET_TCPMSS=m -# CONFIG_IP_NF_TARGET_NFQUEUE is not set -CONFIG_IP_NF_NAT=m -CONFIG_IP_NF_NAT_NEEDED=y -CONFIG_IP_NF_TARGET_MASQUERADE=m -CONFIG_IP_NF_TARGET_REDIRECT=m -CONFIG_IP_NF_TARGET_NETMAP=m -CONFIG_IP_NF_TARGET_SAME=m -CONFIG_IP_NF_NAT_SNMP_BASIC=m -CONFIG_IP_NF_NAT_IRC=m -CONFIG_IP_NF_NAT_FTP=m -CONFIG_IP_NF_NAT_TFTP=m -CONFIG_IP_NF_NAT_AMANDA=m -CONFIG_IP_NF_MANGLE=m -CONFIG_IP_NF_TARGET_TOS=m -CONFIG_IP_NF_TARGET_ECN=m -CONFIG_IP_NF_TARGET_DSCP=m -CONFIG_IP_NF_TARGET_MARK=m -CONFIG_IP_NF_TARGET_CLASSIFY=m -# CONFIG_IP_NF_TARGET_TTL is not set -# CONFIG_IP_NF_RAW is not set -# CONFIG_IP_NF_ARPTABLES is not set - -# -# IPv6: Netfilter Configuration (EXPERIMENTAL) -# -# 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 -# -# CONFIG_BRIDGE_NF_EBTABLES is not set - -# -# DCCP Configuration (EXPERIMENTAL) -# -# CONFIG_IP_DCCP is not set - -# -# SCTP Configuration (EXPERIMENTAL) -# -# CONFIG_IP_SCTP is not set -# CONFIG_ATM is not set -CONFIG_BRIDGE=m -CONFIG_VLAN_8021Q=m -# CONFIG_DECNET is not set -CONFIG_LLC=m -# CONFIG_LLC2 is not set -CONFIG_IPX=m -# CONFIG_IPX_INTERN is not set -CONFIG_ATALK=m -CONFIG_DEV_APPLETALK=y -CONFIG_IPDDP=m -CONFIG_IPDDP_ENCAP=y -CONFIG_IPDDP_DECAP=y -# CONFIG_X25 is not set -# CONFIG_LAPB is not set -# CONFIG_NET_DIVERT is not set -# CONFIG_ECONET is not set -# CONFIG_WAN_ROUTER is not set - -# -# QoS and/or fair queueing -# -# CONFIG_NET_SCHED is not set -CONFIG_NET_CLS_ROUTE=y - -# -# Network testing -# -CONFIG_NET_PKTGEN=m -# CONFIG_HAMRADIO is not set -# CONFIG_IRDA is not set -CONFIG_BT=m -CONFIG_BT_L2CAP=m -CONFIG_BT_SCO=m -CONFIG_BT_RFCOMM=m -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=m -CONFIG_BT_BNEP_MC_FILTER=y -CONFIG_BT_BNEP_PROTO_FILTER=y -# CONFIG_BT_HIDP is not set - -# -# Bluetooth device drivers -# -CONFIG_BT_HCIUSB=m -CONFIG_BT_HCIUSB_SCO=y -# CONFIG_BT_HCIUART is not set -CONFIG_BT_HCIBCM203X=m -# CONFIG_BT_HCIBPA10X is not set -# CONFIG_BT_HCIBFUSB is not set -# CONFIG_BT_HCIVHCI is not set -# CONFIG_IEEE80211 is not set - -# -# Device Drivers -# - -# -# Generic Driver Options -# -CONFIG_STANDALONE=y -CONFIG_PREVENT_FIRMWARE_BUILD=y -CONFIG_FW_LOADER=m - -# -# Memory Technology Devices (MTD) -# -CONFIG_MTD=y -# CONFIG_MTD_DEBUG is not set -CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y -CONFIG_MTD_REDBOOT_PARTS=y -CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 -# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set -# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set -# CONFIG_MTD_CMDLINE_PARTS is not set -# CONFIG_MTD_AFS_PARTS is not set - -# -# User Modules And Translation Layers -# -CONFIG_MTD_CHAR=y -CONFIG_MTD_BLOCK=y -# CONFIG_FTL is not set -# CONFIG_NFTL is not set -# CONFIG_INFTL is not set - -# -# RAM/ROM/Flash chip drivers -# -CONFIG_MTD_CFI=y -# CONFIG_MTD_JEDECPROBE is not set -CONFIG_MTD_GEN_PROBE=y -CONFIG_MTD_CFI_ADV_OPTIONS=y -# CONFIG_MTD_CFI_NOSWAP is not set -CONFIG_MTD_CFI_BE_BYTE_SWAP=y -# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set -CONFIG_MTD_CFI_GEOMETRY=y -# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set -CONFIG_MTD_MAP_BANK_WIDTH_2=y -# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -# CONFIG_MTD_CFI_I4 is not set -# CONFIG_MTD_CFI_I8 is not set -# CONFIG_MTD_OTP is not set -CONFIG_MTD_CFI_INTELEXT=y -# CONFIG_MTD_CFI_AMDSTD is not set -# CONFIG_MTD_CFI_STAA is not set -CONFIG_MTD_CFI_UTIL=y -# CONFIG_MTD_RAM is not set -# CONFIG_MTD_ROM is not set -# CONFIG_MTD_ABSENT is not set -# CONFIG_MTD_XIP is not set - -# -# Mapping drivers for chip access -# -CONFIG_MTD_COMPLEX_MAPPINGS=y -# CONFIG_MTD_PHYSMAP is not set -# CONFIG_MTD_ARM_INTEGRATOR is not set -CONFIG_MTD_IXP4XX=y -# CONFIG_MTD_EDB7312 is not set -# CONFIG_MTD_PCI is not set -# CONFIG_MTD_PLATRAM is not set - -# -# Self-contained MTD device drivers -# -# CONFIG_MTD_PMC551 is not set -# CONFIG_MTD_SLRAM is not set -# CONFIG_MTD_PHRAM is not set -# CONFIG_MTD_MTDRAM is not set -# CONFIG_MTD_BLKMTD is not set -# CONFIG_MTD_BLOCK2MTD is not set - -# -# Disk-On-Chip Device Drivers -# -# CONFIG_MTD_DOC2000 is not set -# CONFIG_MTD_DOC2001 is not set -# CONFIG_MTD_DOC2001PLUS is not set - -# -# NAND Flash Device Drivers -# -# CONFIG_MTD_NAND is not set - -# -# Parallel port support -# -# CONFIG_PARPORT is not set - -# -# Plug and Play support -# - -# -# Block devices -# -# CONFIG_BLK_CPQ_DA is not set -# CONFIG_BLK_CPQ_CISS_DA is not set -# CONFIG_BLK_DEV_DAC960 is not set -# CONFIG_BLK_DEV_UMEM is not set -# CONFIG_BLK_DEV_COW_COMMON is not set -CONFIG_BLK_DEV_LOOP=m -# CONFIG_BLK_DEV_CRYPTOLOOP is not set -# CONFIG_BLK_DEV_NBD is not set -# CONFIG_BLK_DEV_SX8 is not set -# CONFIG_BLK_DEV_UB is not set -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_COUNT=4 -CONFIG_BLK_DEV_RAM_SIZE=10240 -CONFIG_BLK_DEV_INITRD=y -# CONFIG_BLK_DEV_IO_TRACE is not set -CONFIG_CDROM_PKTCDVD=m -CONFIG_CDROM_PKTCDVD_BUFFERS=8 -# CONFIG_CDROM_PKTCDVD_WCACHE is not set - -# -# IO Schedulers -# -CONFIG_IOSCHED_NOOP=y -# CONFIG_IOSCHED_AS is not set -CONFIG_IOSCHED_DEADLINE=y -# CONFIG_IOSCHED_CFQ is not set -# CONFIG_DEFAULT_AS is not set -CONFIG_DEFAULT_DEADLINE=y -# CONFIG_DEFAULT_CFQ is not set -# CONFIG_DEFAULT_NOOP is not set -CONFIG_DEFAULT_IOSCHED="deadline" -# CONFIG_ATA_OVER_ETH is not set - -# -# ATA/ATAPI/MFM/RLL support -# -# CONFIG_IDE is not set - -# -# SCSI device support -# -# CONFIG_RAID_ATTRS is not set -CONFIG_SCSI=y -CONFIG_SCSI_PROC_FS=y - -# -# SCSI support type (disk, tape, CD-ROM) -# -CONFIG_BLK_DEV_SD=y -# CONFIG_CHR_DEV_ST is not set -# CONFIG_CHR_DEV_OSST is not set -CONFIG_BLK_DEV_SR=m -# CONFIG_BLK_DEV_SR_VENDOR is not set -CONFIG_CHR_DEV_SG=m -# CONFIG_CHR_DEV_SCH is not set - -# -# Some SCSI devices (e.g. CD jukebox) support multiple LUNs -# -CONFIG_SCSI_MULTI_LUN=y -# CONFIG_SCSI_CONSTANTS is not set -# CONFIG_SCSI_LOGGING is not set - -# -# SCSI Transport Attributes -# -# CONFIG_SCSI_SPI_ATTRS is not set -# CONFIG_SCSI_FC_ATTRS is not set -# CONFIG_SCSI_ISCSI_ATTRS is not set -# CONFIG_SCSI_SAS_ATTRS is not set - -# -# SCSI Transport Layers -# -# CONFIG_SAS_CLASS is not set - -# -# SCSI low-level drivers -# -# CONFIG_ISCSI_TCP is not set -# CONFIG_SCSI_ARCMSR is not set -# CONFIG_BLK_DEV_3W_XXXX_RAID is not set -# CONFIG_SCSI_3W_9XXX is not set -# CONFIG_SCSI_ACARD is not set -# CONFIG_SCSI_AACRAID is not set -# CONFIG_SCSI_AIC7XXX is not set -# CONFIG_SCSI_AIC7XXX_OLD is not set -# CONFIG_SCSI_AIC79XX is not set -# CONFIG_SCSI_DPT_I2O is not set -# CONFIG_MEGARAID_NEWGEN is not set -# CONFIG_MEGARAID_LEGACY is not set -# CONFIG_MEGARAID_SAS is not set -# CONFIG_SCSI_SATA is not set -# CONFIG_SCSI_BUSLOGIC is not set -# CONFIG_SCSI_DMX3191D is not set -# CONFIG_SCSI_EATA is not set -# CONFIG_SCSI_FUTURE_DOMAIN is not set -# CONFIG_SCSI_GDTH is not set -# CONFIG_SCSI_IPS is not set -# CONFIG_SCSI_INITIO is not set -# CONFIG_SCSI_INIA100 is not set -# CONFIG_SCSI_SYM53C8XX_2 is not set -# CONFIG_SCSI_IPR is not set -# CONFIG_SCSI_QLOGIC_FC is not set -# CONFIG_SCSI_QLOGIC_1280 is not set -CONFIG_SCSI_QLA2XXX=y -# CONFIG_SCSI_QLA21XX is not set -# CONFIG_SCSI_QLA22XX is not set -# CONFIG_SCSI_QLA2300 is not set -# CONFIG_SCSI_QLA2322 is not set -# CONFIG_SCSI_QLA6312 is not set -# CONFIG_SCSI_QLA24XX is not set -# CONFIG_SCSI_LPFC is not set -# CONFIG_SCSI_DC395x is not set -# CONFIG_SCSI_DC390T is not set -# CONFIG_SCSI_NSP32 is not set -# CONFIG_SCSI_DEBUG is not set - -# -# Multi-device support (RAID and LVM) -# -CONFIG_MD=y -CONFIG_BLK_DEV_MD=m -CONFIG_MD_LINEAR=m -CONFIG_MD_RAID0=m -CONFIG_MD_RAID1=m -CONFIG_MD_RAID10=m -CONFIG_MD_RAID5=m -CONFIG_MD_RAID6=m -CONFIG_MD_MULTIPATH=m -CONFIG_MD_FAULTY=m -CONFIG_BLK_DEV_DM=m -# CONFIG_DM_CRYPT is not set -# CONFIG_DM_SNAPSHOT is not set -# CONFIG_DM_MIRROR is not set -# CONFIG_DM_ZERO is not set -# CONFIG_DM_MULTIPATH is not set - -# -# Fusion MPT device support -# -# CONFIG_FUSION is not set -# CONFIG_FUSION_SPI is not set -# CONFIG_FUSION_FC is not set -# CONFIG_FUSION_SAS is not set - -# -# IEEE 1394 (FireWire) support -# -# CONFIG_IEEE1394 is not set - -# -# I2O device support -# -# CONFIG_I2O is not set - -# -# Network device support -# -CONFIG_NETDEVICES=y -# CONFIG_DUMMY is not set -# CONFIG_BONDING is not set -# CONFIG_EQUALIZER is not set -CONFIG_TUN=m - -# -# ARCnet devices -# -# CONFIG_ARCNET is not set - -# -# PHY device support -# -# CONFIG_PHYLIB is not set - -# -# Ethernet (10 or 100Mbit) -# -CONFIG_NET_ETHERNET=y -CONFIG_MII=y -# CONFIG_HAPPYMEAL is not set -# CONFIG_SUNGEM is not set -# CONFIG_CASSINI is not set -# CONFIG_NET_VENDOR_3COM is not set -# CONFIG_SMC91X is not set -# CONFIG_DM9000 is not set - -# -# Tulip family network device support -# -# CONFIG_NET_TULIP is not set -# CONFIG_HP100 is not set -CONFIG_NET_PCI=y -# CONFIG_PCNET32 is not set -# CONFIG_AMD8111_ETH is not set -# CONFIG_ADAPTEC_STARFIRE is not set -# CONFIG_B44 is not set -# CONFIG_FORCEDETH is not set -# CONFIG_DGRS is not set -# CONFIG_EEPRO100 is not set -# CONFIG_E100 is not set -# CONFIG_FEALNX is not set -# CONFIG_NATSEMI is not set -# CONFIG_NE2K_PCI is not set -# CONFIG_8139CP is not set -# CONFIG_8139TOO is not set -# CONFIG_SIS900 is not set -# CONFIG_EPIC100 is not set -# CONFIG_SUNDANCE is not set -# CONFIG_TLAN is not set -# CONFIG_VIA_RHINE is not set - -# -# Ethernet (1000 Mbit) -# -# CONFIG_ACENIC is not set -# CONFIG_DL2K is not set -# CONFIG_E1000 is not set -# CONFIG_NS83820 is not set -# CONFIG_HAMACHI is not set -# CONFIG_YELLOWFIN is not set -# CONFIG_R8169 is not set -# CONFIG_SIS190 is not set -# CONFIG_SKGE is not set -# CONFIG_SKY2 is not set -# CONFIG_SK98LIN is not set -# CONFIG_VIA_VELOCITY is not set -# CONFIG_TIGON3 is not set -# CONFIG_BNX2 is not set - -# -# Ethernet (10000 Mbit) -# -# CONFIG_CHELSIO_T1 is not set -# CONFIG_IXGB is not set -# CONFIG_S2IO is not set - -# -# Token Ring devices -# -# CONFIG_TR is not set - -# -# Wireless LAN (non-hamradio) -# -CONFIG_NET_RADIO=y - -# -# Obsolete Wireless cards support (pre-802.11) -# -# CONFIG_STRIP is not set - -# -# Wireless 802.11b ISA/PCI cards support -# -# CONFIG_AIRO is not set -# CONFIG_HERMES is not set -# CONFIG_ATMEL is not set - -# -# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support -# -# CONFIG_PRISM54 is not set -# CONFIG_HOSTAP is not set -# CONFIG_ACX is not set -CONFIG_NET_WIRELESS=y - -# -# Wan interfaces -# -# CONFIG_WAN is not set -# CONFIG_FDDI is not set -# CONFIG_HIPPI is not set -CONFIG_PPP=m -# CONFIG_PPP_MULTILINK is not set -CONFIG_PPP_FILTER=y -CONFIG_PPP_ASYNC=m -# CONFIG_PPP_SYNC_TTY is not set -CONFIG_PPP_DEFLATE=m -CONFIG_PPP_BSDCOMP=m -# CONFIG_PPP_MPPE is not set -# CONFIG_PPPOE is not set -# CONFIG_SLIP is not set -# CONFIG_NET_FC is not set -# CONFIG_SHAPER is not set -CONFIG_NETCONSOLE=m -# CONFIG_KGDBOE is not set -CONFIG_NETPOLL=y -# CONFIG_NETPOLL_RX is not set -# CONFIG_NETPOLL_TRAP is not set -CONFIG_NET_POLL_CONTROLLER=y - -# -# ISDN subsystem -# -# CONFIG_ISDN is not set - -# -# Input device support -# -CONFIG_INPUT=m - -# -# Userland interfaces -# -# CONFIG_INPUT_MOUSEDEV is not set -# CONFIG_INPUT_JOYDEV is not set -# CONFIG_INPUT_TSDEV is not set -CONFIG_INPUT_EVDEV=m -# CONFIG_INPUT_EVBUG is not set - -# -# Input Device Drivers -# -# CONFIG_INPUT_KEYBOARD is not set -# CONFIG_INPUT_MOUSE is not set -# CONFIG_INPUT_JOYSTICK is not set -# CONFIG_INPUT_TOUCHSCREEN is not set -# CONFIG_INPUT_MISC is not set - -# -# Hardware I/O ports -# -# CONFIG_SERIO is not set -# CONFIG_GAMEPORT is not set - -# -# Character devices -# -# CONFIG_VT is not set -# CONFIG_SERIAL_NONSTANDARD is not set - -# -# Serial drivers -# -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_8250_NR_UARTS=2 -# CONFIG_SERIAL_8250_EXTENDED is not set - -# -# Non-8250 serial port support -# -CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_CORE_CONSOLE=y -# CONFIG_SERIAL_JSM is not set -CONFIG_UNIX98_PTYS=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=16 - -# -# IPMI -# -# CONFIG_IPMI_HANDLER is not set - -# -# Watchdog Cards -# -CONFIG_WATCHDOG=y -# CONFIG_WATCHDOG_NOWAYOUT is not set - -# -# Watchdog Device Drivers -# -# CONFIG_SOFT_WATCHDOG is not set -CONFIG_IXP4XX_WATCHDOG=y - -# -# PCI-based Watchdog Cards -# -# CONFIG_PCIPCWATCHDOG is not set -# CONFIG_WDTPCI is not set - -# -# USB-based Watchdog Cards -# -# CONFIG_USBPCWATCHDOG is not set -# CONFIG_NVRAM is not set -CONFIG_RTC=m -# CONFIG_DTLK is not set -# CONFIG_R3964 is not set -# CONFIG_APPLICOM is not set - -# -# Ftape, the floppy tape device driver -# -# CONFIG_DRM is not set -# CONFIG_RAW_DRIVER is not set - -# -# TPM devices -# -# CONFIG_TCG_TPM is not set -# CONFIG_TELCLOCK is not set - -# -# I2C support -# -CONFIG_I2C=y -CONFIG_I2C_CHARDEV=y - -# -# I2C Algorithms -# -CONFIG_I2C_ALGOBIT=y -# CONFIG_I2C_ALGOPCF is not set -# CONFIG_I2C_ALGOPCA is not set - -# -# I2C Hardware Bus support -# -# CONFIG_I2C_ALI1535 is not set -# CONFIG_I2C_ALI1563 is not set -# CONFIG_I2C_ALI15X3 is not set -# CONFIG_I2C_AMD756 is not set -# CONFIG_I2C_AMD8111 is not set -# CONFIG_I2C_I801 is not set -# CONFIG_I2C_I810 is not set -# CONFIG_I2C_PIIX4 is not set -# CONFIG_I2C_IOP3XX is not set -CONFIG_I2C_IXP4XX=y -# CONFIG_I2C_NFORCE2 is not set -# CONFIG_I2C_PARPORT_LIGHT is not set -# CONFIG_I2C_PROSAVAGE is not set -# CONFIG_I2C_SAVAGE4 is not set -# CONFIG_SCx200_ACB is not set -# CONFIG_I2C_SIS5595 is not set -# CONFIG_I2C_SIS630 is not set -# CONFIG_I2C_SIS96X is not set -# CONFIG_I2C_STUB is not set -# CONFIG_I2C_VIA is not set -# CONFIG_I2C_VIAPRO is not set -# CONFIG_I2C_VOODOO3 is not set -# CONFIG_I2C_PCA_ISA is not set - -# -# Miscellaneous I2C Chip support -# -# CONFIG_SENSORS_DS1337 is not set -# CONFIG_SENSORS_DS1374 is not set -CONFIG_SENSORS_EEPROM=y -# CONFIG_SENSORS_PCF8574 is not set -# CONFIG_SENSORS_PCA9539 is not set -# CONFIG_SENSORS_PCF8591 is not set -# CONFIG_SENSORS_RTC8564 is not set -# CONFIG_SENSORS_MAX6875 is not set -CONFIG_SENSORS_X1205=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 - -# -# Hardware Monitoring support -# -CONFIG_HWMON=y -# CONFIG_HWMON_VID is not set -# CONFIG_SENSORS_ADM1021 is not set -# CONFIG_SENSORS_ADM1025 is not set -# CONFIG_SENSORS_ADM1026 is not set -# CONFIG_SENSORS_ADM1031 is not set -# CONFIG_SENSORS_ADM9240 is not set -# CONFIG_SENSORS_ASB100 is not set -# CONFIG_SENSORS_ATXP1 is not set -# CONFIG_SENSORS_DS1621 is not set -# CONFIG_SENSORS_FSCHER is not set -# CONFIG_SENSORS_FSCPOS is not set -# CONFIG_SENSORS_GL518SM is not set -# CONFIG_SENSORS_GL520SM is not set -# CONFIG_SENSORS_IT87 is not set -# CONFIG_SENSORS_LM63 is not set -# CONFIG_SENSORS_LM75 is not set -# CONFIG_SENSORS_LM77 is not set -# CONFIG_SENSORS_LM78 is not set -# CONFIG_SENSORS_LM80 is not set -# CONFIG_SENSORS_LM83 is not set -# CONFIG_SENSORS_LM85 is not set -# CONFIG_SENSORS_LM87 is not set -# CONFIG_SENSORS_LM90 is not set -# CONFIG_SENSORS_LM92 is not set -# CONFIG_SENSORS_MAX1619 is not set -# CONFIG_SENSORS_PC87360 is not set -# CONFIG_SENSORS_SIS5595 is not set -# CONFIG_SENSORS_SMSC47M1 is not set -# CONFIG_SENSORS_SMSC47B397 is not set -# CONFIG_SENSORS_VIA686A is not set -# CONFIG_SENSORS_W83781D is not set -# CONFIG_SENSORS_W83792D is not set -# CONFIG_SENSORS_W83L785TS is not set -# CONFIG_SENSORS_W83627HF is not set -# CONFIG_SENSORS_W83627EHF is not set -# CONFIG_HWMON_DEBUG_CHIP is not set - -# -# Misc devices -# - -# -# Multimedia Capabilities Port drivers -# - -# -# Multimedia devices -# -CONFIG_VIDEO_DEV=m - -# -# Video For Linux -# - -# -# Video Adapters -# -CONFIG_VIDEO_BT848=m -# CONFIG_VIDEO_SAA6588 is not set -CONFIG_VIDEO_CPIA=m -CONFIG_VIDEO_CPIA_USB=m -CONFIG_VIDEO_SAA5246A=m -CONFIG_VIDEO_SAA5249=m -CONFIG_TUNER_3036=m -CONFIG_VIDEO_STRADIS=m -CONFIG_VIDEO_ZORAN=m -CONFIG_VIDEO_ZORAN_BUZ=m -CONFIG_VIDEO_ZORAN_DC10=m -CONFIG_VIDEO_ZORAN_DC30=m -CONFIG_VIDEO_ZORAN_LML33=m -CONFIG_VIDEO_ZORAN_LML33R10=m -CONFIG_VIDEO_SAA7134=m -CONFIG_VIDEO_MXB=m -CONFIG_VIDEO_DPC=m -CONFIG_VIDEO_HEXIUM_ORION=m -CONFIG_VIDEO_HEXIUM_GEMINI=m -CONFIG_VIDEO_CX88=m -# CONFIG_VIDEO_EM28XX is not set -CONFIG_VIDEO_OVCAMCHIP=m - -# -# Radio Adapters -# -# CONFIG_RADIO_GEMTEK_PCI is not set -# CONFIG_RADIO_MAXIRADIO is not set -# CONFIG_RADIO_MAESTRO is not set - -# -# Digital Video Broadcasting Devices -# -# CONFIG_DVB is not set -CONFIG_VIDEO_SAA7146=m -CONFIG_VIDEO_SAA7146_VV=m -CONFIG_VIDEO_VIDEOBUF=m -CONFIG_VIDEO_TUNER=m -CONFIG_VIDEO_BUF=m -CONFIG_VIDEO_BTCX=m -CONFIG_VIDEO_IR=m -CONFIG_VIDEO_TVEEPROM=m - -# -# Graphics support -# -# CONFIG_FB is not set - -# -# Speakup console speech -# -# CONFIG_SPEAKUP is not set - -# -# Sound -# -CONFIG_SOUND=m - -# -# Advanced Linux Sound Architecture -# -CONFIG_SND=m -CONFIG_SND_TIMER=m -CONFIG_SND_PCM=m -CONFIG_SND_HWDEP=m -CONFIG_SND_RAWMIDI=m -# CONFIG_SND_SEQUENCER is not set -CONFIG_SND_OSSEMUL=y -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m -# CONFIG_SND_RTCTIMER is not set -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG is not set - -# -# Generic devices -# -# CONFIG_SND_DUMMY is not set -# CONFIG_SND_MTPAV is not set -# CONFIG_SND_SERIAL_U16550 is not set -# CONFIG_SND_MPU401 is not set - -# -# PCI devices -# -# CONFIG_SND_ALI5451 is not set -# CONFIG_SND_ATIIXP is not set -# CONFIG_SND_ATIIXP_MODEM is not set -# CONFIG_SND_AU8810 is not set -# CONFIG_SND_AU8820 is not set -# CONFIG_SND_AU8830 is not set -# CONFIG_SND_AZT3328 is not set -# CONFIG_SND_BT87X is not set -# CONFIG_SND_CS46XX is not set -# CONFIG_SND_CS4281 is not set -# CONFIG_SND_EMU10K1 is not set -# CONFIG_SND_EMU10K1X is not set -# CONFIG_SND_CA0106 is not set -# CONFIG_SND_KORG1212 is not set -# CONFIG_SND_MIXART is not set -# CONFIG_SND_NM256 is not set -# CONFIG_SND_RME32 is not set -# CONFIG_SND_RME96 is not set -# CONFIG_SND_RME9652 is not set -# CONFIG_SND_HDSP is not set -# CONFIG_SND_HDSPM is not set -# CONFIG_SND_TRIDENT is not set -# CONFIG_SND_YMFPCI is not set -# CONFIG_SND_AD1889 is not set -# CONFIG_SND_ALS4000 is not set -# CONFIG_SND_CMIPCI is not set -# CONFIG_SND_ENS1370 is not set -# CONFIG_SND_ENS1371 is not set -# CONFIG_SND_ES1938 is not set -# CONFIG_SND_ES1968 is not set -# CONFIG_SND_MAESTRO3 is not set -# CONFIG_SND_FM801 is not set -# CONFIG_SND_ICE1712 is not set -# CONFIG_SND_ICE1724 is not set -# CONFIG_SND_INTEL8X0 is not set -# CONFIG_SND_INTEL8X0M is not set -# CONFIG_SND_SONICVIBES is not set -# CONFIG_SND_VIA82XX is not set -# CONFIG_SND_VIA82XX_MODEM is not set -# CONFIG_SND_VX222 is not set -# CONFIG_SND_HDA_INTEL is not set - -# -# ALSA ARM devices -# - -# -# USB devices -# -CONFIG_SND_USB_AUDIO=m - -# -# Open Sound System -# -# CONFIG_SOUND_PRIME is not set - -# -# USB support -# -CONFIG_USB_ARCH_HAS_HCD=y -CONFIG_USB_ARCH_HAS_OHCI=y -CONFIG_USB=y -# CONFIG_USB_DEBUG is not set - -# -# Miscellaneous USB options -# -CONFIG_USB_DEVICEFS=y -# CONFIG_USB_BANDWIDTH is not set -# CONFIG_USB_DYNAMIC_MINORS is not set -# CONFIG_USB_OTG is not set - -# -# USB Host Controller Drivers -# -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_EHCI_SPLIT_ISO=y -# CONFIG_USB_EHCI_ROOT_HUB_TT is not set -# CONFIG_USB_ISP116X_HCD is not set -CONFIG_USB_OHCI_HCD=y -# CONFIG_USB_OHCI_BIG_ENDIAN is not set -CONFIG_USB_OHCI_LITTLE_ENDIAN=y -# CONFIG_USB_UHCI_HCD is not set -# CONFIG_USB_SL811_HCD is not set - -# -# USB Device Class drivers -# -# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set -CONFIG_USB_ACM=m -CONFIG_USB_PRINTER=m - -# -# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' -# - -# -# may also be needed; see USB_STORAGE Help for more information -# -CONFIG_USB_STORAGE=y -# CONFIG_USB_STORAGE_DEBUG is not set -# CONFIG_USB_STORAGE_DATAFAB is not set -# CONFIG_USB_STORAGE_FREECOM is not set -# CONFIG_USB_STORAGE_DPCM is not set -# CONFIG_USB_STORAGE_USBAT is not set -# CONFIG_USB_STORAGE_SDDR09 is not set -# CONFIG_USB_STORAGE_SDDR55 is not set -# CONFIG_USB_STORAGE_JUMPSHOT is not set -# CONFIG_USB_STORAGE_ONETOUCH is not set -# CONFIG_USB_LIBUSUAL is not set - -# -# USB Input Devices -# -CONFIG_USB_HID=m -CONFIG_USB_HIDINPUT=y -# CONFIG_HID_FF is not set -CONFIG_USB_HIDDEV=y - -# -# USB HID Boot Protocol drivers -# -CONFIG_USB_KBD=m -# CONFIG_USB_MOUSE is not set -# CONFIG_USB_AIPTEK is not set -# CONFIG_USB_WACOM is not set -# CONFIG_USB_ACECAD is not set -# CONFIG_USB_KBTAB is not set -# CONFIG_USB_POWERMATE is not set -# CONFIG_USB_MTOUCH is not set -# CONFIG_USB_ITMTOUCH is not set -# CONFIG_USB_EGALAX is not set -# CONFIG_USB_YEALINK is not set -# CONFIG_USB_XPAD is not set -# CONFIG_USB_ATI_REMOTE is not set -# CONFIG_USB_KEYSPAN_REMOTE is not set -# CONFIG_USB_APPLETOUCH is not set - -# -# USB Imaging devices -# -# CONFIG_USB_MDC800 is not set -# CONFIG_USB_MICROTEK is not set - -# -# USB Multimedia devices -# -# CONFIG_USB_DABUSB is not set -# CONFIG_USB_VICAM is not set -# CONFIG_USB_DSBR is not set -# CONFIG_USB_IBMCAM is not set -# CONFIG_USB_KONICAWC is not set -# CONFIG_USB_OV511 is not set -# CONFIG_USB_SE401 is not set -# CONFIG_USB_SN9C102 is not set -# CONFIG_USB_STV680 is not set -# CONFIG_USB_W9968CF is not set -CONFIG_USB_PWC=m - -# -# USB Network Adapters -# -CONFIG_USB_CATC=m -CONFIG_USB_KAWETH=m -CONFIG_USB_PEGASUS=m -CONFIG_USB_RTL8150=m -CONFIG_USB_USBNET=m -CONFIG_USB_NET_AX8817X=m -CONFIG_USB_NET_CDCETHER=m -# CONFIG_USB_NET_GL620A is not set -CONFIG_USB_NET_NET1080=m -# CONFIG_USB_NET_PLUSB is not set -# CONFIG_USB_NET_RNDIS_HOST is not set -# CONFIG_USB_NET_CDC_SUBSET is not set -CONFIG_USB_NET_ZAURUS=m -# CONFIG_USB_ZD1201 is not set -# CONFIG_USB_MON is not set - -# -# USB port drivers -# - -# -# USB Serial Converter support -# -CONFIG_USB_SERIAL=m -CONFIG_USB_SERIAL_GENERIC=y -# CONFIG_USB_SERIAL_AIRPRIME is not set -CONFIG_USB_SERIAL_BELKIN=m -CONFIG_USB_SERIAL_WHITEHEAT=m -CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -# CONFIG_USB_SERIAL_CP2101 is not set -CONFIG_USB_SERIAL_CYPRESS_M8=m -CONFIG_USB_SERIAL_EMPEG=m -CONFIG_USB_SERIAL_FTDI_SIO=m -CONFIG_USB_SERIAL_VISOR=m -CONFIG_USB_SERIAL_IPAQ=m -CONFIG_USB_SERIAL_IR=m -CONFIG_USB_SERIAL_EDGEPORT=m -CONFIG_USB_SERIAL_EDGEPORT_TI=m -CONFIG_USB_SERIAL_GARMIN=m -CONFIG_USB_SERIAL_IPW=m -CONFIG_USB_SERIAL_KEYSPAN_PDA=m -# CONFIG_USB_SERIAL_KEYSPAN is not set -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 -# CONFIG_USB_SERIAL_SAFE_PADDED is not set -CONFIG_USB_SERIAL_TI=m -CONFIG_USB_SERIAL_CYBERJACK=m -CONFIG_USB_SERIAL_XIRCOM=m -CONFIG_USB_SERIAL_OMNINET=m -CONFIG_USB_EZUSB=y - -# -# USB Miscellaneous drivers -# -# CONFIG_USB_EMI62 is not set -# CONFIG_USB_EMI26 is not set -# CONFIG_USB_AUERSWALD is not set -# CONFIG_USB_RIO500 is not set -# CONFIG_USB_LEGOTOWER is not set -# CONFIG_USB_LCD is not set -# CONFIG_USB_LED is not set -# CONFIG_USB_CYTHERM is not set -# CONFIG_USB_GOTEMP is not set -# CONFIG_USB_PHIDGETKIT is not set -# CONFIG_USB_PHIDGETSERVO is not set -# CONFIG_USB_IDMOUSE is not set -# CONFIG_USB_SISUSBVGA is not set -# CONFIG_USB_LD is not set -# CONFIG_USB_TEST is not set - -# -# USB DSL modem support -# - -# -# USB Gadget Support -# -# CONFIG_USB_GADGET is not set - -# -# MMC/SD Card support -# -# CONFIG_MMC is not set - -# -# File systems -# -CONFIG_EXT2_FS=m -CONFIG_EXT2_FS_XATTR=y -CONFIG_EXT2_FS_POSIX_ACL=y -CONFIG_EXT2_FS_SECURITY=y -# CONFIG_EXT2_FS_XIP is not set -CONFIG_EXT3_FS=m -CONFIG_EXT3_FS_XATTR=y -CONFIG_EXT3_FS_POSIX_ACL=y -CONFIG_EXT3_FS_SECURITY=y -CONFIG_JBD=m -# CONFIG_JBD_DEBUG is not set -CONFIG_FS_MBCACHE=m -# CONFIG_REISER4_FS is not set -CONFIG_REISERFS_FS=m -# CONFIG_REISERFS_CHECK is not set -# CONFIG_REISERFS_PROC_INFO is not set -CONFIG_REISERFS_FS_XATTR=y -CONFIG_REISERFS_FS_POSIX_ACL=y -CONFIG_REISERFS_FS_SECURITY=y -# CONFIG_JFS_FS is not set -CONFIG_FS_POSIX_ACL=y -# CONFIG_XFS_FS is not set -# CONFIG_OCFS2_FS is not set -# CONFIG_MINIX_FS is not set -# CONFIG_ROMFS_FS is not set -CONFIG_INOTIFY=y -# CONFIG_QUOTA is not set -CONFIG_DNOTIFY=y -# CONFIG_AUTOFS_FS is not set -CONFIG_AUTOFS4_FS=m -# CONFIG_FUSE_FS is not set - -# -# CD-ROM/DVD Filesystems -# -CONFIG_ISO9660_FS=m -CONFIG_JOLIET=y -CONFIG_ZISOFS=y -CONFIG_ZISOFS_FS=m -CONFIG_UDF_FS=m -CONFIG_UDF_NLS=y - -# -# DOS/FAT/NT Filesystems -# -CONFIG_FAT_FS=m -CONFIG_MSDOS_FS=m -CONFIG_VFAT_FS=m -CONFIG_FAT_DEFAULT_CODEPAGE=437 -CONFIG_FAT_DEFAULT_IOCHARSET="utf8" -CONFIG_NTFS_FS=m -# CONFIG_NTFS_DEBUG is not set -CONFIG_NTFS_RW=y - -# -# Pseudo filesystems -# -CONFIG_PROC_FS=y -CONFIG_SYSFS=y -CONFIG_TMPFS=y -# CONFIG_HUGETLB_PAGE is not set -CONFIG_RAMFS=y -# CONFIG_RELAYFS_FS is not set -# CONFIG_CONFIGFS_FS is not set - -# -# Miscellaneous filesystems -# -# CONFIG_ADFS_FS is not set -# CONFIG_AFFS_FS is not set -# CONFIG_ASFS_FS is not set -# CONFIG_HFS_FS is not set -# CONFIG_HFSPLUS_FS is not set -# CONFIG_BEFS_FS is not set -# CONFIG_BFS_FS is not set -# CONFIG_EFS_FS is not set -# CONFIG_JFFS_FS is not set -CONFIG_JFFS2_FS=y -CONFIG_JFFS2_FS_DEBUG=0 -CONFIG_JFFS2_FS_WRITEBUFFER=y -# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set -CONFIG_JFFS2_ZLIB=y -CONFIG_JFFS2_RTIME=y -# CONFIG_JFFS2_RUBIN is not set -# CONFIG_CRAMFS is not set -# CONFIG_VXFS_FS is not set -# CONFIG_HPFS_FS is not set -# CONFIG_QNX4FS_FS is not set -# CONFIG_SYSV_FS is not set -# CONFIG_UFS_FS is not set - -# -# Network File Systems -# -CONFIG_NFS_FS=m -CONFIG_NFS_V3=y -# CONFIG_NFS_V3_ACL is not set -CONFIG_NFS_V4=y -CONFIG_NFS_DIRECTIO=y -CONFIG_NFSD=m -CONFIG_NFSD_V3=y -# CONFIG_NFSD_V3_ACL is not set -CONFIG_NFSD_V4=y -CONFIG_NFSD_TCP=y -CONFIG_LOCKD=m -CONFIG_LOCKD_V4=y -CONFIG_EXPORTFS=m -CONFIG_NFS_COMMON=y -CONFIG_SUNRPC=m -CONFIG_SUNRPC_GSS=m -CONFIG_RPCSEC_GSS_KRB5=m -# CONFIG_RPCSEC_GSS_SPKM3 is not set -CONFIG_SMB_FS=m -# CONFIG_SMB_NLS_DEFAULT is not set -CONFIG_CIFS=m -# CONFIG_CIFS_STATS is not set -CONFIG_CIFS_XATTR=y -CONFIG_CIFS_POSIX=y -# CONFIG_CIFS_EXPERIMENTAL is not set -# CONFIG_NCP_FS is not set -# CONFIG_CODA_FS is not set -# CONFIG_AFS_FS is not set -# CONFIG_9P_FS is not set - -# -# Partition Types -# -CONFIG_PARTITION_ADVANCED=y -# CONFIG_ACORN_PARTITION is not set -# CONFIG_OSF_PARTITION is not set -# CONFIG_AMIGA_PARTITION is not set -# CONFIG_ATARI_PARTITION is not set -# CONFIG_MAC_PARTITION is not set -CONFIG_MSDOS_PARTITION=y -# CONFIG_BSD_DISKLABEL is not set -# CONFIG_MINIX_SUBPARTITION is not set -# CONFIG_SOLARIS_X86_PARTITION is not set -# CONFIG_UNIXWARE_DISKLABEL is not set -# CONFIG_LDM_PARTITION is not set -# CONFIG_SGI_PARTITION is not set -# CONFIG_ULTRIX_PARTITION is not set -# CONFIG_SUN_PARTITION is not set -# CONFIG_EFI_PARTITION is not set - -# -# Native Language Support -# -CONFIG_NLS=m -CONFIG_NLS_DEFAULT="utf8" -CONFIG_NLS_CODEPAGE_437=m -CONFIG_NLS_CODEPAGE_737=m -CONFIG_NLS_CODEPAGE_775=m -CONFIG_NLS_CODEPAGE_850=m -CONFIG_NLS_CODEPAGE_852=m -CONFIG_NLS_CODEPAGE_855=m -CONFIG_NLS_CODEPAGE_857=m -CONFIG_NLS_CODEPAGE_860=m -CONFIG_NLS_CODEPAGE_861=m -CONFIG_NLS_CODEPAGE_862=m -CONFIG_NLS_CODEPAGE_863=m -CONFIG_NLS_CODEPAGE_864=m -CONFIG_NLS_CODEPAGE_865=m -CONFIG_NLS_CODEPAGE_866=m -CONFIG_NLS_CODEPAGE_869=m -CONFIG_NLS_CODEPAGE_936=m -CONFIG_NLS_CODEPAGE_950=m -CONFIG_NLS_CODEPAGE_932=m -CONFIG_NLS_CODEPAGE_949=m -CONFIG_NLS_CODEPAGE_874=m -CONFIG_NLS_ISO8859_8=m -CONFIG_NLS_CODEPAGE_1250=m -CONFIG_NLS_CODEPAGE_1251=m -CONFIG_NLS_ASCII=m -CONFIG_NLS_ISO8859_1=m -CONFIG_NLS_ISO8859_2=m -CONFIG_NLS_ISO8859_3=m -CONFIG_NLS_ISO8859_4=m -CONFIG_NLS_ISO8859_5=m -CONFIG_NLS_ISO8859_6=m -CONFIG_NLS_ISO8859_7=m -CONFIG_NLS_ISO8859_9=m -CONFIG_NLS_ISO8859_13=m -CONFIG_NLS_ISO8859_14=m -CONFIG_NLS_ISO8859_15=m -CONFIG_NLS_KOI8_R=m -CONFIG_NLS_KOI8_U=m -CONFIG_NLS_UTF8=m - -# -# Profiling support -# -# CONFIG_PROFILING is not set - -# -# Kernel hacking -# -# CONFIG_PRINTK_TIME is not set -# CONFIG_DEBUG_KERNEL is not set -CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_DEBUG_BUGVERBOSE is not set -CONFIG_FRAME_POINTER=y -# CONFIG_DEBUG_USER is not set - -# -# Security options -# -# CONFIG_KEYS is not set -# CONFIG_SECURITY is not set - -# -# Cryptographic options -# -CONFIG_CRYPTO=y -CONFIG_CRYPTO_HMAC=y -# CONFIG_CRYPTO_NULL is not set -CONFIG_CRYPTO_MD4=m -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_SHA1=m -CONFIG_CRYPTO_SHA256=m -CONFIG_CRYPTO_SHA512=m -CONFIG_CRYPTO_WP512=m -CONFIG_CRYPTO_TGR192=m -CONFIG_CRYPTO_DES=m -CONFIG_CRYPTO_BLOWFISH=m -CONFIG_CRYPTO_TWOFISH=m -CONFIG_CRYPTO_SERPENT=m -CONFIG_CRYPTO_AES=m -CONFIG_CRYPTO_CAST5=m -CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_TEA=m -CONFIG_CRYPTO_ARC4=m -CONFIG_CRYPTO_KHAZAD=m -CONFIG_CRYPTO_ANUBIS=m -CONFIG_CRYPTO_DEFLATE=m -CONFIG_CRYPTO_MICHAEL_MIC=m -CONFIG_CRYPTO_CRC32C=m -CONFIG_CRYPTO_TEST=m - -# -# Hardware crypto devices -# - -# -# Library routines -# -CONFIG_CRC_CCITT=m -# CONFIG_CRC16 is not set -CONFIG_CRC32=y -CONFIG_LIBCRC32C=m -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/10-ixp4xx-copy-from.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/10-ixp4xx-copy-from.patch deleted file mode 100644 index f3da2e093f..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/10-ixp4xx-copy-from.patch +++ /dev/null @@ -1,73 +0,0 @@ ---- linux-2.6.14/drivers/mtd/maps/ixp4xx.c 2005-10-27 17:02:08.000000000 -0700 -+++ linux-2.6.14/drivers/mtd/maps/ixp4xx.c 2005-10-29 23:11:24.990820968 -0700 -@@ -38,10 +38,14 @@ - #define BYTE1(h) ((h) & 0xFF) - #endif - -+#define FLASHWORD(a) (*(__u16*)(a)) -+#define FLASHVAL(a) FLASHWORD(a) -+#define FLASHSET(a,v) do { FLASHWORD(a) = (v); } while (0) -+ - static map_word ixp4xx_read16(struct map_info *map, unsigned long ofs) - { - map_word val; -- val.x[0] = *(__u16 *) (map->map_priv_1 + ofs); -+ val.x[0] = FLASHVAL(map->map_priv_1 + ofs); - return val; - } - -@@ -53,19 +57,25 @@ static map_word ixp4xx_read16(struct map - static void ixp4xx_copy_from(struct map_info *map, void *to, - unsigned long from, ssize_t len) - { -- int i; -- u8 *dest = (u8 *) to; -- u16 *src = (u16 *) (map->map_priv_1 + from); -- u16 data; -- -- for (i = 0; i < (len / 2); i++) { -- data = src[i]; -- dest[i * 2] = BYTE0(data); -- dest[i * 2 + 1] = BYTE1(data); -+ u8 *dest, *src; -+ -+ if (len <= 0) -+ return; -+ -+ dest = (u8 *) to; -+ src = (u8 *) (map->map_priv_1 + from); -+ if (from & 1) -+ *dest++ = BYTE1(FLASHVAL(src-1)), ++src, --len; -+ -+ while (len >= 2) { -+ u16 data = FLASHVAL(src); src += 2; -+ *dest++ = BYTE0(data); -+ *dest++ = BYTE1(data); -+ len -= 2; - } - -- if (len & 1) -- dest[len - 1] = BYTE0(src[i]); -+ if (len > 0) -+ *dest++ = BYTE0(FLASHVAL(src)); - } - - /* -@@ -75,7 +85,7 @@ static void ixp4xx_copy_from(struct map_ - static void ixp4xx_probe_write16(struct map_info *map, map_word d, unsigned long adr) - { - if (!(adr & 1)) -- *(__u16 *) (map->map_priv_1 + adr) = d.x[0]; -+ FLASHSET(map->map_priv_1 + adr, d.x[0]); - } - - /* -@@ -83,7 +93,7 @@ static void ixp4xx_probe_write16(struct - */ - static void ixp4xx_write16(struct map_info *map, map_word d, unsigned long adr) - { -- *(__u16 *) (map->map_priv_1 + adr) = d.x[0]; -+ FLASHSET(map->map_priv_1 + adr, d.x[0]); - } - - struct ixp4xx_flash_info { diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/10-ixp4xx-le.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/10-ixp4xx-le.patch deleted file mode 100644 index 0b50e4e1a0..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/10-ixp4xx-le.patch +++ /dev/null @@ -1,54 +0,0 @@ ---- linux-2.6.14/drivers/mtd/maps/ixp4xx.c 2005-10-27 17:02:08.000000000 -0700 -+++ linux-2.6.14/drivers/mtd/maps/ixp4xx.c 2005-10-29 23:11:24.990820968 -0700 -@@ -22,6 +22,7 @@ - #include <linux/string.h> - #include <linux/mtd/mtd.h> - #include <linux/mtd/map.h> -+#include <linux/mtd/cfi_endian.h> - #include <linux/mtd/partitions.h> - #include <linux/ioport.h> - #include <linux/device.h> -@@ -30,17 +31,40 @@ - - #include <linux/reboot.h> - -+/* On a little-endian IXP4XX system (tested on NSLU2) an LDRH or STRH -+ * will flip the second address bit - i.e. XOR the address with 10b. -+ * This causes the cfi commands (sent to the command address, 0xAA for -+ * 16 bit flash) to fail. This is fixed here by XOR'ing the address -+ * before use with 10b. The cost of this is that the flash layout ends -+ * up with pdp-endiannes (on an LE system), however this is not a problem -+ * as the access code consistently only accesses half words - so the -+ * endianness is not determinable on stuff which is written and read -+ * consistently in the little endian world. -+ * -+ * For flash data from the big-endian world, however, the results are -+ * weird - the pdp-endianness results in the data apparently being -+ * 2-byte swapped (as in dd conv=swab). To work round this the 16 -+ * bit values are written and read using cpu_to_cfi16 and cfi16_to_cpu, -+ * by default these are no-ops, but if the MTD driver is configed with -+ * CONFIG_MTD_CFI_BE_BYTE_SWAP the macros will byte swap the data, -+ * resulting in a consistently BE view of the flash on both BE (no -+ * op) and LE systems. This config setting also causes the command -+ * data from the CFI implementation to get swapped - as is required -+ * so that this code will *unswap* it and give the correct command -+ * data to the flash. -+ */ - #ifndef __ARMEB__ - #define BYTE0(h) ((h) & 0xFF) - #define BYTE1(h) (((h) >> 8) & 0xFF) -+#define FLASHWORD(a) (*(__u16*)((u32)(a) ^ 2)) - #else - #define BYTE0(h) (((h) >> 8) & 0xFF) - #define BYTE1(h) ((h) & 0xFF) -+#define FLASHWORD(a) (*(__u16*)(a)) - #endif - --#define FLASHWORD(a) (*(__u16*)(a)) --#define FLASHVAL(a) FLASHWORD(a) --#define FLASHSET(a,v) do { FLASHWORD(a) = (v); } while (0) -+#define FLASHVAL(a) cfi16_to_cpu(FLASHWORD(a)) -+#define FLASHSET(a,v) (FLASHWORD(a) = cpu_to_cfi16(v)) - - static map_word ixp4xx_read16(struct map_info *map, unsigned long ofs) - { diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/10-mtdpart-redboot-fis-byteswap.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/10-mtdpart-redboot-fis-byteswap.patch deleted file mode 100644 index 3fa0535abf..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/10-mtdpart-redboot-fis-byteswap.patch +++ /dev/null @@ -1,70 +0,0 @@ -drivers/mtd/redboot.c: recognise a foreign byte sex partition table - -The RedBoot boot loader writes flash partition tables containing native -byte sex 32 bit values. When booting an opposite byte sex kernel (e.g. an -LE kernel from BE RedBoot) the current MTD driver fails to handle the -partition table and therefore is unable to generate the correct partition -map for the flash. - -The patch recognises that the FIS directory (the partition table) is -byte-reversed by examining the partition table size, which is known to be -one erase block (this is an assumption made elsewhere in redboot.c). If -the size matches the erase block after byte swapping the value then -byte-reversal is assumed, if not no further action is taken. The patched -code is fail safe; should redboot.c be changed to support a partition table -with a modified size field the test will fail and the partition table will -be assumed to have the host byte sex. - -If byte-reversal is detected the patch byte swaps the remainder of the 32 -bit fields in the copy of the table; this copy is then used to set up the -MTD partition map. - -Signed-off-by: John Bowler <jbowler@acm.org> -Signed-off-by: Andrew Morton <akpm@osdl.org> -Modified slightly and -Signed-off-by: David Woodhouse <dwmw2@infradead.org> - -Index: drivers/mtd/redboot.c -=================================================================== -RCS file: /home/cvs/mtd/drivers/mtd/redboot.c,v -retrieving revision 1.18 -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 -@@ -89,8 +89,32 @@ static int parse_redboot_partitions(stru - i = numslots; - break; - } -- if (!memcmp(buf[i].name, "FIS directory", 14)) -+ if (!memcmp(buf[i].name, "FIS directory", 14)) { -+ /* This is apparently the FIS directory entry for the -+ * FIS directory itself. The FIS directory size is -+ * one erase block; if the buf[i].size field is -+ * swab32(erasesize) then we know we are looking at -+ * a byte swapped FIS directory - swap all the entries! -+ * (NOTE: this is 'size' not 'data_length'; size is -+ * the full size of the entry.) -+ */ -+ if (swab32(buf[i].size) == master->erasesize) { -+ int j; -+ for (j = 0; j < numslots && buf[j].name[0] != 0xff; ++j) { -+ /* The unsigned long fields were written with the -+ * wrong byte sex, name and pad have no byte sex. -+ */ -+ swab32s(&buf[j].flash_base); -+ swab32s(&buf[j].mem_base); -+ swab32s(&buf[j].size); -+ swab32s(&buf[j].entry_point); -+ swab32s(&buf[j].data_length); -+ swab32s(&buf[j].desc_cksum); -+ swab32s(&buf[j].file_cksum); -+ } -+ } - break; -+ } - } - if (i == numslots) { - /* Didn't find it */ - - diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/15-ixp4xx-writesb-l-w.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/15-ixp4xx-writesb-l-w.patch deleted file mode 100644 index 6ac0807f1e..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/15-ixp4xx-writesb-l-w.patch +++ /dev/null @@ -1,31 +0,0 @@ -# The inline caller of these APIs were changed to have -# const vaddr parameters... ---- linux-2.6.13/include/asm-arm/arch-ixp4xx/io.h.orig 2005-09-24 17:06:19.968099976 -0700 -+++ linux-2.6.13/include/asm-arm/arch-ixp4xx/io.h 2005-09-24 17:06:52.542149731 -0700 -@@ -113,7 +113,7 @@ - } - - static inline void --__ixp4xx_writesb(u32 bus_addr, u8 *vaddr, int count) -+__ixp4xx_writesb(u32 bus_addr, const u8 *vaddr, int count) - { - while (count--) - writeb(*vaddr++, bus_addr); -@@ -136,7 +136,7 @@ - } - - static inline void --__ixp4xx_writesw(u32 bus_addr, u16 *vaddr, int count) -+__ixp4xx_writesw(u32 bus_addr, const u16 *vaddr, int count) - { - while (count--) - writew(*vaddr++, bus_addr); -@@ -154,7 +154,7 @@ - } - - static inline void --__ixp4xx_writesl(u32 bus_addr, u32 *vaddr, int count) -+__ixp4xx_writesl(u32 bus_addr, const u32 *vaddr, int count) - { - while (count--) - writel(*vaddr++, bus_addr); diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/18-ixp4xx-io-h-addr.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/18-ixp4xx-io-h-addr.patch deleted file mode 100644 index 5813bbb7ac..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/18-ixp4xx-io-h-addr.patch +++ /dev/null @@ -1,287 +0,0 @@ ---- linux-2.6.14/include/asm-arm/arch-ixp4xx/io.h 2005-10-29 23:33:21.757679882 -0700 -+++ linux-2.6.14/include/asm-arm/arch-ixp4xx/io.h 2005-10-29 23:47:02.581331058 -0700 -@@ -80,9 +80,9 @@ __ixp4xx_iounmap(void __iomem *addr) - #define __arch_ioremap(a, s, f, x) __ixp4xx_ioremap(a, s, f, x) - #define __arch_iounmap(a) __ixp4xx_iounmap(a) - --#define writeb(p, v) __ixp4xx_writeb(p, v) --#define writew(p, v) __ixp4xx_writew(p, v) --#define writel(p, v) __ixp4xx_writel(p, v) -+#define writeb(v, p) __ixp4xx_writeb(v, p) -+#define writew(v, p) __ixp4xx_writew(v, p) -+#define writel(v, p) __ixp4xx_writel(v, p) - - #define writesb(p, v, l) __ixp4xx_writesb(p, v, l) - #define writesw(p, v, l) __ixp4xx_writesw(p, v, l) -@@ -97,8 +97,9 @@ __ixp4xx_iounmap(void __iomem *addr) - #define readsl(p, v, l) __ixp4xx_readsl(p, v, l) - - static inline void --__ixp4xx_writeb(u8 value, u32 addr) -+__ixp4xx_writeb(u8 value, volatile void __iomem *p) - { -+ u32 addr = (u32)p; - u32 n, byte_enables, data; - - if (addr >= VMALLOC_START) { -@@ -113,15 +114,16 @@ __ixp4xx_writeb(u8 value, u32 addr) - } - - static inline void --__ixp4xx_writesb(u32 bus_addr, const u8 *vaddr, int count) -+__ixp4xx_writesb(volatile void __iomem *bus_addr, const u8 *vaddr, int count) - { - while (count--) - writeb(*vaddr++, bus_addr); - } - - static inline void --__ixp4xx_writew(u16 value, u32 addr) -+__ixp4xx_writew(u16 value, volatile void __iomem *p) - { -+ u32 addr = (u32)p; - u32 n, byte_enables, data; - - if (addr >= VMALLOC_START) { -@@ -136,15 +138,16 @@ __ixp4xx_writew(u16 value, u32 addr) - } - - static inline void --__ixp4xx_writesw(u32 bus_addr, const u16 *vaddr, int count) -+__ixp4xx_writesw(volatile void __iomem *bus_addr, const u16 *vaddr, int count) - { - while (count--) - writew(*vaddr++, bus_addr); - } - - static inline void --__ixp4xx_writel(u32 value, u32 addr) -+__ixp4xx_writel(u32 value, volatile void __iomem *p) - { -+ u32 addr = (u32)p; - if (addr >= VMALLOC_START) { - __raw_writel(value, addr); - return; -@@ -154,15 +157,16 @@ __ixp4xx_writel(u32 value, u32 addr) - } - - static inline void --__ixp4xx_writesl(u32 bus_addr, const u32 *vaddr, int count) -+__ixp4xx_writesl(volatile void __iomem *bus_addr, const u32 *vaddr, int count) - { - while (count--) - writel(*vaddr++, bus_addr); - } - - static inline unsigned char --__ixp4xx_readb(u32 addr) -+__ixp4xx_readb(const volatile void __iomem *p) - { -+ u32 addr = (u32)p; - u32 n, byte_enables, data; - - if (addr >= VMALLOC_START) -@@ -177,15 +181,16 @@ __ixp4xx_readb(u32 addr) - } - - static inline void --__ixp4xx_readsb(u32 bus_addr, u8 *vaddr, u32 count) -+__ixp4xx_readsb(const volatile void __iomem *bus_addr, u8 *vaddr, u32 count) - { - while (count--) - *vaddr++ = readb(bus_addr); - } - - static inline unsigned short --__ixp4xx_readw(u32 addr) -+__ixp4xx_readw(const volatile void __iomem *p) - { -+ u32 addr = (u32)p; - u32 n, byte_enables, data; - - if (addr >= VMALLOC_START) -@@ -200,15 +205,16 @@ __ixp4xx_readw(u32 addr) - } - - static inline void --__ixp4xx_readsw(u32 bus_addr, u16 *vaddr, u32 count) -+__ixp4xx_readsw(const volatile void __iomem *bus_addr, u16 *vaddr, u32 count) - { - while (count--) - *vaddr++ = readw(bus_addr); - } - - static inline unsigned long --__ixp4xx_readl(u32 addr) -+__ixp4xx_readl(const volatile void __iomem *p) - { -+ u32 addr = (u32)p; - u32 data; - - if (addr >= VMALLOC_START) -@@ -221,7 +227,7 @@ __ixp4xx_readl(u32 addr) - } - - static inline void --__ixp4xx_readsl(u32 bus_addr, u32 *vaddr, u32 count) -+__ixp4xx_readsl(const volatile void __iomem *bus_addr, u32 *vaddr, u32 count) - { - while (count--) - *vaddr++ = readl(bus_addr); -@@ -239,7 +245,7 @@ __ixp4xx_readsl(u32 bus_addr, u32 *vaddr - eth_copy_and_sum((s),__mem_pci(c),(l),(b)) - - static inline int --check_signature(unsigned long bus_addr, const unsigned char *signature, -+check_signature(const unsigned char __iomem *bus_addr, const unsigned char *signature, - int length) - { - int retval = 0; -@@ -389,7 +395,7 @@ __ixp4xx_insl(u32 io_addr, u32 *vaddr, u - #define __is_io_address(p) (((unsigned long)p >= PIO_OFFSET) && \ - ((unsigned long)p <= (PIO_MASK + PIO_OFFSET))) - static inline unsigned int --__ixp4xx_ioread8(void __iomem *addr) -+__ixp4xx_ioread8(const void __iomem *addr) - { - unsigned long port = (unsigned long __force)addr; - if (__is_io_address(port)) -@@ -398,12 +404,12 @@ __ixp4xx_ioread8(void __iomem *addr) - #ifndef CONFIG_IXP4XX_INDIRECT_PCI - return (unsigned int)__raw_readb(port); - #else -- return (unsigned int)__ixp4xx_readb(port); -+ return (unsigned int)__ixp4xx_readb(addr); - #endif - } - - static inline void --__ixp4xx_ioread8_rep(void __iomem *addr, void *vaddr, u32 count) -+__ixp4xx_ioread8_rep(const void __iomem *addr, void *vaddr, u32 count) - { - unsigned long port = (unsigned long __force)addr; - if (__is_io_address(port)) -@@ -412,12 +418,12 @@ __ixp4xx_ioread8_rep(void __iomem *addr, - #ifndef CONFIG_IXP4XX_INDIRECT_PCI - __raw_readsb(addr, vaddr, count); - #else -- __ixp4xx_readsb(port, vaddr, count); -+ __ixp4xx_readsb(addr, vaddr, count); - #endif - } - - static inline unsigned int --__ixp4xx_ioread16(void __iomem *addr) -+__ixp4xx_ioread16(const void __iomem *addr) - { - unsigned long port = (unsigned long __force)addr; - if (__is_io_address(port)) -@@ -426,12 +432,12 @@ __ixp4xx_ioread16(void __iomem *addr) - #ifndef CONFIG_IXP4XX_INDIRECT_PCI - return le16_to_cpu(__raw_readw((u32)port)); - #else -- return (unsigned int)__ixp4xx_readw((u32)port); -+ return (unsigned int)__ixp4xx_readw(addr); - #endif - } - - static inline void --__ixp4xx_ioread16_rep(void __iomem *addr, void *vaddr, u32 count) -+__ixp4xx_ioread16_rep(const void __iomem *addr, void *vaddr, u32 count) - { - unsigned long port = (unsigned long __force)addr; - if (__is_io_address(port)) -@@ -440,12 +446,12 @@ __ixp4xx_ioread16_rep(void __iomem *addr - #ifndef CONFIG_IXP4XX_INDIRECT_PCI - __raw_readsw(addr, vaddr, count); - #else -- __ixp4xx_readsw(port, vaddr, count); -+ __ixp4xx_readsw(addr, vaddr, count); - #endif - } - - static inline unsigned int --__ixp4xx_ioread32(void __iomem *addr) -+__ixp4xx_ioread32(const void __iomem *addr) - { - unsigned long port = (unsigned long __force)addr; - if (__is_io_address(port)) -@@ -454,13 +460,13 @@ __ixp4xx_ioread32(void __iomem *addr) - #ifndef CONFIG_IXP4XX_INDIRECT_PCI - return le32_to_cpu(__raw_readl((u32)port)); - #else -- return (unsigned int)__ixp4xx_readl((u32)port); -+ return (unsigned int)__ixp4xx_readl(addr); - #endif - } - } - - static inline void --__ixp4xx_ioread32_rep(void __iomem *addr, void *vaddr, u32 count) -+__ixp4xx_ioread32_rep(const void __iomem *addr, void *vaddr, u32 count) - { - unsigned long port = (unsigned long __force)addr; - if (__is_io_address(port)) -@@ -469,7 +475,7 @@ __ixp4xx_ioread32_rep(void __iomem *addr - #ifndef CONFIG_IXP4XX_INDIRECT_PCI - __raw_readsl(addr, vaddr, count); - #else -- __ixp4xx_readsl(port, vaddr, count); -+ __ixp4xx_readsl(addr, vaddr, count); - #endif - } - -@@ -483,7 +489,7 @@ __ixp4xx_iowrite8(u8 value, void __iomem - #ifndef CONFIG_IXP4XX_INDIRECT_PCI - __raw_writeb(value, port); - #else -- __ixp4xx_writeb(value, port); -+ __ixp4xx_writeb(value, addr); - #endif - } - -@@ -497,7 +503,7 @@ __ixp4xx_iowrite8_rep(void __iomem *addr - #ifndef CONFIG_IXP4XX_INDIRECT_PCI - __raw_writesb(addr, vaddr, count); - #else -- __ixp4xx_writesb(port, vaddr, count); -+ __ixp4xx_writesb(addr, vaddr, count); - #endif - } - -@@ -511,7 +517,7 @@ __ixp4xx_iowrite16(u16 value, void __iom - #ifndef CONFIG_IXP4XX_INDIRECT_PCI - __raw_writew(cpu_to_le16(value), addr); - #else -- __ixp4xx_writew(value, port); -+ __ixp4xx_writew(value, addr); - #endif - } - -@@ -525,7 +531,7 @@ __ixp4xx_iowrite16_rep(void __iomem *add - #ifndef CONFIG_IXP4XX_INDIRECT_PCI - __raw_writesw(addr, vaddr, count); - #else -- __ixp4xx_writesw(port, vaddr, count); -+ __ixp4xx_writesw(addr, vaddr, count); - #endif - } - -@@ -539,7 +545,7 @@ __ixp4xx_iowrite32(u32 value, void __iom - #ifndef CONFIG_IXP4XX_INDIRECT_PCI - __raw_writel(cpu_to_le32(value), port); - #else -- __ixp4xx_writel(value, port); -+ __ixp4xx_writel(value, addr); - #endif - } - -@@ -553,7 +559,7 @@ __ixp4xx_iowrite32_rep(void __iomem *add - #ifndef CONFIG_IXP4XX_INDIRECT_PCI - __raw_writesl(addr, vaddr, count); - #else -- __ixp4xx_writesl(port, vaddr, count); -+ __ixp4xx_writesl(addr, vaddr, count); - #endif - } - diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/19-jffs2-force-be.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/19-jffs2-force-be.patch deleted file mode 100644 index 4406d17857..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/19-jffs2-force-be.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- linux-2.6.14.1/fs/jffs2/nodelist.h.orig 2005-11-09 23:12:29.641449728 -0800 -+++ linux-2.6.14.1/fs/jffs2/nodelist.h 2005-11-09 23:13:19.228570049 -0800 -@@ -44,7 +44,9 @@ - #define D2(x) - #endif - --#define JFFS2_NATIVE_ENDIAN -+#undef JFFS2_NATIVE_ENDIAN -+#define JFFS2_BIG_ENDIAN 1 -+#undef JFFS2_LITTLE_ENDIAN - - /* Note we handle mode bits conversion from JFFS2 (i.e. Linux) to/from - whatever OS we're actually running on here too. */ diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/20-timer.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/20-timer.patch deleted file mode 100644 index 3d4a03f616..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/20-timer.patch +++ /dev/null @@ -1,285 +0,0 @@ ---- linux-2.6.15/arch/arm/mach-ixp4xx/common.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.15/arch/arm/mach-ixp4xx/common.c 1970-01-01 00:00:00.000000000 +0000 -@@ -239,36 +239,165 @@ void __init ixp4xx_init_irq(void) - * IXP4xx timer tick - * We use OS timer1 on the CPU for the timer tick and the timestamp - * counter as a source of real clock ticks to account for missed jiffies. -+ * -+ * 'CLOCK_TICK_RATE' is the nominal number of internal ticks per second, -+ * this is significantly greater than the actual number on any ixp4xx -+ * board. Neither this nor 'LATCH' are required by this code because -+ * the only requirement is to generate HZ timer_tick calls per second. - *************************************************************************/ -+#if TICK_NSEC * HZ != 1000000000 -+ /* This will cause the jiffies to drift unnecessarily. */ -+# error CLOCK_TICK_RATE should be a multiple of HZ for this code -+#endif -+ -+/* These are the control registers for the interrupt handler, they must -+ * only be read and written by the interrupt handler and by the init -+ * method (which sets them to 0). -+ */ -+static volatile u32 last_timer_time; -+static volatile int accumulated_error; -+ -+/* Most ixp4xx boards have 66.6666MHz crystals, so default to this, reset -+ * this from the board level code if required. The following variables -+ * must be *written* only by set_board_tick_rate -+ */ -+static u32 board_tick_rate; -+static u32 board_tick_per_1000; /* board_tick_rate/1000 */ -+static u32 timer_count; -+ -+/* The following symbol may be written to change the current tick rate, -+ * it is read by the interrupt handler and used to reload the timer. -+ * The 'real' value (the one in use) is 'board_tick_rate' above. -+ * NOTE: this can be tweaked to match the actual crystal on a particular -+ * machine. -+ */ -+volatile u32 ixp4xx_board_tick_rate = 66666600; -+EXPORT_SYMBOL(ixp4xx_board_tick_rate); -+ -+/* The set API may run asynchronously in the presence of interrupts, -+ * everything it does it is both atomic and complete (notice that it -+ * doesn't change any of the 'volatile' values). The mathematics in -+ * here require the following values. Changing the board tick rate -+ * implies an unknown error in the current timestamp tick count. -+ */ -+#if IXP4XX_OST_RELOAD_MASK != 3 || IXP4XX_OST_ENABLE != 1 -+# error unexpected value for timer reload mask -+#endif -+static void set_board_tick_rate(u32 rate) { -+ u32 reload; -+ -+ /* Store the two effectively informational rate values, the -+ * error calculation is (rate - count*HZ) (above), and rate -+ * is changed first, this can cause a temporary error which -+ * will be corrected on the next interrupt. -+ */ -+ board_tick_rate = rate; -+ board_tick_per_1000 = (rate+500)/1000; -+ -+ /* Calculate the correct value to load into the timer countdown -+ * register, the low two bits must be b01 (to enable the timer). -+ * Select the top bits to be as close to the desired value as -+ * possible. -+ * -+ * First find the best value, regardless of the low two bits - -+ * this is the value used in the interrupt calculation even though -+ * it cannot necessarily be set into the register. -+ */ -+ timer_count = (rate + (HZ/2))/HZ; -+ -+ /* Now the timer_ticks are being generated at this rate, calculate -+ * an appropriate value for the register. This stores a 30 bit -+ * value which gives a period of 4*x+1, we want: -+ * -+ * 4*x+1 = board_tick_rate/HZ -+ * -+ * This needs to be rounded to the closest 4*HZ value: -+ * -+ * x = ((board_tick_rate-HZ) + (4*HZ)/2) / 4*HZ -+ * x = (board_tick_rate+HZ) / (4*HZ); -+ */ -+ reload = (board_tick_rate + HZ) / HZ; -+ reload = (reload & ~IXP4XX_OST_RELOAD_MASK) | IXP4XX_OST_ENABLE; -+ *IXP4XX_OSRT1 = reload; - --static unsigned volatile last_jiffy_time; -+ /* If the clock is drifing, look in syslog: */ -+ printk(KERN_INFO "IXP4xx: FREQ=%d COUNT=%d\n", rate, reload); -+} - --#define CLOCK_TICKS_PER_USEC ((CLOCK_TICK_RATE + USEC_PER_SEC/2) / USEC_PER_SEC) -+/* This returns the time in timer ticks since the 'last_timer_time' -+ * recorded above. Use this to avoid arithmetic errors because of -+ * the overflow when the timer wraps. -+ */ -+static inline u32 ixp4xx_timer_delta(void) -+{ -+ return *IXP4XX_OSTS - last_timer_time; -+} - - /* IRQs are disabled before entering here from do_gettimeofday() */ - static unsigned long ixp4xx_gettimeoffset(void) - { -- u32 elapsed; -- -- elapsed = *IXP4XX_OSTS - last_jiffy_time; -+ /* Return the offset of the current time from the last time -+ * timer tick in microseconds. This is only used for the -+ * gettimeofday call. -+ * -+ * The result of this API is at most about 20000 (for a 50Hz -+ * HZ - 20000 uS/tick), the input delta is at most about -+ * 1.3M - 21 bits. -+ */ -+ u32 delta = ixp4xx_timer_delta(); /* About 21 bits max */ -+ /* return delta * 1000000 / board_tick_rate; */ -+ return (delta * 1000 + board_tick_per_1000/2) / board_tick_per_1000; -+} - -- return elapsed / CLOCK_TICKS_PER_USEC; -+/* This is the correct adjustment to the counter to compensate for an -+ * error iff timer_count-1 <= exact_count <= timer_count+1 -+ */ -+static inline int adjustment(int error) { -+ if (error >= HZ) -+ return 1; -+ else if (error <= -HZ) -+ return -1; -+ return 0; - } - - static irqreturn_t ixp4xx_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) - { -+ u32 rate; -+ u32 count; -+ int error; -+ - write_seqlock(&xtime_lock); - - /* Clear Pending Interrupt by writing '1' to it */ - *IXP4XX_OSST = IXP4XX_OSST_TIMER_1_PEND; - -+ /* If the board tick rate has been changed update the cached -+ * value. -+ */ -+ if (ixp4xx_board_tick_rate != board_tick_rate) { -+ set_board_tick_rate(ixp4xx_board_tick_rate); -+ accumulated_error = 0; -+ } -+ - /* - * Catch up with the real idea of time -+ * -+ * board_tick_rate: actual ixp4xx ticks/second, read-only -+ * accumulated_error: aggregate error/tick * HZ, read/write -+ * timer_count: best ixp4xx ticks per timer_tick, read-only - */ -- while ((*IXP4XX_OSTS - last_jiffy_time) > LATCH) { -+ rate = board_tick_rate; -+ error = accumulated_error; -+ count = timer_count; -+ do { -+ u32 adjusted_count = count + adjustment(error); -+ if (ixp4xx_timer_delta() < adjusted_count) -+ break; - timer_tick(regs); -- last_jiffy_time += LATCH; -- } -+ last_timer_time += adjusted_count; -+ error += rate - adjusted_count*HZ; -+ } while (1); -+ accumulated_error = error; - - write_sequnlock(&xtime_lock); - -@@ -281,17 +410,30 @@ static struct irqaction ixp4xx_timer_irq - .handler = ixp4xx_timer_interrupt, - }; - -+u32 ixp4xx_get_board_tick_rate(void) { -+ return board_tick_rate; -+} -+ -+EXPORT_SYMBOL(ixp4xx_get_board_tick_rate); -+ -+void ixp4xx_set_board_tick_rate(u32 rate) { -+ ixp4xx_board_tick_rate = rate; -+} -+ -+EXPORT_SYMBOL(ixp4xx_set_board_tick_rate); -+ - static void __init ixp4xx_timer_init(void) - { - /* Clear Pending Interrupt by writing '1' to it */ - *IXP4XX_OSST = IXP4XX_OSST_TIMER_1_PEND; - - /* Setup the Timer counter value */ -- *IXP4XX_OSRT1 = (LATCH & ~IXP4XX_OST_RELOAD_MASK) | IXP4XX_OST_ENABLE; -+ set_board_tick_rate(ixp4xx_board_tick_rate); - - /* Reset time-stamp counter */ - *IXP4XX_OSTS = 0; -- last_jiffy_time = 0; -+ last_timer_time = 0; -+ accumulated_error = 0; - - /* Connect the interrupt handler and enable the interrupt */ - setup_irq(IRQ_IXP4XX_TIMER1, &ixp4xx_timer_irq); -@@ -337,4 +479,3 @@ void __init ixp4xx_sys_init(void) - ARRAY_SIZE(ixp46x_devices)); - } - } -- ---- 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) - - static void __init nslu2_init(void) - { -+ /* The NSLU2 has a 33MHz crystal on board - 1.01% different -+ * from the typical value. -+ */ -+ ixp4xx_set_board_tick_rate(66000000); -+ - ixp4xx_sys_init(); - - pm_power_off = nslu2_power_off; ---- linux-2.6.15/drivers/input/misc/nslu2spkr.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.15/drivers/input/misc/nslu2spkr.c 1970-01-01 00:00:00.000000000 +0000 -@@ -51,7 +51,7 @@ static int nslu2_spkr_event(struct input - } - - if (value > 20 && value < 32767) -- count = (NSLU2_FREQ / (value*4)) - 1; -+ count = (ixp4xx_get_board_tick_rate() / (value*4)) - 1; - - spin_lock_irqsave(&beep_lock, flags); - ---- linux-2.6.15/include/asm-arm/arch-ixp4xx/nslu2.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.15/include/asm-arm/arch-ixp4xx/nslu2.h 1970-01-01 00:00:00.000000000 +0000 -@@ -38,11 +38,6 @@ - #define NSLU2_PCI_INTD_PIN 8 - - --/* NSLU2 Timer */ --#define NSLU2_FREQ 66000000 --#define NSLU2_CLOCK_TICK_RATE (((NSLU2_FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ) --#define NSLU2_CLOCK_TICKS_PER_USEC ((NSLU2_CLOCK_TICK_RATE + USEC_PER_SEC/2) / USEC_PER_SEC) -- - /* GPIO */ - - #define NSLU2_GPIO0 0 ---- linux-2.6.15/include/asm-arm/arch-ixp4xx/timex.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.15/include/asm-arm/arch-ixp4xx/timex.h 1970-01-01 00:00:00.000000000 +0000 -@@ -6,10 +6,23 @@ - #include <asm/hardware.h> - - /* -- * We use IXP425 General purpose timer for our timer needs, it runs at -- * 66.66... MHz. We do a convulted calculation of CLOCK_TICK_RATE b/c the -- * timer register ignores the bottom 2 bits of the LATCH value. -+ * In linux/timex.h 'LATCH' is defined as CLOCK_TICK_RATE/HZ and -+ * is the number of internal counts per timer interrupt. Thus -+ * CLOCK_TICK_RATE is LATCH*HZ. -+ * -+ * The actual values of these numbers do not matter, because they -+ * are only used to calculate ACTHZ (rate/latch as a 24.8 fixed -+ * point number), so the value here gives a LATCH of 1 and pretty -+ * much guarantees to flush out any off-by-one errors. -+ * -+ * ACTHZ is equal to HZ, because CLOCK_TICK_RATE is a multiple of -+ * HZ, this is checked in the ixp4xx/common.c code. - */ --#define FREQ 66666666 --#define CLOCK_TICK_RATE (((FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ) -+#define CLOCK_TICK_RATE HZ - -+/* The following allow the exact board tick rate to be set and -+ * discovered. The value should be exactly twice the frequency -+ * (in Hz) of the onboard crystal. -+ */ -+extern u32 ixp4xx_get_board_tick_rate(void); -+extern void ixp4xx_set_board_tick_rate(u32 new_rate); diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/28-spinlock-up.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/28-spinlock-up.patch deleted file mode 100644 index 3ae5178cff..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/28-spinlock-up.patch +++ /dev/null @@ -1,32 +0,0 @@ ---- linux-2.6.14-rc5/include/linux/spinlock_up.h 2005-10-26 08:37:20.164248408 -0700 -+++ patched/include/linux/spinlock_up.h 2005-10-26 12:15:13.458898975 -0700 -@@ -47,6 +47,14 @@ static inline void __raw_spin_unlock(raw - lock->slock = 1; - } - -+#else /* DEBUG_SPINLOCK */ -+#define __raw_spin_is_locked(lock) ((void)(lock), 0) -+/* for sched.c and kernel_lock.c: */ -+# define __raw_spin_lock(lock) do { (void)(lock); } while (0) -+# define __raw_spin_unlock(lock) do { (void)(lock); } while (0) -+# define __raw_spin_trylock(lock) ({ (void)(lock); 1; }) -+#endif /* DEBUG_SPINLOCK */ -+ - /* - * Read-write spinlocks. No debug version. - */ -@@ -57,14 +65,6 @@ static inline void __raw_spin_unlock(raw - #define __raw_read_unlock(lock) do { (void)(lock); } while (0) - #define __raw_write_unlock(lock) do { (void)(lock); } while (0) - --#else /* DEBUG_SPINLOCK */ --#define __raw_spin_is_locked(lock) ((void)(lock), 0) --/* for sched.c and kernel_lock.c: */ --# define __raw_spin_lock(lock) do { (void)(lock); } while (0) --# define __raw_spin_unlock(lock) do { (void)(lock); } while (0) --# define __raw_spin_trylock(lock) ({ (void)(lock); 1; }) --#endif /* DEBUG_SPINLOCK */ -- - #define __raw_read_can_lock(lock) (((void)(lock), 1)) - #define __raw_write_can_lock(lock) (((void)(lock), 1)) - diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/29-ipv4-route-c-spinlock.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/29-ipv4-route-c-spinlock.patch deleted file mode 100644 index 93e070518c..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/29-ipv4-route-c-spinlock.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- linux-2.6.14-rc5/net/ipv4/route.c 2005-10-26 08:37:20.752285410 -0700 -+++ patched/net/ipv4/route.c 2005-10-26 12:17:00.761651111 -0700 -@@ -231,7 +231,7 @@ static spinlock_t *rt_hash_locks; - spin_lock_init(&rt_hash_locks[i]); \ - } - #else --# define rt_hash_lock_addr(slot) NULL -+# define rt_hash_lock_addr(slot) ((spinlock_t*)NULL) - # define rt_hash_lock_init() - #endif - diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/30-i2c-x1205.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/30-i2c-x1205.patch deleted file mode 100644 index 1e775ba8b8..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/30-i2c-x1205.patch +++ /dev/null @@ -1,714 +0,0 @@ -diff -urN linux-2.6.14-rc3/drivers/i2c/chips/Kconfig test9/drivers/i2c/chips/Kconfig ---- linux-2.6.14-rc3/drivers/i2c/chips/Kconfig 2005-10-01 13:46:50.000000000 +0200 -+++ test9/drivers/i2c/chips/Kconfig 2005-10-03 16:10:22.000000000 +0200 -@@ -126,4 +126,13 @@ - This driver can also be built as a module. If so, the module - will be called max6875. - -+config SENSORS_X1205 -+ tristate "Xicor X1205 RTC chip" -+ depends on I2C -+ help -+ If you say yes here you get support for the Xicor X1205 RTC chip. -+ -+ This driver can also be built as a module. If so, the module -+ will be called x1205 -+ - endmenu -diff -urN linux-2.6.14-rc3/drivers/i2c/chips/Makefile test9/drivers/i2c/chips/Makefile ---- linux-2.6.14-rc3/drivers/i2c/chips/Makefile 2005-09-17 12:42:33.000000000 +0200 -+++ test9/drivers/i2c/chips/Makefile 2005-10-01 15:30:06.000000000 +0200 -@@ -13,6 +13,7 @@ - obj-$(CONFIG_SENSORS_RTC8564) += rtc8564.o - obj-$(CONFIG_ISP1301_OMAP) += isp1301_omap.o - obj-$(CONFIG_TPS65010) += tps65010.o -+obj-$(CONFIG_SENSORS_X1205) += x1205.o - - ifeq ($(CONFIG_I2C_DEBUG_CHIP),y) - EXTRA_CFLAGS += -DDEBUG -diff -urN linux-2.6.14-rc3/drivers/i2c/chips/x1205.c test9/drivers/i2c/chips/x1205.c ---- linux-2.6.14-rc3/drivers/i2c/chips/x1205.c 1970-01-01 01:00:00.000000000 +0100 -+++ test9/drivers/i2c/chips/x1205.c 2005-10-03 16:02:57.000000000 +0200 -@@ -0,0 +1,612 @@ -+/* -+ * linux/drivers/i2c/chips/x1205.c -+ * -+ * x1205.c - An 12c driver for the Xicor X1205 RTC -+ * Copyright 2004 Karen Spearel -+ * Copyright 2005 Alessandro Zummo -+ * -+ * please send all reports to: -+ * kas11 at tampabay dot rr dot com -+ * a dot zummo at towertech dot it -+ * -+ * based on the other drivers in this same directory. -+ * -+ * 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/module.h> -+#include <linux/init.h> -+#include <linux/slab.h> -+#include <linux/i2c.h> -+#include <linux/string.h> -+#include <linux/bcd.h> -+#include <linux/rtc.h> -+#include <linux/list.h> -+ -+#include <linux/x1205.h> -+ -+#define EPOCH_1900 1900 -+#define EPOCH_1970 1970 -+ -+#define DRIVER_VERSION "0.9.6" -+#define DRIVER_NAME (x1205_driver.name) -+ -+ -+/* Addresses to scan */ -+static unsigned short normal_i2c[] = { X1205_I2C_BUS_ADDR, I2C_CLIENT_END }; -+ -+/* Insmod parameters */ -+I2C_CLIENT_INSMOD; -+I2C_CLIENT_MODULE_PARM(hctosys, -+ "Set the system time from the hardware clock upon initialization"); -+ -+/* Prototypes */ -+ -+static int x1205_attach(struct i2c_adapter *adapter); -+static int x1205_detach(struct i2c_client *client); -+static int x1205_probe(struct i2c_adapter *adapter, int address, int kind); -+static int x1205_validate_client(struct i2c_client *client); -+ -+static int x1205_get_datetime(struct i2c_client *client, struct rtc_time *tm, -+ u8 reg_base); -+static int x1205_set_datetime(struct i2c_client *client, struct rtc_time *tm, -+ int datetoo, u8 reg_base); -+static int x1205_validate_tm(struct rtc_time *tm); -+static int x1205_command(struct i2c_client *client, unsigned int cmd, void *arg); -+static int x1205_hctosys(struct i2c_client *client); -+ -+ -+static struct i2c_driver x1205_driver = { -+ .owner = THIS_MODULE, -+ .name = "x1205", -+ .flags = I2C_DF_NOTIFY, -+ .attach_adapter = &x1205_attach, -+ .detach_client = &x1205_detach, -+/* .command = &x1205_command,*/ -+}; -+ -+struct x1205_data { -+ struct i2c_client client; -+ struct list_head list; -+ unsigned int epoch; -+}; -+ -+ -+static const unsigned char days_in_mo[] = -+{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; -+ -+static LIST_HEAD(x1205_clients); -+ -+/* Workaround until the I2C subsytem will allow to send -+ * commands to a specific client. This function will send the command -+ * to the first client. -+ */ -+ -+int x1205_do_command(unsigned int cmd, void *arg) -+{ -+ struct list_head *walk; -+ struct list_head *tmp; -+ struct x1205_data *data; -+ -+ list_for_each_safe(walk, tmp, &x1205_clients) { -+ data = list_entry(walk, struct x1205_data, list); -+ return x1205_command(&data->client, cmd, arg); -+ } -+ -+ return -ENODEV; -+} -+ -+ -+/* -+ * in the routines that deal directly with the x1205 hardware, we use -+ * rtc_time -- month 0-11, hour 0-23, yr = calendar year-epoch -+ * Epoch is inited as 2000. Time is set to UT -+ */ -+ -+static int x1205_get_datetime(struct i2c_client *client, struct rtc_time *tm, -+ u8 reg_base) -+{ -+ static unsigned char dt_addr[] = { 0, }; -+ static unsigned char sr_addr[] = { 0, }; -+ -+ unsigned char buf[8], sr; -+ -+ struct i2c_msg msgs[] = { -+ { client->addr, 0, 2, sr_addr }, /* random read */ -+ { client->addr, I2C_M_RD, 1, &sr }, -+ { client->addr, 0, 2, dt_addr }, /* random read */ -+ { client->addr, I2C_M_RD, 8, buf }, -+ }; -+ -+ struct x1205_data *xdata = i2c_get_clientdata(client); -+ -+ dt_addr[1] = reg_base; -+ sr_addr[1] = X1205_REG_SR; -+ -+ if ((i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs))) == -+ ARRAY_SIZE(msgs)) { -+ /* did we read the correct number of messages? */ -+ -+ /* check for battery failure */ -+ if (sr & X1205_SR_RTCF) -+ { -+ dev_info(&client->adapter->dev, -+ "%s: Clock had a power failure, you must set the date.\n", -+ DRIVER_NAME); -+ -+ return -EINVAL; -+ } -+ -+ dev_dbg(&client->dev, -+ "%s: raw read data - sec-%02x min-%02x hr-%02x" -+ " mday-%02x mon-%02x year-%02x wday-%02x y2k-%02x\n", -+ __FUNCTION__, -+ buf[0], buf[1], buf[2], buf[3], -+ buf[4], buf[5], buf[6], buf[7]); -+ -+ tm->tm_sec = BCD2BIN(buf[CCR_SEC]); -+ tm->tm_min = BCD2BIN(buf[CCR_MIN]); -+ buf[CCR_HOUR] &= ~X1205_HR_MIL; -+ tm->tm_hour = BCD2BIN(buf[CCR_HOUR]); /* hr is 0-23 */ -+ tm->tm_mday = BCD2BIN(buf[CCR_MDAY]); -+ tm->tm_mon = BCD2BIN(buf[CCR_MONTH]); -+ xdata->epoch = BCD2BIN(buf[CCR_Y2K]) * 100; -+ tm->tm_year = BCD2BIN(buf[CCR_YEAR]) + xdata->epoch - EPOCH_1900; -+ tm->tm_wday = buf[CCR_WDAY]; -+ -+ dev_dbg(&client->dev, "%s: tm is secs=%d, mins=%d, hours=%d, " -+ "mday=%d, mon=%d, year=%d, wday=%d\n", -+ __FUNCTION__, -+ tm->tm_sec, tm->tm_min, tm->tm_hour, -+ tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday); -+ -+ } else { -+ dev_dbg(&client->dev, "%s: read error\n", __FUNCTION__); -+ return -EIO; -+ } -+ -+ return 0; -+} -+ -+ -+static int x1205_set_datetime(struct i2c_client *client, struct rtc_time *tm, -+ int datetoo, u8 reg_base) -+{ -+ int i, err, xfer; -+ -+ static unsigned char wel[3] = { 0, X1205_REG_SR, -+ X1205_SR_WEL }; -+ -+ -+ static unsigned char rwel[3] = { 0, X1205_REG_SR, -+ X1205_SR_WEL | X1205_SR_RWEL }; -+ -+ static unsigned char diswe[3] = { 0, X1205_REG_SR, 0 }; -+ -+ static unsigned char data[3] = { 0, }; -+ static unsigned char buf[8]; -+ -+ struct x1205_data *xdata = i2c_get_clientdata(client); -+ -+ if ((err = x1205_validate_tm(tm)) < 0) -+ return err; -+ -+ dev_dbg(&client->dev, "%s: secs=%d, mins=%d, hours=%d, " -+ "mday=%d, mon=%d, year=%d, wday=%d\n", -+ __FUNCTION__, -+ tm->tm_sec, tm->tm_min, tm->tm_hour, -+ tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday); -+ -+ -+ buf[CCR_SEC] = BIN2BCD(tm->tm_sec); -+ buf[CCR_MIN] = BIN2BCD(tm->tm_min); -+ -+ /* Set 24HR format */ -+ buf[CCR_HOUR] = BIN2BCD(tm->tm_hour) | X1205_HR_MIL; -+ -+ if (datetoo == X1205_DATETOO) { -+ buf[CCR_MDAY] = BIN2BCD(tm->tm_mday); -+ -+ /* month, 0 - 11 */ -+ buf[CCR_MONTH] = BIN2BCD(tm->tm_mon); /* input is 0-11 */ -+ -+ /* year, since 1900 */ -+ buf[CCR_YEAR] = BIN2BCD((tm->tm_year + EPOCH_1900 - xdata->epoch)); -+ buf[CCR_WDAY] = tm->tm_wday & 7; -+ buf[CCR_Y2K] = BIN2BCD(xdata->epoch / 100); -+ } -+ -+ xfer = i2c_master_send(client, wel, 3); -+ dev_dbg(&client->dev, "%s: wen - %x\n", __FUNCTION__, xfer); -+ if (xfer != 3) -+ return -EIO; -+ -+ xfer = i2c_master_send(client, rwel, 3); -+ dev_dbg(&client->dev, "%s: wenb - %x\n", __FUNCTION__, xfer); -+ if (xfer != 3) -+ return -EIO; -+ -+ for (i = 0; i < 8; i++) { -+ data[1] = i + reg_base; -+ data[2] = buf[i]; -+ xfer = i2c_master_send(client, data, 3); -+ -+ dev_dbg(&client->dev, "%s: xfer %d addr, %02x, data %02x\n", -+ __FUNCTION__, -+ xfer, data[1], data[2]); -+ -+ if (xfer != 3) -+ return -EIO; -+ }; -+ -+ xfer = i2c_master_send(client, diswe, 3); -+ dev_dbg(&client->dev, "%s: wdis - %x\n", __FUNCTION__, xfer); -+ if (xfer != 3) -+ return -EIO; -+ -+ return 0; -+} -+ -+static int x1205_hctosys(struct i2c_client *client) -+{ -+ int err; -+ -+ struct rtc_time tm; -+ struct timespec tv; -+ -+ -+ err = x1205_command(client, X1205_CMD_GETDATETIME, &tm); -+ -+ if (err) -+ { -+ dev_info(&client->adapter->dev, -+ "%s: Unable to set the system clock\n", -+ DRIVER_NAME); -+ -+ return err; -+ -+ } -+ -+ /* IMPORTANT: the RTC only stores whole seconds. It is arbitrary whether -+ * it stores the most close value or the value with partial seconds -+ * truncated, however it is important for x1205_sync_rtc that it be -+ * defined to store the truncated value. This is because otherwise it -+ * is necessary to read both xtime.tv_sec and xtime.tv_nsec in the -+ * sync function, and atomic reads of >32bits on ARM are not possible. -+ * So storing the most close value would slow down the sync API. So -+ * Here we have the truncated value and the best guess is to add 0.5s -+ */ -+ -+ tv.tv_nsec = NSEC_PER_SEC >> 1; -+ -+ /* WARNING: this is not the C library 'mktime' call, it is a built in -+ * inline function from include/linux/time.h. It expects (requires) -+ * the month to be in the range 1-12 -+ */ -+ -+ tv.tv_sec = mktime(tm.tm_year + EPOCH_1900, tm.tm_mon + 1, -+ tm.tm_mday, tm.tm_hour, -+ tm.tm_min, tm.tm_sec); -+ -+ do_settimeofday(&tv); -+ -+ dev_info(&client->adapter->dev, -+ "%s: Setting the system clock to %d-%d-%d %d:%d:%d\n", -+ DRIVER_NAME, -+ tm.tm_year + EPOCH_1900, tm.tm_mon + 1, -+ tm.tm_mday, tm.tm_hour, tm.tm_min, -+ tm.tm_sec); -+ -+ return 0; -+} -+ -+struct x1205_limit -+{ -+ unsigned char reg; -+ unsigned char mask; -+ unsigned char min; -+ unsigned char max; -+}; -+ -+static int x1205_validate_client(struct i2c_client *client) -+{ -+ int i, xfer; -+ -+ /* Probe array. We will read the register at the specified -+ * address and check if the given bits are zero. -+ */ -+ -+ const unsigned char probe_zero_pattern[] = { -+ -+ X1205_REG_SR, 0x18, -+ X1205_REG_Y2K, 0xC6, -+ X1205_REG_DW, 0xF8, -+ X1205_REG_MO, 0xE0, -+ X1205_REG_DT, 0xC0, -+ X1205_REG_HR, 0x40, -+ X1205_REG_MN, 0x80, -+ X1205_REG_SC, 0x80, -+ X1205_REG_DTR, 0xF8, -+ X1205_REG_ATR, 0xC0, -+ X1205_REG_INT, 0x18, -+ X1205_REG_0, 0xFF, -+ X1205_REG_Y2K1, 0xC6, -+ X1205_REG_DWA1, 0x78, -+ X1205_REG_MOA1, 0x60, -+ X1205_REG_DTA1, 0x40, -+ X1205_REG_HRA1, 0x40, -+ X1205_REG_Y2K0, 0xC6, -+ X1205_REG_DWA0, 0x78, -+ X1205_REG_MOA0, 0x60, -+ X1205_REG_DTA0, 0x40, -+ X1205_REG_HRA0, 0x40, -+ }; -+ -+ const struct x1205_limit probe_limits_pattern[] = { -+ /* register, mask, min, max */ -+ { X1205_REG_Y2K, 0xFF, 19, 20 }, -+ { X1205_REG_DW, 0xFF, 0, 6 }, -+ { X1205_REG_YR, 0xFF, 0, 99 }, -+ { X1205_REG_MO, 0xFF, 0, 12 }, -+ { X1205_REG_DT, 0xFF, 0, 31 }, -+ { X1205_REG_HR, 0x7F, 0, 23 }, -+ { X1205_REG_MN, 0xFF, 0, 59 }, -+ { X1205_REG_SC, 0xFF, 0, 59 }, -+ { X1205_REG_Y2K1, 0xFF, 19, 20 }, -+ { X1205_REG_DWA1, 0x7F, 0, 6 }, -+ { X1205_REG_MOA1, 0x7F, 0, 12 }, -+ { X1205_REG_DTA1, 0x7F, 0, 31 }, -+ { X1205_REG_HRA1, 0x7F, 0, 23 }, -+ { X1205_REG_MNA1, 0x7F, 0, 59 }, -+ { X1205_REG_SCA1, 0x7F, 0, 59 }, -+ { X1205_REG_Y2K0, 0xFF, 19, 20 }, -+ { X1205_REG_DWA0, 0x7F, 0, 6 }, -+ { X1205_REG_MOA0, 0x7F, 0, 12 }, -+ { X1205_REG_DTA0, 0x7F, 0, 31 }, -+ { X1205_REG_HRA0, 0x7F, 0, 23 }, -+ { X1205_REG_MNA0, 0x7F, 0, 59 }, -+ { X1205_REG_SCA0, 0x7F, 0, 59 }, -+ }; -+ -+ /* check that registers have bits a 0 where expected */ -+ -+ for (i = 0; i < ARRAY_SIZE(probe_zero_pattern); i += 2) -+ { -+ unsigned char buf; -+ -+ static unsigned char addr[2]; -+ -+ struct i2c_msg msgs[2] = { -+ { client->addr, 0, 2, addr }, /* random read */ -+ { client->addr, I2C_M_RD, 1, &buf }, -+ }; -+ -+ addr[0] = 0x00; -+ addr[1] = probe_zero_pattern[i]; -+ -+ xfer = i2c_transfer(client->adapter, msgs, 2); -+ -+ if (xfer != 2) { -+ dev_dbg(&client->adapter->dev, -+ "%s: could not read register %x\n", -+ __FUNCTION__, addr[1]); -+ -+ return -EIO; -+ } -+ -+ if ((buf & probe_zero_pattern[i+1]) != 0) { -+ dev_dbg(&client->adapter->dev, -+ "%s: register %x, zero pattern %d: %x\n", -+ __FUNCTION__, addr[1], i, buf); -+ -+ return -ENODEV; -+ } -+ } -+ -+ /* check limits */ -+ -+ for (i = 0; i < ARRAY_SIZE(probe_limits_pattern); i++) -+ { -+ unsigned char buf, val; -+ -+ static unsigned char addr[2]; -+ -+ struct i2c_msg msgs[2] = { -+ { client->addr, 0, 2, addr }, /* random read */ -+ { client->addr, I2C_M_RD, 1, &buf }, -+ }; -+ -+ addr[0] = 0x00; -+ addr[1] = probe_limits_pattern[i].reg; -+ -+ xfer = i2c_transfer(client->adapter, msgs, 2); -+ -+ if (xfer != 2) { -+ dev_dbg(&client->adapter->dev, -+ "%s: could not read register %x\n", -+ __FUNCTION__, addr[1]); -+ -+ return -EIO; -+ } -+ -+ val = BCD2BIN(buf & probe_limits_pattern[i].mask); -+ -+ if (val > probe_limits_pattern[i].max || -+ val < probe_limits_pattern[i].min) { -+ dev_dbg(&client->adapter->dev, -+ "%s: register %x, lim pattern %d: %d\n", -+ __FUNCTION__, addr[1], i, val); -+ -+ return -ENODEV; -+ } -+ } -+ -+ return 0; -+} -+ -+static int x1205_attach(struct i2c_adapter *adapter) -+{ -+ dev_dbg(&adapter->dev, "%s\n", __FUNCTION__); -+ -+ return i2c_probe(adapter, &addr_data, x1205_probe); -+} -+ -+static int x1205_probe(struct i2c_adapter *adapter, int address, int kind) -+{ -+ struct i2c_client *new_client; -+ struct x1205_data *xdata; -+ -+ int err = 0; -+ -+ dev_dbg(&adapter->dev, "%s\n", __FUNCTION__); -+ -+ if (!(xdata = kmalloc(sizeof(struct x1205_data), GFP_KERNEL))) { -+ err = -ENOMEM; -+ goto exit; -+ } -+ -+ /* Fill our data structure */ -+ -+ memset(xdata, 0, sizeof(struct x1205_data)); -+ -+ xdata->epoch = 2000; -+ -+ -+ /* Prepare i2c_client structure */ -+ -+ new_client = &xdata->client; -+ i2c_set_clientdata(new_client, xdata); -+ new_client->addr = address; -+ new_client->adapter = adapter; -+ new_client->driver = &x1205_driver; -+ new_client->flags = 0; -+ -+ strlcpy(new_client->name, "x1205", I2C_NAME_SIZE); -+ -+ -+ /* Verify the chip is really an X1205 */ -+ -+ if (kind < 0) -+ { -+ if (x1205_validate_client(new_client) < 0) { -+ err = -ENODEV; -+ goto exit_kfree; -+ } -+ } -+ -+ /* Inform the i2c layer */ -+ if ((err = i2c_attach_client(new_client))) -+ goto exit_kfree; -+ -+ list_add(&xdata->list, &x1205_clients); -+ -+ dev_info(&adapter->dev, "%s: Chip found, driver " DRIVER_VERSION "\n", -+ DRIVER_NAME); -+ -+ /* If requested, se the system time */ -+ if (hctosys) -+ x1205_hctosys(new_client); -+ -+ return 0; -+ -+exit_kfree: -+ kfree(xdata); -+ -+exit: -+ return err; -+} -+ -+static int x1205_detach(struct i2c_client *client) -+{ -+ int err; -+ struct x1205_data *data = i2c_get_clientdata(client); -+ -+ dev_dbg(&client->dev, "%s\n", __FUNCTION__); -+ -+ if ((err = i2c_detach_client(client))) -+ return err; -+ -+ list_del(&data->list); -+ kfree(data); -+ return 0; -+} -+ -+/* make sure the rtc_time values are in bounds */ -+static int x1205_validate_tm(struct rtc_time *tm) -+{ -+ tm->tm_year += 1900; -+ -+ if (tm->tm_year < EPOCH_1970) -+ return -EINVAL; -+ -+ if ((tm->tm_mon > 11) || (tm->tm_mday == 0)) -+ return -EINVAL; -+ -+ if (tm->tm_mday > (days_in_mo[tm->tm_mon] + ( (tm->tm_mon == 1) && -+ ((!(tm->tm_year % 4) && (tm->tm_year % 100) ) || !(tm->tm_year % 400))))) -+ return -EINVAL; -+ -+ if ((tm->tm_year -= EPOCH_1900) > 255) -+ return -EINVAL; -+ -+ if ((tm->tm_hour >= 24) || (tm->tm_min >= 60) || (tm->tm_sec >= 60)) -+ return -EINVAL; -+ -+ return 0; -+} -+ -+static int x1205_command(struct i2c_client *client, unsigned int cmd, void *tm) -+{ -+ if (client == NULL || tm == NULL) -+ return -EINVAL; -+ -+ if (!capable(CAP_SYS_TIME)) -+ return -EACCES; -+ -+ dev_dbg(&client->dev, "%s: cmd=%d\n", __FUNCTION__, cmd); -+ -+ switch (cmd) { -+ case X1205_CMD_GETDATETIME: -+ return x1205_get_datetime(client, tm, X1205_CCR_BASE); -+ -+ case X1205_CMD_SETTIME: -+ return x1205_set_datetime(client, tm, X1205_NODATE, X1205_CCR_BASE); -+ -+ case X1205_CMD_SETDATETIME: -+ return x1205_set_datetime(client, tm, X1205_DATETOO, X1205_CCR_BASE); -+ -+ case X1205_CMD_GETALARM: -+ return x1205_get_datetime(client, tm, X1205_ALM0_BASE); -+ -+ case X1205_CMD_SETALARM: -+ return x1205_set_datetime(client, tm, X1205_DATETOO, X1205_ALM0_BASE); -+ -+ default: -+ return -EINVAL; -+ } -+} -+ -+ -+static int __init x1205_init(void) -+{ -+ return i2c_add_driver(&x1205_driver); -+} -+ -+static void __exit x1205_exit(void) -+{ -+ i2c_del_driver(&x1205_driver); -+} -+ -+MODULE_AUTHOR( -+ "Karen Spearel <kas11@tampabay.rr.com>, " -+ "Alessandro Zummo <a.zummo@towertech.it>"); -+MODULE_DESCRIPTION("Xicor X1205 RTC driver"); -+MODULE_LICENSE("GPL"); -+ -+EXPORT_SYMBOL_GPL(x1205_do_command); -+ -+module_init(x1205_init); -+module_exit(x1205_exit); ---- linux-2.6.14-rc3/include/linux/x1205.h 1970-01-01 01:00:00.000000000 +0100 -+++ test9/include/linux/x1205.h 2005-10-03 15:38:21.000000000 +0200 -@@ -0,0 +1,67 @@ -+ -+/* commands */ -+ -+#define X1205_CMD_GETDATETIME 0 -+#define X1205_CMD_SETTIME 1 -+#define X1205_CMD_SETDATETIME 2 -+#define X1205_CMD_GETALARM 3 -+#define X1205_CMD_SETALARM 4 -+ -+/* flags */ -+ -+#define X1205_NODATE 0 -+#define X1205_DATETOO 1 -+ -+/* offsets into read buf - add 2 for write buf */ -+ -+#define CCR_SEC 0 -+#define CCR_MIN 1 -+#define CCR_HOUR 2 -+#define CCR_MDAY 3 -+#define CCR_MONTH 4 -+#define CCR_YEAR 5 -+#define CCR_WDAY 6 -+#define CCR_Y2K 7 -+ -+#define X1205_REG_SR 0x3F /* status register */ -+#define X1205_REG_Y2K 0x37 -+#define X1205_REG_DW 0x36 -+#define X1205_REG_YR 0x35 -+#define X1205_REG_MO 0x34 -+#define X1205_REG_DT 0x33 -+#define X1205_REG_HR 0x32 -+#define X1205_REG_MN 0x31 -+#define X1205_REG_SC 0x30 -+#define X1205_REG_DTR 0x13 -+#define X1205_REG_ATR 0x12 -+#define X1205_REG_INT 0x11 -+#define X1205_REG_0 0x10 -+#define X1205_REG_Y2K1 0x0F -+#define X1205_REG_DWA1 0x0E -+#define X1205_REG_YRA1 0x0D -+#define X1205_REG_MOA1 0x0C -+#define X1205_REG_DTA1 0x0B -+#define X1205_REG_HRA1 0x0A -+#define X1205_REG_MNA1 0x09 -+#define X1205_REG_SCA1 0x08 -+#define X1205_REG_Y2K0 0x07 -+#define X1205_REG_DWA0 0x06 -+#define X1205_REG_YRA0 0x05 -+#define X1205_REG_MOA0 0x04 -+#define X1205_REG_DTA0 0x03 -+#define X1205_REG_HRA0 0x02 -+#define X1205_REG_MNA0 0x01 -+#define X1205_REG_SCA0 0x00 -+ -+#define X1205_I2C_BUS_ADDR 0x6f /* hardwired into x1205 */ -+#define X1205_CCR_BASE 0x30 /* Base address of CCR */ -+#define X1205_ALM0_BASE 0x00 /* Base address of ALARM0 */ -+ -+#define X1205_SR_RTCF 0x01 -+#define X1205_SR_WEL 0x02 /* Write Enable Latch bit */ -+#define X1205_SR_RWEL 0x04 /* Register Write Enable Bit */ -+ -+#define X1205_HR_MIL 0x80 /* set in ccr.hour for 24 hr mode */ -+ -+extern int x1205_do_command(unsigned int cmd, void *arg); -+ diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/50-nslu2-arch.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/50-nslu2-arch.patch deleted file mode 100644 index 038c71c3b3..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/50-nslu2-arch.patch +++ /dev/null @@ -1,461 +0,0 @@ ---- linux-2.6.14/arch/arm/mach-ixp4xx/Kconfig 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.14/arch/arm/mach-ixp4xx/Kconfig 1970-01-01 00:00:00.000000000 +0000 -@@ -8,6 +8,16 @@ menu "Intel IXP4xx Implementation Option - - comment "IXP4xx Platforms" - -+# This entry is placed on top because otherwise it would have -+# been shown as a submenu. -+config MACH_NSLU2 -+ bool -+ prompt "NSLU2" if !(MACH_IXDP465 || MACH_IXDPG425 || ARCH_IXDP425 || ARCH_ADI_COYOTE || ARCH_AVILA || ARCH_IXCDP1100 || ARCH_PRPMC1100 || MACH_GTWX5715) -+ help -+ Say 'Y' here if you want your kernel to support Linksys's -+ NSLU2 NAS device. For more information on this platform, -+ see http://www.nslu2-linux.org -+ - config ARCH_AVILA - bool "Avila" - help ---- linux-2.6.14/arch/arm/mach-ixp4xx/Makefile 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.14/arch/arm/mach-ixp4xx/Makefile 1970-01-01 00:00:00.000000000 +0000 -@@ -8,4 +8,5 @@ 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 - ---- linux-2.6.14/arch/arm/mach-ixp4xx/nslu2-pci.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.14/arch/arm/mach-ixp4xx/nslu2-pci.c 1970-01-01 00:00:00.000000000 +0000 -@@ -0,0 +1,77 @@ -+/* -+ * arch/arm/mach-ixp4xx/nslu2-pci.c -+ * -+ * NSLU2 board-level PCI initialization -+ * -+ * based on ixdp425-pci.c: -+ * Copyright (C) 2002 Intel Corporation. -+ * Copyright (C) 2003-2004 MontaVista Software, Inc. -+ * -+ * Maintainer: 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/config.h> -+#include <linux/pci.h> -+#include <linux/init.h> -+ -+#include <asm/mach/pci.h> -+#include <asm/mach-types.h> -+ -+void __init nslu2_pci_preinit(void) -+{ -+ set_irq_type(IRQ_NSLU2_PCI_INTA, IRQT_LOW); -+ set_irq_type(IRQ_NSLU2_PCI_INTB, IRQT_LOW); -+ set_irq_type(IRQ_NSLU2_PCI_INTC, IRQT_LOW); -+ -+ gpio_line_isr_clear(NSLU2_PCI_INTA_PIN); -+ gpio_line_isr_clear(NSLU2_PCI_INTB_PIN); -+ gpio_line_isr_clear(NSLU2_PCI_INTC_PIN); -+ -+ /* INTD is not configured as GPIO is used -+ * for the power input button. -+ */ -+ -+ ixp4xx_pci_preinit(); -+} -+ -+static int __init nslu2_map_irq(struct pci_dev *dev, u8 slot, u8 pin) -+{ -+ static int pci_irq_table[NSLU2_PCI_IRQ_LINES] = { -+ IRQ_NSLU2_PCI_INTA, -+ IRQ_NSLU2_PCI_INTB, -+ IRQ_NSLU2_PCI_INTC, -+ }; -+ -+ int irq = -1; -+ -+ if (slot >= 1 && slot <= NSLU2_PCI_MAX_DEV && -+ pin >= 1 && pin <= NSLU2_PCI_IRQ_LINES) { -+ irq = pci_irq_table[(slot + pin - 2) % NSLU2_PCI_IRQ_LINES]; -+ } -+ -+ return irq; -+} -+ -+struct hw_pci __initdata nslu2_pci = { -+ .nr_controllers = 1, -+ .preinit = nslu2_pci_preinit, -+ .swizzle = pci_std_swizzle, -+ .setup = ixp4xx_setup, -+ .scan = ixp4xx_scan_bus, -+ .map_irq = nslu2_map_irq, -+}; -+ -+int __init nslu2_pci_init(void) /* monkey see, monkey do */ -+{ -+ if (machine_is_nslu2()) -+ pci_common_init(&nslu2_pci); -+ -+ return 0; -+} -+ -+subsys_initcall(nslu2_pci_init); ---- linux-2.6.14/arch/arm/mach-ixp4xx/nslu2-power.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.14/arch/arm/mach-ixp4xx/nslu2-power.c 1970-01-01 00:00:00.000000000 +0000 -@@ -0,0 +1,92 @@ -+/* -+ * arch/arm/mach-ixp4xx/nslu2-power.c -+ * -+ * NSLU2 Power/Reset driver -+ * -+ * Copyright (C) 2005 Tower Technologies -+ * -+ * based on nslu2-io.c -+ * Copyright (C) 2004 Karen Spearel -+ * -+ * 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/reboot.h> -+#include <linux/interrupt.h> -+ -+#include <asm/mach-types.h> -+ -+extern void ctrl_alt_del(void); -+ -+static irqreturn_t nslu2_power_handler(int irq, void *dev_id, struct pt_regs *regs) -+{ -+ /* Signal init to do the ctrlaltdel action, this will bypass init if -+ * it hasn't started and do a kernel_restart. -+ */ -+ ctrl_alt_del(); -+ -+ return IRQ_HANDLED; -+} -+ -+static irqreturn_t nslu2_reset_handler(int irq, void *dev_id, struct pt_regs *regs) -+{ -+ /* This is the paper-clip reset, it shuts the machine down directly. -+ */ -+ machine_power_off(); -+ -+ return IRQ_HANDLED; -+} -+ -+static int __init nslu2_power_init(void) -+{ -+ if (!(machine_is_nslu2())) -+ return 0; -+ -+ *IXP4XX_GPIO_GPISR = 0x20400000; /* read the 2 irqs to clr */ -+ -+ set_irq_type(NSLU2_RB_IRQ, IRQT_LOW); -+ set_irq_type(NSLU2_PB_IRQ, IRQT_HIGH); -+ -+ gpio_line_isr_clear(NSLU2_RB_GPIO); -+ gpio_line_isr_clear(NSLU2_PB_GPIO); -+ -+ if (request_irq(NSLU2_RB_IRQ, &nslu2_reset_handler, -+ SA_INTERRUPT, "NSLU2 reset button", NULL) < 0) { -+ -+ printk(KERN_DEBUG "Reset Button IRQ %d not available\n", -+ NSLU2_RB_IRQ); -+ -+ return -EIO; -+ } -+ -+ if (request_irq(NSLU2_PB_IRQ, &nslu2_power_handler, -+ SA_INTERRUPT, "NSLU2 power button", NULL) < 0) { -+ -+ printk(KERN_DEBUG "Power Button IRQ %d not available\n", -+ NSLU2_PB_IRQ); -+ -+ return -EIO; -+ } -+ -+ return 0; -+} -+ -+static void __exit nslu2_power_exit(void) -+{ -+ free_irq(NSLU2_RB_IRQ, NULL); -+ free_irq(NSLU2_PB_IRQ, NULL); -+} -+ -+module_init(nslu2_power_init); -+module_exit(nslu2_power_exit); -+ -+MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>"); -+MODULE_DESCRIPTION("NSLU2 Power/Reset driver"); -+MODULE_LICENSE("GPL"); ---- linux-2.6.14/arch/arm/mach-ixp4xx/nslu2-setup.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.14/arch/arm/mach-ixp4xx/nslu2-setup.c 1970-01-01 00:00:00.000000000 +0000 -@@ -0,0 +1,134 @@ -+/* -+ * arch/arm/mach-ixp4xx/nslu2-setup.c -+ * -+ * NSLU2 board-setup -+ * -+ * based ixdp425-setup.c: -+ * Copyright (C) 2003-2004 MontaVista Software, Inc. -+ * -+ * Author: Mark Rakes <mrakes at mac.com> -+ * Maintainers: http://www.nslu2-linux.org/ -+ * -+ * Fixed missing init_time in MACHINE_START kas11 10/22/04 -+ * Changed to conform to new style __init ixdp425 kas11 10/22/04 -+ */ -+ -+#include <linux/kernel.h> -+#include <linux/serial.h> -+#include <linux/serial_8250.h> -+ -+#include <asm/mach-types.h> -+#include <asm/mach/arch.h> -+#include <asm/mach/flash.h> -+ -+static struct flash_platform_data nslu2_flash_data = { -+ .map_name = "cfi_probe", -+ .width = 2, -+}; -+ -+static struct resource nslu2_flash_resource = { -+ .start = NSLU2_FLASH_BASE, -+ .end = NSLU2_FLASH_BASE + NSLU2_FLASH_SIZE, -+ .flags = IORESOURCE_MEM, -+}; -+ -+static struct platform_device nslu2_flash = { -+ .name = "IXP4XX-Flash", -+ .id = 0, -+ .dev.platform_data = &nslu2_flash_data, -+ .num_resources = 1, -+ .resource = &nslu2_flash_resource, -+}; -+ -+static struct ixp4xx_i2c_pins nslu2_i2c_gpio_pins = { -+ .sda_pin = NSLU2_SDA_PIN, -+ .scl_pin = NSLU2_SCL_PIN, -+}; -+ -+static struct platform_device nslu2_i2c_controller = { -+ .name = "IXP4XX-I2C", -+ .id = 0, -+ .dev.platform_data = &nslu2_i2c_gpio_pins, -+ .num_resources = 0, -+}; -+ -+static struct resource nslu2_uart_resources[] = { -+ { -+ .start = IXP4XX_UART1_BASE_PHYS, -+ .end = IXP4XX_UART1_BASE_PHYS + 0x0fff, -+ .flags = IORESOURCE_MEM, -+ }, -+ { -+ .start = IXP4XX_UART2_BASE_PHYS, -+ .end = IXP4XX_UART2_BASE_PHYS + 0x0fff, -+ .flags = IORESOURCE_MEM, -+ } -+}; -+ -+static struct plat_serial8250_port nslu2_uart_data[] = { -+ { -+ .mapbase = IXP4XX_UART1_BASE_PHYS, -+ .membase = (char *)IXP4XX_UART1_BASE_VIRT + REG_OFFSET, -+ .irq = IRQ_IXP4XX_UART1, -+ .flags = UPF_BOOT_AUTOCONF, -+ .iotype = UPIO_MEM, -+ .regshift = 2, -+ .uartclk = IXP4XX_UART_XTAL, -+ }, -+ { -+ .mapbase = IXP4XX_UART2_BASE_PHYS, -+ .membase = (char *)IXP4XX_UART2_BASE_VIRT + REG_OFFSET, -+ .irq = IRQ_IXP4XX_UART2, -+ .flags = UPF_BOOT_AUTOCONF, -+ .iotype = UPIO_MEM, -+ .regshift = 2, -+ .uartclk = IXP4XX_UART_XTAL, -+ }, -+ { } -+}; -+ -+static struct platform_device nslu2_uart = { -+ .name = "serial8250", -+ .id = PLAT8250_DEV_PLATFORM, -+ .dev.platform_data = nslu2_uart_data, -+ .num_resources = 2, -+ .resource = nslu2_uart_resources, -+}; -+ -+static struct platform_device *nslu2_devices[] __initdata = { -+ &nslu2_i2c_controller, -+ &nslu2_flash, -+ &nslu2_uart, -+}; -+ -+static void nslu2_power_off(void) -+{ -+ /* This causes the box to drop the power and go dead. */ -+ -+ /* enable the pwr cntl gpio */ -+ gpio_line_config(NSLU2_PO_GPIO, IXP4XX_GPIO_OUT); -+ -+ /* do the deed */ -+ gpio_line_set(NSLU2_PO_GPIO, IXP4XX_GPIO_HIGH); -+} -+ -+static void __init nslu2_init(void) -+{ -+ ixp4xx_sys_init(); -+ -+ pm_power_off = nslu2_power_off; -+ -+ platform_add_devices(nslu2_devices, ARRAY_SIZE(nslu2_devices)); -+} -+ -+MACHINE_START(NSLU2, "Linksys NSLU2") -+ /* Maintainer: www.nslu2-linux.org */ -+ .phys_ram = PHYS_OFFSET, -+ .phys_io = IXP4XX_PERIPHERAL_BASE_PHYS, -+ .io_pg_offst = ((IXP4XX_PERIPHERAL_BASE_VIRT) >> 18) & 0xFFFC, -+ .boot_params = 0x00000100, -+ .map_io = ixp4xx_map_io, -+ .init_irq = ixp4xx_init_irq, -+ .timer = &ixp4xx_timer, -+ .init_machine = nslu2_init, -+MACHINE_END ---- linux-2.6.14/include/asm-arm/arch-ixp4xx/hardware.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.14/include/asm-arm/arch-ixp4xx/hardware.h 1970-01-01 00:00:00.000000000 +0000 -@@ -44,5 +44,6 @@ extern unsigned int processor_id; - #include "ixdp425.h" - #include "coyote.h" - #include "prpmc1100.h" -+#include "nslu2.h" - - #endif /* _ASM_ARCH_HARDWARE_H */ ---- linux-2.6.14/include/asm-arm/arch-ixp4xx/irqs.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.14/include/asm-arm/arch-ixp4xx/irqs.h 1970-01-01 00:00:00.000000000 +0000 -@@ -93,4 +93,11 @@ - #define IRQ_COYOTE_PCI_SLOT1 IRQ_IXP4XX_GPIO11 - #define IRQ_COYOTE_IDE IRQ_IXP4XX_GPIO5 - -+/* -+ * NSLU2 board IRQs -+ */ -+#define IRQ_NSLU2_PCI_INTA IRQ_IXP4XX_GPIO11 -+#define IRQ_NSLU2_PCI_INTB IRQ_IXP4XX_GPIO10 -+#define IRQ_NSLU2_PCI_INTC IRQ_IXP4XX_GPIO9 -+ - #endif ---- linux-2.6.14/include/asm-arm/arch-ixp4xx/nslu2.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.14/include/asm-arm/arch-ixp4xx/nslu2.h 1970-01-01 00:00:00.000000000 +0000 -@@ -0,0 +1,96 @@ -+/* -+ * include/asm-arm/arch-ixp4xx/nslu2.h -+ * -+ * NSLU2 platform specific definitions -+ * -+ * Author: Mark Rakes <mrakes AT mac.com> -+ * Maintainers: http://www.nslu2-linux.org -+ * -+ * based on ixdp425.h: -+ * Copyright 2004 (c) MontaVista, Software, Inc. -+ * -+ * This file is licensed under the terms of the GNU General Public -+ * License version 2. This program is licensed "as is" without any -+ * warranty of any kind, whether express or implied. -+ */ -+ -+#ifndef __ASM_ARCH_HARDWARE_H__ -+#error "Do not include this directly, instead #include <asm/hardware.h>" -+#endif -+ -+#define NSLU2_FLASH_BASE IXP4XX_EXP_BUS_CS0_BASE_PHYS -+#define NSLU2_FLASH_SIZE IXP4XX_EXP_BUS_CSX_REGION_SIZE -+ -+#define NSLU2_SDA_PIN 7 -+#define NSLU2_SCL_PIN 6 -+ -+/* -+ * NSLU2 PCI IRQs -+ */ -+#define NSLU2_PCI_MAX_DEV 3 -+#define NSLU2_PCI_IRQ_LINES 3 -+ -+ -+/* PCI controller GPIO to IRQ pin mappings */ -+#define NSLU2_PCI_INTA_PIN 11 -+#define NSLU2_PCI_INTB_PIN 10 -+#define NSLU2_PCI_INTC_PIN 9 -+#define NSLU2_PCI_INTD_PIN 8 -+ -+ -+/* NSLU2 Timer */ -+#define NSLU2_FREQ 66000000 -+#define NSLU2_CLOCK_TICK_RATE (((NSLU2_FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ) -+#define NSLU2_CLOCK_TICKS_PER_USEC ((NSLU2_CLOCK_TICK_RATE + USEC_PER_SEC/2) / USEC_PER_SEC) -+ -+/* GPIO */ -+ -+#define NSLU2_GPIO0 0 -+#define NSLU2_GPIO1 1 -+#define NSLU2_GPIO2 2 -+#define NSLU2_GPIO3 3 -+#define NSLU2_GPIO4 4 -+#define NSLU2_GPIO5 5 -+#define NSLU2_GPIO6 6 -+#define NSLU2_GPIO7 7 -+#define NSLU2_GPIO8 8 -+#define NSLU2_GPIO9 9 -+#define NSLU2_GPIO10 10 -+#define NSLU2_GPIO11 11 -+#define NSLU2_GPIO12 12 -+#define NSLU2_GPIO13 13 -+#define NSLU2_GPIO14 14 -+#define NSLU2_GPIO15 15 -+ -+/* Buttons */ -+ -+#define NSLU2_PB_GPIO NSLU2_GPIO5 -+#define NSLU2_PO_GPIO NSLU2_GPIO8 /* power off */ -+#define NSLU2_RB_GPIO NSLU2_GPIO12 -+ -+#define NSLU2_PB_IRQ IRQ_IXP4XX_GPIO5 -+#define NSLU2_RB_IRQ IRQ_IXP4XX_GPIO12 -+ -+#define NSLU2_PB_BM (1L << NSLU2_PB_GPIO) -+#define NSLU2_PO_BM (1L << NSLU2_PO_GPIO) -+#define NSLU2_RB_BM (1L << NSLU2_RB_GPIO) -+ -+/* Buzzer */ -+ -+#define NSLU2_GPIO_BUZZ 4 -+#define NSLU2_BZ_BM (1L << NSLU2_GPIO_BUZZ) -+/* LEDs */ -+ -+#define NSLU2_LED_RED NSLU2_GPIO0 -+#define NSLU2_LED_GRN NSLU2_GPIO1 -+ -+#define NSLU2_LED_RED_BM (1L << NSLU2_LED_RED) -+#define NSLU2_LED_GRN_BM (1L << NSLU2_LED_GRN) -+ -+#define NSLU2_LED_DISK1 NSLU2_GPIO2 -+#define NSLU2_LED_DISK2 NSLU2_GPIO3 -+ -+#define NSLU2_LED_DISK1_BM (1L << NSLU2_GPIO2) -+#define NSLU2_LED_DISK2_BM (1L << NSLU2_GPIO3) -+ -+ diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/55-nslu2-rtc.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/55-nslu2-rtc.patch deleted file mode 100644 index be1f696940..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/55-nslu2-rtc.patch +++ /dev/null @@ -1,125 +0,0 @@ ---- linux-2.6.13/.pc/55-nslu2-rtc.patch/arch/arm/mach-ixp4xx/Makefile 2005-10-26 15:19:43.171472071 -0700 -+++ linux-2.6.13/arch/arm/mach-ixp4xx/Makefile 2005-10-26 15:23:52.923187955 -0700 -@@ -8,5 +8,5 @@ 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-rtc.o - ---- linux-2.6.13/.pc/55-nslu2-rtc.patch/arch/arm/mach-ixp4xx/nslu2-rtc.c 2005-10-26 15:19:43.443489188 -0700 -+++ linux-2.6.13/arch/arm/mach-ixp4xx/nslu2-rtc.c 2005-10-26 15:23:52.923187955 -0700 -@@ -0,0 +1,113 @@ -+/* -+ * arch/arm/mach-ixp4xx/nslu2-rtc.c -+ * -+ * NSLU2 RTC driver -+ * -+ * Copyright (C) 2005 Tower Technologies -+ * -+ * based on x1205-rtc.c -+ * Copyright (C) 2004 Karen Spearel -+ * -+ * 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/time.h> -+#include <linux/rtc.h> -+#include <linux/init.h> -+ -+#include <linux/x1205.h> -+ -+#include <asm/rtc.h> -+#include <asm/mach-types.h> -+ -+extern int (*set_rtc)(void); -+ -+static int nslu2_set_rtc(void) -+{ -+ struct rtc_time new_tm, old_tm; -+ unsigned long cur_secs = xtime.tv_sec; -+ -+ if (x1205_do_command(X1205_CMD_GETDATETIME, &old_tm)) -+ return 0; -+ -+ /* 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 x1205_do_command(X1205_CMD_SETTIME, &new_tm); -+} -+ -+static int rtc_read_alarm(struct rtc_wkalrm *alrm) -+{ -+ return x1205_do_command(X1205_CMD_GETALARM, &alrm->time); -+} -+ -+static int rtc_set_alarm(struct rtc_wkalrm *alrm) -+{ -+ return x1205_do_command(X1205_CMD_SETALARM, &alrm->time); -+} -+ -+static int rtc_read_time(struct rtc_time *tm) -+{ -+ return x1205_do_command(X1205_CMD_GETDATETIME, tm); -+} -+ -+static int rtc_set_time(struct rtc_time *tm) -+{ -+ return x1205_do_command(X1205_CMD_SETDATETIME, tm); -+} -+ -+static struct rtc_ops rtc_ops = { -+ .owner = THIS_MODULE, -+ .read_time = rtc_read_time, -+ .set_time = rtc_set_time, -+ .read_alarm = rtc_read_alarm, -+ .set_alarm = rtc_set_alarm, -+}; -+ -+static int __init nslu2_rtc_init(void) -+{ -+ int ret; -+ -+ if (!(machine_is_nslu2())) -+ return 0; -+ -+ printk(KERN_INFO "NSLU2: rtc\n"); -+ -+ if ((ret = register_rtc(&rtc_ops)) != 0) -+ return ret; -+ -+ set_rtc = nslu2_set_rtc; -+ -+ return 0; -+} -+ -+static void __exit nslu2_rtc_exit(void) -+{ -+ set_rtc = NULL; -+ -+ unregister_rtc(&rtc_ops); -+} -+ -+module_init(nslu2_rtc_init); -+module_exit(nslu2_rtc_exit); diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/60-nslu2-beeper.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/60-nslu2-beeper.patch deleted file mode 100644 index e8a037385b..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/60-nslu2-beeper.patch +++ /dev/null @@ -1,175 +0,0 @@ ---- linux-2.6.13/.pc/60-nslu2-beeper.patch/drivers/input/misc/Kconfig 2005-08-28 16:41:01.000000000 -0700 -+++ linux-2.6.13/drivers/input/misc/Kconfig 2005-10-26 15:24:01.199708764 -0700 -@@ -40,6 +40,18 @@ config INPUT_M68K_BEEP - tristate "M68k Beeper support" - depends on M68K - -+config INPUT_NSLU2_BEEPER -+ tristate "NSLU2 Beeper support" -+ depends on MACH_NSLU2 -+ help -+ Say Y here if you want the embedded beeper on the LinkSys NSLU2 -+ to be used for bells and whistles. -+ -+ If unsure, say Y. -+ -+ To compile this driver as a module, choose M here: the -+ module will be called nslu2spkr. -+ - config INPUT_UINPUT - tristate "User level driver support" - help ---- linux-2.6.13/.pc/60-nslu2-beeper.patch/drivers/input/misc/Makefile 2005-08-28 16:41:01.000000000 -0700 -+++ linux-2.6.13/drivers/input/misc/Makefile 2005-10-26 15:24:01.199708764 -0700 -@@ -10,3 +10,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 -+obj-$(CONFIG_INPUT_NSLU2_BEEPER) += nslu2spkr.o ---- linux-2.6.13/.pc/60-nslu2-beeper.patch/drivers/input/misc/nslu2spkr.c 2005-10-26 15:19:43.711506053 -0700 -+++ linux-2.6.13/drivers/input/misc/nslu2spkr.c 2005-10-26 15:24:01.199708764 -0700 -@@ -0,0 +1,144 @@ -+/* -+ * drivers/input/misc/nslu2spkr.c -+ * -+ * NSLU2 Beeper driver -+ * -+ * Copyright (C) 2005 Tower Technologies -+ * -+ * based on nslu2-io.c -+ * Copyright (C) 2004 Karen Spearel -+ * -+ * 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/config.h> -+#include <linux/module.h> -+#include <linux/init.h> -+#include <linux/input.h> -+#include <linux/delay.h> -+ -+#include <asm/hardware.h> -+#include <asm/irq.h> -+ -+static unsigned int beep_on_startup = 1; -+module_param(beep_on_startup, bool, 0); -+MODULE_PARM_DESC(beep_on_startup, "Play a beep on module startup"); -+ -+DEFINE_SPINLOCK(beep_lock); -+ -+static int nslu2_spkr_event(struct input_dev *dev, unsigned int type, unsigned int code, int value) -+{ -+ unsigned int count = 0; -+ unsigned long flags; -+ -+ if (type != EV_SND) -+ return -1; -+ -+ switch (code) { -+ case SND_BELL: -+ if (value) value = 1000; -+ case SND_TONE: -+ break; -+ default: -+ return -1; -+ } -+ -+ if (value > 20 && value < 32767) -+ count = (NSLU2_FREQ / (value*4)) - 1; -+ -+ spin_lock_irqsave(&beep_lock, flags); -+ -+ if (count) { -+ -+ gpio_line_config(NSLU2_GPIO_BUZZ, IXP4XX_GPIO_OUT); -+ gpio_line_set(NSLU2_GPIO_BUZZ, IXP4XX_GPIO_LOW); -+ -+ *IXP4XX_OSRT2 = (count & ~IXP4XX_OST_RELOAD_MASK) | IXP4XX_OST_ENABLE; -+ -+ } else { -+ -+ gpio_line_config(NSLU2_GPIO_BUZZ, IXP4XX_GPIO_IN); -+ gpio_line_set(NSLU2_GPIO_BUZZ, IXP4XX_GPIO_HIGH); -+ -+ *IXP4XX_OSRT2 = 0; -+ } -+ -+ spin_unlock_irqrestore(&beep_lock, flags); -+ -+ return 0; -+} -+ -+static struct input_dev nslu2_spkr_dev = { -+ .phys = "ixp420/gpio4", -+ .name = "NSLU2 Beeper", -+ .evbit[0] = BIT(EV_SND), -+ .sndbit[0] = BIT(SND_BELL) | BIT(SND_TONE), -+ .event = nslu2_spkr_event, -+ .id = { -+ .bustype = BUS_HOST, -+ .vendor = 0x001f, -+ .product = 0x0001, -+ .version = 0x0100 -+ } -+}; -+ -+static irqreturn_t nslu2_spkr_handler(int irq, void *dev_id, struct pt_regs *regs) -+{ -+ /* clear interrupt */ -+ *IXP4XX_OSST = IXP4XX_OSST_TIMER_2_PEND; -+ -+ /* flip the beeper output */ -+ *IXP4XX_GPIO_GPOUTR ^= NSLU2_BZ_BM; -+ -+ return IRQ_HANDLED; -+} -+ -+static int __init nslu2_spkr_init(void) -+{ -+ if (request_irq(IRQ_IXP4XX_TIMER2, &nslu2_spkr_handler, -+ SA_INTERRUPT | SA_TIMER, "NSLU2 beeper", NULL < 0)) { -+ -+ printk(KERN_INFO "NSLU2 beeper: IRQ %d not available\n", -+ IRQ_IXP4XX_TIMER2); -+ -+ return -EIO; -+ } -+ -+ input_register_device(&nslu2_spkr_dev); -+ -+ /* do a little beep to tell the world we are alive */ -+ if (beep_on_startup) -+ { -+ nslu2_spkr_event(NULL, EV_SND, SND_TONE, 440); -+ msleep(120); -+ nslu2_spkr_event(NULL, EV_SND, SND_TONE, 0); -+ } -+ -+ printk(KERN_INFO "NSLU2: beeper\n"); -+ return 0; -+} -+ -+static void __exit nslu2_spkr_exit(void) -+{ -+ input_unregister_device(&nslu2_spkr_dev); -+ -+ disable_irq(IRQ_IXP4XX_TIMER2); -+ -+ /* turn it off */ -+ nslu2_spkr_event(NULL, EV_SND, SND_BELL, 0); -+ -+ free_irq(IRQ_IXP4XX_TIMER2, NULL); -+} -+ -+module_init(nslu2_spkr_init); -+module_exit(nslu2_spkr_exit); -+ -+MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>"); -+MODULE_DESCRIPTION("NSLU2 Beeper driver"); -+MODULE_LICENSE("GPL"); diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/70-nslu2-io.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/70-nslu2-io.patch deleted file mode 100644 index d3d200e4c4..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/70-nslu2-io.patch +++ /dev/null @@ -1,560 +0,0 @@ ---- linux-2.6.13/.pc/70-nslu2-io.patch/arch/arm/mach-ixp4xx/Makefile 2005-10-26 15:19:43.443489188 -0700 -+++ linux-2.6.13/arch/arm/mach-ixp4xx/Makefile 2005-10-26 15:24:08.652177718 -0700 -@@ -8,5 +8,5 @@ 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 nslu2-rtc.o -+obj-$(CONFIG_MACH_NSLU2) += nslu2-pci.o nslu2-setup.o nslu2-power.o nslu2-rtc.o nslu2-io.o - ---- linux-2.6.13/.pc/70-nslu2-io.patch/arch/arm/mach-ixp4xx/nslu2-io.c 2005-10-26 15:19:43.979522918 -0700 -+++ linux-2.6.13/arch/arm/mach-ixp4xx/nslu2-io.c 2005-10-26 15:24:08.652177718 -0700 -@@ -0,0 +1,548 @@ -+//============================================================================= -+// -+// n2-io.c version 0.1.7 -+// Author: Karen Spearel <kas11 at tampabay.rr.com> -+// please report problems/bugs directly to the address above -+// -+// Boilerplate to be added "real soon now"...it is and has always been GPL'ed per -+// MODULE_LICENSE but is offered without warrantee of any sort..use at your own risk -+// -+// NOTE: THIS IS INCOMPLETE. INCLUDED ONLY TO KEEP FROM BREAKING THE BUILD, -+// IT BEEPS AND SENDS A MESSAGE TO /proc/poweroff. EVENTUALLY IT -+// WILL TALK TO THE n2_pbd DAEMON. EVENTUALLY THE LED DRIVER -+// WILL TALK TO SOME USERLAND APP BUT ***NOT*** SET_LEDS. -+// -+//============================================================================= -+// GPIO Function State -+// 0 Red LED Status -+// 1 Green LED Ready = 1 -+// 2 Disk 2 LED On = 0 -+// 3 Disk 1 LED On = 0 -+// 4 Buzzer -+// 5 Power Button Pressed = 1 -+// 8 Power Down Output = 1 powers down NSLU2 -+// 12 Reset Pressed = 0 -+ -+#include <linux/config.h> -+#include <linux/version.h> -+#include <linux/module.h> -+#include <linux/kernel.h> -+#include <linux/proc_fs.h> -+#include <linux/device.h> -+#include <linux/reboot.h> -+ -+#include <asm/uaccess.h> -+#include <asm-arm/irq.h> -+#include <asm-arm/delay.h> -+ -+/* Set this to 1 to output lots of debug messages. */ -+#define NSLU2_IO_DEBUG 0 -+ -+#if NSLU2_IO_DEBUG -+#define nslu2_io_debug(args) printk args -+#else -+#define nslu2_io_debug(args) ((void)0) -+#endif -+ -+#define VERSION "0.1.7" -+ -+#define NSLU2BZ_MAJOR 62 //buzzer -+#define NSLU2LM_MAJOR 126 -+ -+ -+#define NSLU2_BEEP_DUR_LONG 2000 -+#define NSLU2_BEEP_DUR_MED 400 -+#define NSLU2_BEEP_DUR_SHORT 100 -+#define NSLU2_BEEP_PITCH_HIGH 250 -+#define NSLU2_BEEP_PITCH_MED 500 -+#define NSLU2_BEEP_PITCH_LOW 1000 -+#define NSLU2_LONG_DELAY 30000 -+ -+#define NSLU2_BZ_BM (1L << NSLU2_GPIO_BUZZ) -+ -+// ioctls -- 'M" is used for sound cards...we don't got one so it seems safe -+ -+#define NSLU2BZ_BEEP_STOP _IO('M',0) //stop multi-beep at end of audible -+#define NSLU2BZ_BEEP _IO('M',1) //one beep at current defaults -+#define NSLU2BZ_BEEPS _IOW('M',3,long) //param beeps at current defaults -+#define NSLU2BZ_TONESET _IOW('M',4,long) //set tone: range is high=250 to low=2000 -+#define NSLU2BZ_ONTIME _IOW('M',5,long) //ontime for multi-beeps in jiffies -+#define NSLU2BZ_SILENTTIME _IOW('M',6,long) //offtime for multi-beeps in jiffies -+#define NSLU2BZ_REPEATCNT _IOW('M',7,long) //number of repeats for multi-beeps 0 = forever -+#define NSLU2BZ_COMBINED _IOW('M',8,long) //combine all params in a long -+ -+#define NSLU2LM_OFF _IOW('M',32,long) -+#define NSLU2LM_ON _IOW('M',33,long) -+#define NSLU2LM_BLINK _IOW('M',34,long) -+#define NSLU2LM_ALT _IOW('M',35,long) -+#define NSLU2LM_ALL_ON _IO('M',36) -+#define NSLU2LM_ALL_OFF _IO('M',37) -+ -+#define PHYS_LEDS 4 -+#define BLINK_DELAY 25 -+ -+// OR Masks to turn these LEDs ON -+ -+#define RS_RED_ON 0x00000001 //0b0000 0000 0000 0010 -+#define RS_GRN_ON 0x00000002 //0b0000 0000 0000 0001 -+#define RS_YEL_ON 0x00000003 //0b0000 0000 0000 0011 -+ -+// AND Masks to turn these LEDs OFF -+ -+#define RS_RED_OFF 0xfffffffe //0b1111 1111 1111 1101 -+#define RS_GRN_OFF 0xfffffffd //0b1111 1111 1111 1110 -+#define RS_YEL_OFF 0xfffffffc //0b1111 1111 1111 1100 -+ -+// AND Masks to turn these LEDs ON -+ -+#define DISK1_ON 0xfffffff7 //0b1111 1111 1111 0111 -+#define DISK2_ON 0xfffffffb //0b1111 1111 1111 1011 -+ -+// Or Masks to turn these LEDs OFF -+ -+#define DISK1_OFF 0x00000008 //0b0000 0000 0000 1000 -+#define DISK2_OFF 0x00000004 //0b0000 0000 0000 0100 -+ -+// EOR masks for toggling LEDs on/off -+ -+#define RS_RG_ALT 0x00000003 //eor mask to toggle rs rg bits -+#define RS_GRN_TGL 0x00000002 -+#define RS_RED_TGL 0x00000001 -+#define DISK1_TGL 0x00000008 -+#define DISK2_TGL 0x00000004 -+ -+// The LED names for switches -+ -+#define LED_RS_RED 0 -+#define LED_RS_GRN 1 -+#define LED_DISK1 2 -+#define LED_DISK2 3 -+#define LED_ALL 4 -+ -+static unsigned long ontime = 50; -+static unsigned long offtime = 450; -+static unsigned long bz_repeatcnt = 10; -+static unsigned long tone = 1000; -+ -+static struct timer_list n2lm_rsg_timer; //rs green -+static struct timer_list n2lm_rsr_timer; //rs red -+static struct timer_list n2lm_d1_timer; //drive 1 -+static struct timer_list n2lm_d2_timer; //drive 2 -+static struct timer_list n2bz_timer; //beeper -+ -+// sysfs class -+static struct class *n2lm_class; -+ -+//================================================================================================== -+// -+// Blinking is handled entirely by the 4 timer handlers. On timeout, the bit in the -+// GPIO output register is xor'd with a mask corresponding to the selected led which simply -+// flips that bit. No record of what any of the other leds is doing is needed. -+// -+//================================================================================================== -+// this blinks rs green or green/yellow if rs red is on -+#ifndef CONFIG_LEDS -+static void n2lm_rsg_handler(unsigned long data) -+{ -+ *IXP4XX_GPIO_GPOUTR ^= RS_GRN_TGL; //flip the led -+ n2lm_rsg_timer.expires = jiffies + BLINK_DELAY; //next timeout -+ add_timer(&n2lm_rsg_timer); //reinit timer -+ return; -+} -+ -+// this blinks or alternates rs red green... inited wit green on/red off -+static void n2lm_rsr_handler(unsigned long data) -+{ -+ *IXP4XX_GPIO_GPOUTR ^= n2lm_rsr_timer.data; -+ n2lm_rsr_timer.expires = jiffies + BLINK_DELAY; -+ add_timer(&n2lm_rsr_timer); -+ return; -+} -+// blinks disk 1 -+static void n2lm_d1_handler(unsigned long data) -+{ -+ *IXP4XX_GPIO_GPOUTR ^= DISK1_TGL; -+ n2lm_d1_timer.expires = jiffies + BLINK_DELAY; -+ add_timer(&n2lm_d1_timer); -+ return; -+} -+// blinks disk 2 -+static void n2lm_d2_handler(unsigned long data) -+{ -+ *IXP4XX_GPIO_GPOUTR ^= DISK2_TGL; -+ n2lm_d2_timer.expires = jiffies + BLINK_DELAY; -+ add_timer(&n2lm_d2_timer); -+ return; -+} -+ -+//================================================================================================== -+ -+static void n2lm_timer_start(unsigned long led) -+{ -+ -+ nslu2_io_debug((KERN_DEBUG "timer: %ld\n",led)); -+ -+ switch(led) { -+ case LED_RS_RED: -+ n2lm_rsr_timer.expires = jiffies + BLINK_DELAY; -+ add_timer(&n2lm_rsr_timer); -+ break; -+ -+ case LED_RS_GRN: -+ n2lm_rsg_timer.expires = jiffies + BLINK_DELAY; -+ add_timer(&n2lm_rsg_timer); -+ break; -+ -+ case LED_DISK1: -+ n2lm_d1_timer.expires = jiffies + BLINK_DELAY; -+ add_timer(&n2lm_d1_timer); -+ break; -+ -+ case LED_DISK2: -+ n2lm_d2_timer.expires = jiffies + BLINK_DELAY; -+ add_timer(&n2lm_d2_timer); -+ break; -+ -+ default: -+ break; -+ } -+ return; -+} -+ -+//================================================================================================== -+ -+static void n2lm_timer_stop(unsigned long led) -+{ -+ switch (led) { -+ case LED_RS_RED: -+ del_timer(&n2lm_rsr_timer); -+ break; -+ case LED_RS_GRN: -+ del_timer(&n2lm_rsg_timer); -+ break; -+ case LED_DISK1: -+ del_timer(&n2lm_d1_timer); -+ break; -+ case LED_DISK2: -+ del_timer(&n2lm_d2_timer); -+ break; -+ default: -+ break; -+ } -+ return; -+} -+ -+//-------------------------------------------------------------------------------------------------- -+ -+static void n2lm_timer_stop_all(void) -+{ -+ del_timer(&n2lm_rsg_timer); -+ del_timer(&n2lm_rsr_timer); -+ del_timer(&n2lm_d1_timer); -+ del_timer(&n2lm_d2_timer); -+ return; -+} -+//-------------------------------------------------------------------------------------------------- -+ -+static void n2lm_ledon(unsigned long led) -+{ -+ -+ nslu2_io_debug((KERN_DEBUG "ledon: %ld\n", led)); -+ -+ switch (led) { -+ case LED_RS_RED: -+ *IXP4XX_GPIO_GPOUTR |= RS_RED_ON; //1 -+ return; -+ case LED_RS_GRN: -+ *IXP4XX_GPIO_GPOUTR |= RS_GRN_ON; //2 -+ return; -+ case LED_DISK1: -+ *IXP4XX_GPIO_GPOUTR &= DISK1_ON; //0xfffffff7 -+ return; -+ case LED_DISK2: -+ *IXP4XX_GPIO_GPOUTR &= DISK2_ON; //0xfffffffb -+ return; -+ case LED_ALL: //all green -+ *IXP4XX_GPIO_GPOUTR |= RS_GRN_ON; -+ *IXP4XX_GPIO_GPOUTR &= (DISK1_ON & DISK2_ON); -+ return; -+ } -+} -+ -+//-------------------------------------------------------------------------------------------------- -+ -+static void n2lm_ledoff(unsigned long led) -+{ -+ -+ switch (led) { -+ case LED_RS_RED: -+ *IXP4XX_GPIO_GPOUTR &= RS_RED_OFF; //0xffffffffe -+ return; -+ case LED_RS_GRN: -+ *IXP4XX_GPIO_GPOUTR &= RS_GRN_OFF; //0xfffffffd -+ return; -+ case LED_DISK1: -+ *IXP4XX_GPIO_GPOUTR |= DISK1_OFF; //0x00000008 -+ return; -+ case LED_DISK2: -+ *IXP4XX_GPIO_GPOUTR |= DISK2_OFF; //0x00000004 -+ return; -+ case LED_ALL: -+ *IXP4XX_GPIO_GPOUTR &= (RS_GRN_OFF & RS_RED_OFF); -+ *IXP4XX_GPIO_GPOUTR |= (DISK1_OFF | DISK2_OFF); -+ } -+} -+ -+//================================================================================================== -+ -+static int n2lm_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long led) -+{ -+ -+ nslu2_io_debug((KERN_DEBUG "cmd=%d, led=%ld\n", cmd, led)); -+ -+ if (led < 0 || led >= PHYS_LEDS) -+ return -EINVAL; -+ -+ switch (cmd ) { -+ case NSLU2LM_ON: -+ n2lm_timer_stop(led); -+ n2lm_ledon(led); -+ break; -+ -+ case NSLU2LM_OFF: -+ n2lm_timer_stop(led); -+ n2lm_ledoff(led); -+ break; -+ -+ case NSLU2LM_BLINK: -+ n2lm_ledon(led); -+ if (led == LED_RS_RED) -+ n2lm_rsr_timer.data = RS_RED_TGL; -+ n2lm_timer_start(led); -+ break; -+ -+ case NSLU2LM_ALT: -+ if (led == LED_RS_RED) -+ { -+ n2lm_ledon(LED_RS_GRN); -+ n2lm_ledoff(LED_RS_RED); -+ n2lm_rsr_timer.data = RS_RG_ALT; -+ n2lm_timer_start(LED_RS_RED); -+ break; -+ } else -+ return -EINVAL; -+ -+ case NSLU2LM_ALL_ON: -+ n2lm_timer_stop_all(); -+ n2lm_ledon(LED_ALL); -+ break; -+ -+ case NSLU2LM_ALL_OFF: -+ n2lm_timer_stop_all(); -+ n2lm_ledoff(LED_ALL); -+ break; -+ -+ default: -+ return -EINVAL; -+ } -+ -+ return 0; -+} -+ -+static struct file_operations n2lm_fops = { -+ .owner = THIS_MODULE, -+ .ioctl = n2lm_ioctl, -+}; -+#endif -+//================================================================================================== -+// We can't do anything fancy here since the system tick rate is far below that required to -+// generate a desirable tone. Therefore we haven't much choice but to use a busy loop until -+// I get up to speed on the timers. The saving grace is that for the normal uses, nothing -+// important should be haprepening. -+//================================================================================================== -+ -+static void n2_buzz(int tone_delay, int duration) -+{ -+ int i; -+ -+ *IXP4XX_GPIO_GPOER &= ~NSLU2_BZ_BM; -+ -+ for (i = 1; i < duration; i++) { -+ *IXP4XX_GPIO_GPOUTR &= ~NSLU2_BZ_BM; -+ udelay(tone_delay); -+ *IXP4XX_GPIO_GPOUTR |= NSLU2_BZ_BM; -+ udelay(tone_delay); -+ } -+ *IXP4XX_GPIO_GPOER |= NSLU2_BZ_BM; -+ -+ return; -+} -+//================================================================================================= -+ -+// this handles the buzzer duty cycle -+static void n2bz_handler(unsigned long data) -+{ -+ if (--bz_repeatcnt > 0) { //if just one beep left to do -+ n2bz_timer.expires = jiffies + ontime + offtime; //next timeout -+ add_timer(&n2bz_timer); //reinit timer -+ } -+ n2_buzz(tone/2, ontime); -+ nslu2_io_debug((KERN_DEBUG "Count = %d\tOntime = %d\n", bz_repeatcnt, ontime)); -+ return; -+} -+ -+//================================================================================================== -+ -+static int n2bz_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long param) -+{ -+ switch (cmd) { -+ case NSLU2BZ_BEEP: -+ n2_buzz(tone/2, ontime); -+ break; -+ -+ case NSLU2BZ_BEEP_STOP: -+ del_timer(&n2bz_timer); -+ break; -+ -+ case NSLU2BZ_BEEPS: -+ if (param == 0) -+ bz_repeatcnt = 0xffffffff; -+ else -+ bz_repeatcnt = param; -+ n2bz_handler(0); -+ break; -+ -+ case NSLU2BZ_TONESET: -+ if (param >= 250 && param <= 2000) -+ tone = param; -+ break; -+ -+ case NSLU2BZ_ONTIME: -+ if (param > 4 && param < 201) -+ ontime = param; -+ break; -+ -+ case NSLU2BZ_SILENTTIME: -+ if (param > ontime) //enforce a reasonable duty cycle -+ offtime = param; -+ else -+ offtime = ontime; -+ break; -+ -+ case NSLU2BZ_REPEATCNT: -+ if (param == 0) -+ bz_repeatcnt = 0xffffffff; -+ else -+ bz_repeatcnt = param; -+ break; -+ -+ case NSLU2BZ_COMBINED: -+ bz_repeatcnt = (param & 0xF0000000) >> 28; //repeat 1 - 16 -+ ontime = (param & 0x0FF00000) >> 20; //ontime 1 - 256 jiffies -+ offtime = (param & 0x000FFF00) >> 8; //offtime 1 - 4095 jiffies -+ tone = (param & 0x000000FF) << 4; //tone (1 - 255) * 16 -+ break; -+ -+ default: -+ break; -+ } -+ return 0; -+} -+ -+static struct file_operations n2bz_fops = { -+ .owner = THIS_MODULE, -+ .ioctl = n2bz_ioctl, -+}; -+ -+static void n2iom_initarch(void) -+{ -+#ifndef CONFIG_LEDS -+ init_timer(&n2lm_rsg_timer); -+ init_timer(&n2lm_rsr_timer); -+ init_timer(&n2lm_d1_timer); -+ init_timer(&n2lm_d2_timer); -+ -+ n2lm_rsr_timer.function = n2lm_rsr_handler; -+ n2lm_rsg_timer.function = n2lm_rsg_handler; -+ n2lm_d2_timer.function = n2lm_d2_handler; -+ n2lm_d1_timer.function = n2lm_d1_handler; -+#endif -+ -+ init_timer(&n2bz_timer); -+ n2bz_timer.function = n2bz_handler; -+ -+ n2lm_rsr_timer.data = n2lm_rsg_timer.data = n2lm_d1_timer.data = n2lm_d2_timer.data = n2bz_timer.data = 0; -+ -+#ifndef CONFIG_LEDS -+ *IXP4XX_GPIO_GPOER &= 0xfffffff0; //enable gpio 0-3 -+ *IXP4XX_GPIO_GPOUTR |= 0x00000003; //turn off the leds -+ *IXP4XX_GPIO_GPOUTR &= 0xfffffffc; -+ n2lm_ledon(LED_ALL); -+ n2_buzz(NSLU2_BEEP_PITCH_MED, NSLU2_BEEP_DUR_SHORT); -+ n2lm_ledoff(LED_ALL); -+ -+ // Default the Ready/Status to Red during kernel boot, Turn Green at the end of sysvinit -+ n2lm_ledon(LED_RS_RED); -+#endif -+ -+ return; -+} -+ -+//================================================================================================== -+ -+static int __init n2iom_init(void) -+{ -+ printk(KERN_INFO "NSLU2: i/o, %s\n", VERSION); -+ -+ n2iom_initarch(); -+ -+ n2lm_class = class_create(THIS_MODULE, "nslu2"); -+ -+#ifndef CONFIG_LEDS -+ if (register_chrdev(NSLU2LM_MAJOR, "n2_ledm", &n2lm_fops) < 0) { -+ printk(KERN_DEBUG "Led Manager Major %d not available\n", NSLU2LM_MAJOR); -+ return -EBUSY; -+ } -+ else { -+ class_device_create(n2lm_class, MKDEV(NSLU2LM_MAJOR, 0), NULL, "leds"); -+ } -+#endif -+ -+ if (register_chrdev(NSLU2BZ_MAJOR, "n2_bzm", &n2bz_fops) < 0) { -+ printk(KERN_DEBUG "Buzzer Major %d not available\n", NSLU2BZ_MAJOR); -+ return -EBUSY; -+ } -+ else { -+ class_device_create(n2lm_class, MKDEV(NSLU2BZ_MAJOR, 0), NULL, "buzzer"); -+ } -+ -+ return 0; -+} -+ -+//================================================================================================== -+ -+static void __exit n2iom_exit(void) -+{ -+ -+#ifndef CONFIG_LEDS -+ del_timer(&n2lm_rsg_timer); -+ del_timer(&n2lm_rsr_timer); -+ del_timer(&n2lm_d1_timer); -+ del_timer(&n2lm_d2_timer); -+ -+ unregister_chrdev(NSLU2LM_MAJOR, "n2lm" ); -+ class_device_destroy(n2lm_class, MKDEV(NSLU2LM_MAJOR, 0)); -+#endif -+ -+ unregister_chrdev(NSLU2BZ_MAJOR, "n2bz"); -+ class_device_destroy(n2lm_class, MKDEV(NSLU2BZ_MAJOR, 0)); -+ -+ class_destroy(n2lm_class); -+} -+ -+module_init(n2iom_init); -+module_exit(n2iom_exit); -+ -+MODULE_AUTHOR("Karen Spearel <kas11@tampabay.rr.com>"); -+MODULE_DESCRIPTION("NSLU2 I/O driver"); -+MODULE_LICENSE("GPL"); diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/75-nslu2-leds.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/75-nslu2-leds.patch deleted file mode 100644 index 2701c012f3..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/75-nslu2-leds.patch +++ /dev/null @@ -1,267 +0,0 @@ ---- linux-2.6.13/.pc/75-nslu2-leds.patch/arch/arm/Kconfig 2005-10-26 15:19:34.490925838 -0700 -+++ linux-2.6.13/arch/arm/Kconfig 2005-10-26 15:24:18.628805508 -0700 -@@ -389,7 +389,8 @@ config LEDS - ARCH_EBSA285 || ARCH_IMX || ARCH_INTEGRATOR || \ - ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \ - ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \ -- ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE -+ ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \ -+ MACH_NSLU2 - help - If you say Y here, the LEDs on your machine will be used - to provide useful information about your current system status. -@@ -403,7 +404,7 @@ config LEDS - - config LEDS_TIMER - bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \ -- MACH_OMAP_H2 || MACH_OMAP_PERSEUS2 -+ MACH_OMAP_H2 || MACH_OMAP_PERSEUS2 || MACH_NSLU2 - depends on LEDS - default y if ARCH_EBSA110 - help -@@ -419,7 +420,8 @@ config LEDS_TIMER - - config LEDS_CPU - bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \ -- !ARCH_OMAP) || MACH_OMAP_H2 || MACH_OMAP_PERSEUS2 -+ !ARCH_OMAP) || MACH_OMAP_H2 || MACH_OMAP_PERSEUS2 \ -+ || MACH_NSLU2 - depends on LEDS - help - If you say Y here, the red LED will be used to give a good real ---- linux-2.6.13/.pc/75-nslu2-leds.patch/arch/arm/mach-ixp4xx/Makefile 2005-10-26 15:19:43.979522918 -0700 -+++ linux-2.6.13/arch/arm/mach-ixp4xx/Makefile 2005-10-26 15:24:18.632805759 -0700 -@@ -10,3 +10,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 nslu2-rtc.o nslu2-io.o - -+leds-$(CONFIG_MACH_NSLU2) += nslu2-leds.o -+obj-$(CONFIG_LEDS) += $(leds-y) -+ -+ ---- linux-2.6.13/.pc/75-nslu2-leds.patch/arch/arm/mach-ixp4xx/nslu2-leds.c 2005-10-26 15:19:44.251540035 -0700 -+++ linux-2.6.13/arch/arm/mach-ixp4xx/nslu2-leds.c 2005-10-26 15:24:18.632805759 -0700 -@@ -0,0 +1,223 @@ -+/* -+ * arch/arm/mach-ixp4xx/nslu2-leds.c -+ * -+ * NSLU2 LEDs driver -+ * -+ * Copyright (C) 2005 Tower Technologies -+ * -+ * based on nslu2-io.c -+ * Copyright (C) 2004 Karen Spearel -+ * and arch/arm/mach-footbridge/netwinder-leds.c -+ * Copyright (C) 1998-1999 Russell King -+ * -+ * 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/config.h> -+#include <linux/module.h> -+#include <linux/kernel.h> -+#include <linux/init.h> -+#include <linux/spinlock.h> -+#include <linux/notifier.h> -+ -+#include <asm/hardware.h> -+#include <asm/leds.h> -+#include <asm/mach-types.h> -+#include <asm/system.h> -+ -+#define LED_STATE_ENABLED 0x01 -+#define LED_STATE_CLAIMED 0x02 -+#define LED_STATE_IDLE 0x04 -+ -+static unsigned char led_state; -+static unsigned int hw_led_state; -+ -+static const unsigned long idle_seq[4] = { -+ -+ NSLU2_LED_GRN_BM, 0, -+ NSLU2_LED_GRN_BM, 0, -+}; -+ -+static const unsigned long busy_seq[4] = { -+ -+ NSLU2_LED_GRN_BM, 0, -+ NSLU2_LED_GRN_BM | NSLU2_LED_RED_BM, 0, -+}; -+ -+static unsigned char led_count = 0; -+ -+static DEFINE_SPINLOCK(leds_lock); -+extern spinlock_t gpio_lock; -+ -+static void nslu2_leds_event(led_event_t evt) -+{ -+ unsigned long flags; -+ -+ spin_lock_irqsave(&leds_lock, flags); -+ -+ switch (evt) { -+ case led_start: -+ /* Let's rock! Red led on, all others off. Remember -+ * that disk1/disk2 works inverted. On the NSLU2, the -+ * interface starts in a claimed state. XXX -+ */ -+ led_state = LED_STATE_ENABLED | LED_STATE_CLAIMED; -+ hw_led_state = NSLU2_LED_DISK1_BM | NSLU2_LED_DISK2_BM -+ | NSLU2_LED_RED_BM; -+ break; -+ -+ case led_stop: -+ led_state &= ~LED_STATE_ENABLED; -+ break; -+ -+ case led_claim: -+ /* The user claimed the interface, red and green off */ -+ led_state |= LED_STATE_CLAIMED; -+ hw_led_state &= ~(NSLU2_LED_RED_BM | NSLU2_LED_GRN_BM); -+ break; -+ -+ case led_release: -+ /* The user released the interface, preserve the last -+ * status of the leds, except red/green. -+ */ -+ led_state &= ~LED_STATE_CLAIMED; -+ hw_led_state = *IXP4XX_GPIO_GPOUTR & 0x0000000C; -+ break; -+ -+#ifdef CONFIG_LEDS_TIMER -+ case led_timer: -+ /* Pulse green led */ -+ if (!(led_state & LED_STATE_CLAIMED)) -+ { -+ /* clear red and green bits */ -+ hw_led_state &= ~(NSLU2_LED_RED_BM | NSLU2_LED_GRN_BM); -+ -+ /* copy the right sequence in */ -+ if (led_state & LED_STATE_IDLE) -+ hw_led_state |= idle_seq[led_count % 4]; -+ else -+ hw_led_state |= busy_seq[led_count % 4]; -+ -+ led_count++; -+ } -+ break; -+#endif -+ -+#ifdef CONFIG_LEDS_CPU -+ -+ case led_idle_start: -+ led_state |= LED_STATE_IDLE; -+#ifndef CONFIG_LEDS_TIMER -+ /* green on, red off */ -+ hw_led_state |= NSLU2_LED_GRN_BM; -+ hw_led_state &= ~NSLU2_LED_RED_BM; -+#endif -+ break; -+ -+ case led_idle_end: -+ led_state &= ~LED_STATE_IDLE; -+#ifndef CONFIG_LEDS_TIMER -+ /* green on, red on -> amber on */ -+ hw_led_state |= NSLU2_LED_GRN_BM | NSLU2_LED_RED_BM; -+#endif -+ break; -+#endif -+ -+ case led_halted: -+ if (!(led_state & LED_STATE_CLAIMED)) -+ hw_led_state |= NSLU2_LED_RED_BM; -+ break; -+ -+ /* leds */ -+ -+ case led_green_on: -+ if (led_state & LED_STATE_CLAIMED) -+ hw_led_state |= NSLU2_LED_GRN_BM; -+ break; -+ -+ case led_green_off: -+ if (led_state & LED_STATE_CLAIMED) -+ hw_led_state &= ~NSLU2_LED_GRN_BM; -+ break; -+ -+ case led_amber_on: -+ if (led_state & LED_STATE_CLAIMED) -+ hw_led_state |= (NSLU2_LED_RED_BM | NSLU2_LED_GRN_BM); -+ break; -+ -+ case led_amber_off: -+ if (led_state & LED_STATE_CLAIMED) -+ hw_led_state &= ~(NSLU2_LED_RED_BM | NSLU2_LED_GRN_BM); -+ break; -+ -+ case led_red_on: -+ if (led_state & LED_STATE_CLAIMED) -+ hw_led_state |= NSLU2_LED_RED_BM; -+ break; -+ -+ case led_red_off: -+ if (led_state & LED_STATE_CLAIMED) -+ hw_led_state &= ~NSLU2_LED_RED_BM; -+ break; -+ -+ default: -+ break; -+ } -+ -+ spin_unlock_irqrestore(&leds_lock, flags); -+ -+ if (led_state & LED_STATE_ENABLED) { -+ spin_lock_irqsave(&gpio_lock, flags); -+ *IXP4XX_GPIO_GPOUTR = (*IXP4XX_GPIO_GPOUTR & 0xFFFFFFF0) | hw_led_state; -+ spin_unlock_irqrestore(&gpio_lock, flags); -+ } -+} -+ -+static int nslu2_leds_panic_event(struct notifier_block *this, unsigned long event, -+ void *ptr) -+{ -+ leds_event(led_green_off); -+ leds_event(led_red_on); -+ -+ return NOTIFY_DONE; -+} -+ -+static struct notifier_block nslu2_leds_panic_block = { -+ .notifier_call = nslu2_leds_panic_event, -+}; -+ -+static int __init nslu2_leds_init(void) -+{ -+ if (!(machine_is_nslu2())) -+ return 0; -+ -+ printk(KERN_INFO "NSLU2: leds\n"); -+ -+ /* register panic notifier */ -+ notifier_chain_register(&panic_notifier_list, &nslu2_leds_panic_block); -+ -+ /* enable gpio 0-3 */ -+ gpio_line_config(NSLU2_LED_GRN, IXP4XX_GPIO_OUT); -+ gpio_line_config(NSLU2_LED_RED, IXP4XX_GPIO_OUT); -+ gpio_line_config(NSLU2_LED_DISK1, IXP4XX_GPIO_OUT); -+ gpio_line_config(NSLU2_LED_DISK2, IXP4XX_GPIO_OUT); -+ -+ leds_event = nslu2_leds_event; -+ -+ /* this will also initialize the leds to the -+ * default state. -+ */ -+ -+ leds_event(led_start); -+ -+ return 0; -+} -+ -+module_init(nslu2_leds_init); -+ diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/90-ixp4xx-pci-le.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/90-ixp4xx-pci-le.patch deleted file mode 100644 index 1a37b13a79..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/90-ixp4xx-pci-le.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- linux-2.6.13/.pc/90-ixp4xx-pci-le.patch/arch/arm/mach-ixp4xx/common-pci.c 2005-08-28 16:41:01.000000000 -0700 -+++ linux-2.6.13/arch/arm/mach-ixp4xx/common-pci.c 2005-10-26 15:24:30.337542292 -0700 -@@ -427,7 +427,7 @@ void __init ixp4xx_pci_preinit(void) - #ifdef __ARMEB__ - *PCI_CSR = PCI_CSR_IC | PCI_CSR_ABE | PCI_CSR_PDS | PCI_CSR_ADS; - #else -- *PCI_CSR = PCI_CSR_IC; -+ *PCI_CSR = PCI_CSR_IC | PCI_CSR_ABE; - #endif - - pr_debug("DONE\n"); diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/90-pegasus.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/90-pegasus.patch deleted file mode 100644 index ab80672135..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/90-pegasus.patch +++ /dev/null @@ -1,13 +0,0 @@ -*** linux-2.6.13/drivers/usb/net/pegasus.h.orig Mon Aug 29 01:41:01 2005 ---- linux-2.6.13/drivers/usb/net/pegasus.h Sat Oct 22 20:51:29 2005 -*************** -*** 181,186 **** ---- 181,188 ---- - DEFAULT_GPIO_RESET ) - PEGASUS_DEV( "SpeedStream USB 10/100 Ethernet", VENDOR_ACCTON, 0x5046, - DEFAULT_GPIO_RESET | PEGASUS_II ) -+ PEGASUS_DEV( "Philips CPWUE01/00 USB 10/100 Ethernet", VENDOR_ACCTON, 0xb004, -+ DEFAULT_GPIO_RESET | PEGASUS_II ) - PEGASUS_DEV( "ADMtek ADM8511 \"Pegasus II\" USB Ethernet", - VENDOR_ADMTEK, 0x8511, - DEFAULT_GPIO_RESET | PEGASUS_II | HAS_HOME_PNA ) diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/defconfig b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/defconfig deleted file mode 100644 index 83b25213ac..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/defconfig +++ /dev/null @@ -1,1556 +0,0 @@ -# -# Automatically generated make config: don't edit -# Linux kernel version: 2.6.14 -# Mon Nov 28 18:53:25 2005 -# -CONFIG_ARM=y -CONFIG_MMU=y -CONFIG_UID16=y -CONFIG_RWSEM_GENERIC_SPINLOCK=y -CONFIG_GENERIC_CALIBRATE_DELAY=y - -# -# Code maturity level options -# -CONFIG_EXPERIMENTAL=y -CONFIG_CLEAN_COMPILE=y -CONFIG_BROKEN_ON_SMP=y -CONFIG_INIT_ENV_ARG_LIMIT=32 - -# -# General setup -# -CONFIG_LOCALVERSION="" -CONFIG_LOCALVERSION_AUTO=y -CONFIG_SWAP=y -CONFIG_SYSVIPC=y -# CONFIG_POSIX_MQUEUE is not set -# CONFIG_BSD_PROCESS_ACCT is not set -CONFIG_SYSCTL=y -# CONFIG_AUDIT is not set -CONFIG_HOTPLUG=y -CONFIG_KOBJECT_UEVENT=y -# CONFIG_IKCONFIG is not set -CONFIG_INITRAMFS_SOURCE="" -CONFIG_EMBEDDED=y -# CONFIG_KALLSYMS is not set -CONFIG_PRINTK=y -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 -CONFIG_CC_ALIGN_LOOPS=0 -CONFIG_CC_ALIGN_JUMPS=0 -# CONFIG_TINY_SHMEM is not set -CONFIG_BASE_SMALL=1 - -# -# Loadable module support -# -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_MODULE_FORCE_UNLOAD is not set -CONFIG_OBSOLETE_MODPARM=y -# CONFIG_MODVERSIONS is not set -# CONFIG_MODULE_SRCVERSION_ALL is not set -CONFIG_KMOD=y - -# -# System Type -# -# CONFIG_ARCH_CLPS7500 is not set -# CONFIG_ARCH_CLPS711X is not set -# CONFIG_ARCH_CO285 is not set -# CONFIG_ARCH_EBSA110 is not set -# CONFIG_ARCH_CAMELOT is not set -# CONFIG_ARCH_FOOTBRIDGE is not set -# CONFIG_ARCH_INTEGRATOR is not set -# CONFIG_ARCH_IOP3XX is not set -CONFIG_ARCH_IXP4XX=y -# CONFIG_ARCH_IXP2000 is not set -# CONFIG_ARCH_L7200 is not set -# CONFIG_ARCH_PXA is not set -# CONFIG_ARCH_RPC is not set -# CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_S3C2410 is not set -# CONFIG_ARCH_SHARK is not set -# CONFIG_ARCH_LH7A40X is not set -# CONFIG_ARCH_OMAP is not set -# CONFIG_ARCH_VERSATILE is not set -# CONFIG_ARCH_IMX is not set -# CONFIG_ARCH_H720X is not set -# CONFIG_ARCH_AAEC2000 is not set -CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y - -# -# Intel IXP4xx Implementation Options -# - -# -# IXP4xx Platforms -# -CONFIG_MACH_NSLU2=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_PRPMC1100 is not set -# CONFIG_MACH_GTWX5715 is not set - -# -# IXP4xx Options -# -CONFIG_IXP4XX_INDIRECT_PCI=y - -# -# Processor Type -# -CONFIG_CPU_32=y -CONFIG_CPU_XSCALE=y -CONFIG_CPU_32v5=y -CONFIG_CPU_ABRT_EV5T=y -CONFIG_CPU_CACHE_VIVT=y -CONFIG_CPU_TLB_V4WBI=y - -# -# Processor Features -# -CONFIG_ARM_THUMB=y -CONFIG_CPU_BIG_ENDIAN=y -CONFIG_XSCALE_PMU=y -CONFIG_DMABOUNCE=y - -# -# Bus support -# -CONFIG_ISA_DMA_API=y -CONFIG_PCI=y -# CONFIG_PCI_LEGACY_PROC is not set - -# -# PCCARD (PCMCIA/CardBus) support -# -# CONFIG_PCCARD is not set - -# -# Kernel Features -# -# CONFIG_PREEMPT is not set -# CONFIG_NO_IDLE_HZ is not set -# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set -CONFIG_SELECT_MEMORY_MODEL=y -CONFIG_FLATMEM_MANUAL=y -# CONFIG_DISCONTIGMEM_MANUAL is not set -# CONFIG_SPARSEMEM_MANUAL is not set -CONFIG_FLATMEM=y -CONFIG_FLAT_NODE_MEM_MAP=y -# CONFIG_SPARSEMEM_STATIC is not set -# CONFIG_LEDS is not set -CONFIG_ALIGNMENT_TRAP=y - -# -# Boot options -# -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 noirqdebug console=ttyS0,115200n8" -# CONFIG_XIP_KERNEL is not set - -# -# Floating point emulation -# - -# -# At least one emulation must be selected -# -CONFIG_FPE_NWFPE=y -# CONFIG_FPE_FASTFPE is not set - -# -# Userspace binary formats -# -CONFIG_BINFMT_ELF=y -# CONFIG_BINFMT_AOUT is not set -# CONFIG_BINFMT_MISC is not set -# CONFIG_ARTHUR is not set - -# -# Power management options -# -# CONFIG_PM is not set - -# -# Networking -# -CONFIG_NET=y - -# -# Networking options -# -CONFIG_PACKET=m -CONFIG_PACKET_MMAP=y -CONFIG_UNIX=y -CONFIG_XFRM=y -# CONFIG_XFRM_USER is not set -# CONFIG_NET_KEY is not set -CONFIG_INET=y -# CONFIG_IP_MULTICAST is not set -# CONFIG_IP_ADVANCED_ROUTER is not set -CONFIG_IP_FIB_HASH=y -# CONFIG_IP_PNP is not set -# CONFIG_NET_IPIP is not set -# CONFIG_NET_IPGRE is not set -# CONFIG_ARPD is not set -# CONFIG_SYN_COOKIES is not set -CONFIG_INET_AH=m -CONFIG_INET_ESP=m -CONFIG_INET_IPCOMP=m -CONFIG_INET_TUNNEL=m -CONFIG_INET_DIAG=y -CONFIG_INET_TCP_DIAG=y -# CONFIG_TCP_CONG_ADVANCED is not set -CONFIG_TCP_CONG_BIC=y - -# -# IP: Virtual Server Configuration -# -# CONFIG_IP_VS is not set -CONFIG_IPV6=m -# CONFIG_IPV6_PRIVACY is not set -CONFIG_INET6_AH=m -CONFIG_INET6_ESP=m -CONFIG_INET6_IPCOMP=m -CONFIG_INET6_TUNNEL=m -CONFIG_IPV6_TUNNEL=m -CONFIG_NETFILTER=y -# CONFIG_NETFILTER_DEBUG is not set -CONFIG_BRIDGE_NETFILTER=y -# CONFIG_NETFILTER_NETLINK is not set - -# -# IP: Netfilter Configuration -# -CONFIG_IP_NF_CONNTRACK=m -# CONFIG_IP_NF_CT_ACCT is not set -# CONFIG_IP_NF_CONNTRACK_MARK is not set -# CONFIG_IP_NF_CONNTRACK_EVENTS is not set -CONFIG_IP_NF_CT_PROTO_SCTP=m -CONFIG_IP_NF_FTP=m -CONFIG_IP_NF_IRC=m -# CONFIG_IP_NF_NETBIOS_NS is not set -CONFIG_IP_NF_TFTP=m -CONFIG_IP_NF_AMANDA=m -# CONFIG_IP_NF_PPTP is not set -CONFIG_IP_NF_QUEUE=m -CONFIG_IP_NF_IPTABLES=m -CONFIG_IP_NF_MATCH_LIMIT=m -CONFIG_IP_NF_MATCH_IPRANGE=m -CONFIG_IP_NF_MATCH_MAC=m -CONFIG_IP_NF_MATCH_PKTTYPE=m -CONFIG_IP_NF_MATCH_MARK=m -CONFIG_IP_NF_MATCH_MULTIPORT=m -CONFIG_IP_NF_MATCH_TOS=m -CONFIG_IP_NF_MATCH_RECENT=m -CONFIG_IP_NF_MATCH_ECN=m -CONFIG_IP_NF_MATCH_DSCP=m -CONFIG_IP_NF_MATCH_AH_ESP=m -CONFIG_IP_NF_MATCH_LENGTH=m -CONFIG_IP_NF_MATCH_TTL=m -CONFIG_IP_NF_MATCH_TCPMSS=m -CONFIG_IP_NF_MATCH_HELPER=m -CONFIG_IP_NF_MATCH_STATE=m -CONFIG_IP_NF_MATCH_CONNTRACK=m -CONFIG_IP_NF_MATCH_OWNER=m -CONFIG_IP_NF_MATCH_PHYSDEV=m -CONFIG_IP_NF_MATCH_ADDRTYPE=m -CONFIG_IP_NF_MATCH_REALM=m -# CONFIG_IP_NF_MATCH_SCTP is not set -# CONFIG_IP_NF_MATCH_DCCP is not set -CONFIG_IP_NF_MATCH_COMMENT=m -CONFIG_IP_NF_MATCH_HASHLIMIT=m -# CONFIG_IP_NF_MATCH_STRING is not set -CONFIG_IP_NF_FILTER=m -# CONFIG_IP_NF_TARGET_REJECT is not set -CONFIG_IP_NF_TARGET_LOG=m -CONFIG_IP_NF_TARGET_ULOG=m -CONFIG_IP_NF_TARGET_TCPMSS=m -# CONFIG_IP_NF_TARGET_NFQUEUE is not set -CONFIG_IP_NF_NAT=m -CONFIG_IP_NF_NAT_NEEDED=y -CONFIG_IP_NF_TARGET_MASQUERADE=m -CONFIG_IP_NF_TARGET_REDIRECT=m -CONFIG_IP_NF_TARGET_NETMAP=m -CONFIG_IP_NF_TARGET_SAME=m -CONFIG_IP_NF_NAT_SNMP_BASIC=m -CONFIG_IP_NF_NAT_IRC=m -CONFIG_IP_NF_NAT_FTP=m -CONFIG_IP_NF_NAT_TFTP=m -CONFIG_IP_NF_NAT_AMANDA=m -CONFIG_IP_NF_MANGLE=m -CONFIG_IP_NF_TARGET_TOS=m -CONFIG_IP_NF_TARGET_ECN=m -CONFIG_IP_NF_TARGET_DSCP=m -CONFIG_IP_NF_TARGET_MARK=m -CONFIG_IP_NF_TARGET_CLASSIFY=m -# CONFIG_IP_NF_TARGET_TTL is not set -# CONFIG_IP_NF_RAW is not set -# CONFIG_IP_NF_ARPTABLES is not set - -# -# IPv6: Netfilter Configuration (EXPERIMENTAL) -# -# 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 -# -# CONFIG_BRIDGE_NF_EBTABLES is not set - -# -# DCCP Configuration (EXPERIMENTAL) -# -# CONFIG_IP_DCCP is not set - -# -# SCTP Configuration (EXPERIMENTAL) -# -# CONFIG_IP_SCTP is not set -# CONFIG_ATM is not set -CONFIG_BRIDGE=m -CONFIG_VLAN_8021Q=m -# CONFIG_DECNET is not set -CONFIG_LLC=m -# CONFIG_LLC2 is not set -CONFIG_IPX=m -# CONFIG_IPX_INTERN is not set -CONFIG_ATALK=m -CONFIG_DEV_APPLETALK=y -CONFIG_IPDDP=m -CONFIG_IPDDP_ENCAP=y -CONFIG_IPDDP_DECAP=y -# CONFIG_X25 is not set -# CONFIG_LAPB is not set -# CONFIG_NET_DIVERT is not set -# CONFIG_ECONET is not set -# CONFIG_WAN_ROUTER is not set -# CONFIG_NET_SCHED is not set -CONFIG_NET_CLS_ROUTE=y - -# -# Network testing -# -CONFIG_NET_PKTGEN=m -# CONFIG_HAMRADIO is not set -# CONFIG_IRDA is not set -CONFIG_BT=m -CONFIG_BT_L2CAP=m -CONFIG_BT_SCO=m -CONFIG_BT_RFCOMM=m -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=m -CONFIG_BT_BNEP_MC_FILTER=y -CONFIG_BT_BNEP_PROTO_FILTER=y -# CONFIG_BT_HIDP is not set - -# -# Bluetooth device drivers -# -CONFIG_BT_HCIUSB=m -CONFIG_BT_HCIUSB_SCO=y -# CONFIG_BT_HCIUART is not set -CONFIG_BT_HCIBCM203X=m -# CONFIG_BT_HCIBPA10X is not set -# CONFIG_BT_HCIBFUSB is not set -# CONFIG_BT_HCIVHCI is not set -# CONFIG_IEEE80211 is not set - -# -# Device Drivers -# - -# -# Generic Driver Options -# -CONFIG_STANDALONE=y -CONFIG_PREVENT_FIRMWARE_BUILD=y -CONFIG_FW_LOADER=m - -# -# Memory Technology Devices (MTD) -# -CONFIG_MTD=y -# CONFIG_MTD_DEBUG is not set -CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y -CONFIG_MTD_REDBOOT_PARTS=y -CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 -# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set -# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set -# CONFIG_MTD_CMDLINE_PARTS is not set -# CONFIG_MTD_AFS_PARTS is not set - -# -# User Modules And Translation Layers -# -CONFIG_MTD_CHAR=y -CONFIG_MTD_BLOCK=y -# CONFIG_FTL is not set -# CONFIG_NFTL is not set -# CONFIG_INFTL is not set - -# -# RAM/ROM/Flash chip drivers -# -CONFIG_MTD_CFI=y -# CONFIG_MTD_JEDECPROBE is not set -CONFIG_MTD_GEN_PROBE=y -CONFIG_MTD_CFI_ADV_OPTIONS=y -# CONFIG_MTD_CFI_NOSWAP is not set -CONFIG_MTD_CFI_BE_BYTE_SWAP=y -# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set -CONFIG_MTD_CFI_GEOMETRY=y -# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set -CONFIG_MTD_MAP_BANK_WIDTH_2=y -# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -# CONFIG_MTD_CFI_I4 is not set -# CONFIG_MTD_CFI_I8 is not set -# CONFIG_MTD_OTP is not set -CONFIG_MTD_CFI_INTELEXT=y -# CONFIG_MTD_CFI_AMDSTD is not set -# CONFIG_MTD_CFI_STAA is not set -CONFIG_MTD_CFI_UTIL=y -# CONFIG_MTD_RAM is not set -# CONFIG_MTD_ROM is not set -# CONFIG_MTD_ABSENT is not set -# CONFIG_MTD_XIP is not set - -# -# Mapping drivers for chip access -# -CONFIG_MTD_COMPLEX_MAPPINGS=y -# CONFIG_MTD_PHYSMAP is not set -# CONFIG_MTD_ARM_INTEGRATOR is not set -CONFIG_MTD_IXP4XX=y -# CONFIG_MTD_EDB7312 is not set -# CONFIG_MTD_PCI is not set -# CONFIG_MTD_PLATRAM is not set - -# -# Self-contained MTD device drivers -# -# CONFIG_MTD_PMC551 is not set -# CONFIG_MTD_SLRAM is not set -# CONFIG_MTD_PHRAM is not set -# CONFIG_MTD_MTDRAM is not set -# CONFIG_MTD_BLKMTD is not set -# CONFIG_MTD_BLOCK2MTD is not set - -# -# Disk-On-Chip Device Drivers -# -# CONFIG_MTD_DOC2000 is not set -# CONFIG_MTD_DOC2001 is not set -# CONFIG_MTD_DOC2001PLUS is not set - -# -# NAND Flash Device Drivers -# -# CONFIG_MTD_NAND is not set - -# -# Parallel port support -# -# CONFIG_PARPORT is not set - -# -# Plug and Play support -# - -# -# Block devices -# -# CONFIG_BLK_CPQ_DA is not set -# CONFIG_BLK_CPQ_CISS_DA is not set -# CONFIG_BLK_DEV_DAC960 is not set -# CONFIG_BLK_DEV_UMEM is not set -# CONFIG_BLK_DEV_COW_COMMON is not set -CONFIG_BLK_DEV_LOOP=m -# CONFIG_BLK_DEV_CRYPTOLOOP is not set -# CONFIG_BLK_DEV_NBD is not set -# CONFIG_BLK_DEV_SX8 is not set -# CONFIG_BLK_DEV_UB is not set -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_COUNT=4 -CONFIG_BLK_DEV_RAM_SIZE=10240 -CONFIG_BLK_DEV_INITRD=y -CONFIG_CDROM_PKTCDVD=m -CONFIG_CDROM_PKTCDVD_BUFFERS=8 -# CONFIG_CDROM_PKTCDVD_WCACHE is not set - -# -# IO Schedulers -# -CONFIG_IOSCHED_NOOP=y -# CONFIG_IOSCHED_AS is not set -CONFIG_IOSCHED_DEADLINE=y -# CONFIG_IOSCHED_CFQ is not set -# CONFIG_ATA_OVER_ETH is not set - -# -# ATA/ATAPI/MFM/RLL support -# -# CONFIG_IDE is not set - -# -# SCSI device support -# -# CONFIG_RAID_ATTRS is not set -CONFIG_SCSI=y -CONFIG_SCSI_PROC_FS=y - -# -# SCSI support type (disk, tape, CD-ROM) -# -CONFIG_BLK_DEV_SD=y -# CONFIG_CHR_DEV_ST is not set -# CONFIG_CHR_DEV_OSST is not set -CONFIG_BLK_DEV_SR=m -# CONFIG_BLK_DEV_SR_VENDOR is not set -CONFIG_CHR_DEV_SG=m -# CONFIG_CHR_DEV_SCH is not set - -# -# Some SCSI devices (e.g. CD jukebox) support multiple LUNs -# -CONFIG_SCSI_MULTI_LUN=y -# CONFIG_SCSI_CONSTANTS is not set -# CONFIG_SCSI_LOGGING is not set - -# -# SCSI Transport Attributes -# -# CONFIG_SCSI_SPI_ATTRS is not set -# CONFIG_SCSI_FC_ATTRS is not set -# CONFIG_SCSI_ISCSI_ATTRS is not set -# CONFIG_SCSI_SAS_ATTRS is not set - -# -# SCSI low-level drivers -# -# CONFIG_BLK_DEV_3W_XXXX_RAID is not set -# CONFIG_SCSI_3W_9XXX is not set -# CONFIG_SCSI_ACARD is not set -# CONFIG_SCSI_AACRAID is not set -# CONFIG_SCSI_AIC7XXX is not set -# CONFIG_SCSI_AIC7XXX_OLD is not set -# CONFIG_SCSI_AIC79XX is not set -# CONFIG_SCSI_DPT_I2O is not set -# CONFIG_MEGARAID_NEWGEN is not set -# CONFIG_MEGARAID_LEGACY is not set -# CONFIG_MEGARAID_SAS is not set -# CONFIG_SCSI_SATA is not set -# CONFIG_SCSI_BUSLOGIC is not set -# CONFIG_SCSI_DMX3191D is not set -# CONFIG_SCSI_EATA is not set -# CONFIG_SCSI_FUTURE_DOMAIN is not set -# CONFIG_SCSI_GDTH is not set -# CONFIG_SCSI_IPS is not set -# CONFIG_SCSI_INITIO is not set -# CONFIG_SCSI_INIA100 is not set -# CONFIG_SCSI_SYM53C8XX_2 is not set -# CONFIG_SCSI_IPR is not set -# CONFIG_SCSI_QLOGIC_FC is not set -# CONFIG_SCSI_QLOGIC_1280 is not set -CONFIG_SCSI_QLA2XXX=y -# CONFIG_SCSI_QLA21XX is not set -# CONFIG_SCSI_QLA22XX is not set -# CONFIG_SCSI_QLA2300 is not set -# CONFIG_SCSI_QLA2322 is not set -# CONFIG_SCSI_QLA6312 is not set -# CONFIG_SCSI_QLA24XX is not set -# CONFIG_SCSI_LPFC is not set -# CONFIG_SCSI_DC395x is not set -# CONFIG_SCSI_DC390T is not set -# CONFIG_SCSI_NSP32 is not set -# CONFIG_SCSI_DEBUG is not set - -# -# Multi-device support (RAID and LVM) -# -CONFIG_MD=y -CONFIG_BLK_DEV_MD=m -CONFIG_MD_LINEAR=m -CONFIG_MD_RAID0=m -CONFIG_MD_RAID1=m -CONFIG_MD_RAID10=m -CONFIG_MD_RAID5=m -CONFIG_MD_RAID6=m -CONFIG_MD_MULTIPATH=m -CONFIG_MD_FAULTY=m -CONFIG_BLK_DEV_DM=m -# CONFIG_DM_CRYPT is not set -# CONFIG_DM_SNAPSHOT is not set -# CONFIG_DM_MIRROR is not set -# CONFIG_DM_ZERO is not set -# CONFIG_DM_MULTIPATH is not set - -# -# Fusion MPT device support -# -# CONFIG_FUSION is not set -# CONFIG_FUSION_SPI is not set -# CONFIG_FUSION_FC is not set -# CONFIG_FUSION_SAS is not set - -# -# IEEE 1394 (FireWire) support -# -# CONFIG_IEEE1394 is not set - -# -# I2O device support -# -# CONFIG_I2O is not set - -# -# Network device support -# -CONFIG_NETDEVICES=y -# CONFIG_DUMMY is not set -# CONFIG_BONDING is not set -# CONFIG_EQUALIZER is not set -CONFIG_TUN=m - -# -# ARCnet devices -# -# CONFIG_ARCNET is not set - -# -# PHY device support -# -# CONFIG_PHYLIB is not set - -# -# Ethernet (10 or 100Mbit) -# -CONFIG_NET_ETHERNET=y -CONFIG_MACLIST=y -CONFIG_MII=y -# CONFIG_HAPPYMEAL is not set -# CONFIG_SUNGEM is not set -# CONFIG_CASSINI is not set -# CONFIG_NET_VENDOR_3COM is not set -# CONFIG_SMC91X is not set -# CONFIG_DM9000 is not set - -# -# Tulip family network device support -# -# CONFIG_NET_TULIP is not set -# CONFIG_HP100 is not set -CONFIG_NET_PCI=y -# CONFIG_PCNET32 is not set -# CONFIG_AMD8111_ETH is not set -# CONFIG_ADAPTEC_STARFIRE is not set -# CONFIG_B44 is not set -# CONFIG_FORCEDETH is not set -# CONFIG_DGRS is not set -# CONFIG_EEPRO100 is not set -# CONFIG_E100 is not set -# CONFIG_FEALNX is not set -# CONFIG_NATSEMI is not set -# CONFIG_NE2K_PCI is not set -# CONFIG_8139CP is not set -# CONFIG_8139TOO is not set -# CONFIG_SIS900 is not set -# CONFIG_EPIC100 is not set -# CONFIG_SUNDANCE is not set -# CONFIG_TLAN is not set -# CONFIG_VIA_RHINE is not set - -# -# Ethernet (1000 Mbit) -# -# CONFIG_ACENIC is not set -# CONFIG_DL2K is not set -# CONFIG_E1000 is not set -# CONFIG_NS83820 is not set -# CONFIG_HAMACHI is not set -# CONFIG_YELLOWFIN is not set -# CONFIG_R8169 is not set -# CONFIG_SIS190 is not set -# CONFIG_SKGE is not set -# CONFIG_SK98LIN is not set -# CONFIG_VIA_VELOCITY is not set -# CONFIG_TIGON3 is not set -# CONFIG_BNX2 is not set - -# -# Ethernet (10000 Mbit) -# -# CONFIG_CHELSIO_T1 is not set -# CONFIG_IXGB is not set -# CONFIG_S2IO is not set - -# -# Token Ring devices -# -# CONFIG_TR is not set - -# -# Wireless LAN (non-hamradio) -# -CONFIG_NET_RADIO=y - -# -# Obsolete Wireless cards support (pre-802.11) -# -# CONFIG_STRIP is not set - -# -# Wireless 802.11b ISA/PCI cards support -# -# CONFIG_AIRO is not set -# CONFIG_HERMES is not set -# CONFIG_ATMEL is not set - -# -# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support -# -# CONFIG_PRISM54 is not set -# CONFIG_HOSTAP is not set -CONFIG_NET_WIRELESS=y - -# -# Wan interfaces -# -# CONFIG_WAN is not set -# CONFIG_FDDI is not set -# CONFIG_HIPPI is not set -CONFIG_PPP=m -# CONFIG_PPP_MULTILINK is not set -CONFIG_PPP_FILTER=y -CONFIG_PPP_ASYNC=m -# CONFIG_PPP_SYNC_TTY is not set -CONFIG_PPP_DEFLATE=m -CONFIG_PPP_BSDCOMP=m -# CONFIG_PPPOE is not set -# CONFIG_SLIP is not set -# CONFIG_NET_FC is not set -# CONFIG_SHAPER is not set -CONFIG_NETCONSOLE=m -CONFIG_NETPOLL=y -# CONFIG_NETPOLL_RX is not set -# CONFIG_NETPOLL_TRAP is not set -CONFIG_NET_POLL_CONTROLLER=y - -# -# ISDN subsystem -# -# CONFIG_ISDN is not set - -# -# Input device support -# -CONFIG_INPUT=m - -# -# Userland interfaces -# -# CONFIG_INPUT_MOUSEDEV is not set -# CONFIG_INPUT_JOYDEV is not set -# CONFIG_INPUT_TSDEV is not set -CONFIG_INPUT_EVDEV=m -# CONFIG_INPUT_EVBUG is not set - -# -# Input Device Drivers -# -# CONFIG_INPUT_KEYBOARD is not set -# CONFIG_INPUT_MOUSE is not set -# CONFIG_INPUT_JOYSTICK is not set -# CONFIG_INPUT_TOUCHSCREEN is not set -# CONFIG_INPUT_MISC is not set - -# -# Hardware I/O ports -# -# CONFIG_SERIO is not set -# CONFIG_GAMEPORT is not set - -# -# Character devices -# -# CONFIG_VT is not set -# CONFIG_SERIAL_NONSTANDARD is not set - -# -# Serial drivers -# -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_8250_NR_UARTS=2 -# CONFIG_SERIAL_8250_EXTENDED is not set - -# -# Non-8250 serial port support -# -CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_CORE_CONSOLE=y -# CONFIG_SERIAL_JSM is not set -CONFIG_UNIX98_PTYS=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=16 - -# -# IPMI -# -# CONFIG_IPMI_HANDLER is not set - -# -# Watchdog Cards -# -CONFIG_WATCHDOG=y -# CONFIG_WATCHDOG_NOWAYOUT is not set - -# -# Watchdog Device Drivers -# -# CONFIG_SOFT_WATCHDOG is not set -CONFIG_IXP4XX_WATCHDOG=y - -# -# PCI-based Watchdog Cards -# -# CONFIG_PCIPCWATCHDOG is not set -# CONFIG_WDTPCI is not set - -# -# USB-based Watchdog Cards -# -# CONFIG_USBPCWATCHDOG is not set -# CONFIG_NVRAM is not set -CONFIG_RTC=m -# CONFIG_DTLK is not set -# CONFIG_R3964 is not set -# CONFIG_APPLICOM is not set - -# -# Ftape, the floppy tape device driver -# -# CONFIG_DRM is not set -# CONFIG_RAW_DRIVER is not set - -# -# TPM devices -# -# CONFIG_TCG_TPM is not set - -# -# I2C support -# -CONFIG_I2C=y -CONFIG_I2C_CHARDEV=y - -# -# I2C Algorithms -# -CONFIG_I2C_ALGOBIT=y -# CONFIG_I2C_ALGOPCF is not set -# CONFIG_I2C_ALGOPCA is not set - -# -# I2C Hardware Bus support -# -# CONFIG_I2C_ALI1535 is not set -# CONFIG_I2C_ALI1563 is not set -# CONFIG_I2C_ALI15X3 is not set -# CONFIG_I2C_AMD756 is not set -# CONFIG_I2C_AMD8111 is not set -# CONFIG_I2C_I801 is not set -# CONFIG_I2C_I810 is not set -# CONFIG_I2C_PIIX4 is not set -# CONFIG_I2C_IOP3XX is not set -CONFIG_I2C_IXP4XX=y -# CONFIG_I2C_NFORCE2 is not set -# CONFIG_I2C_PARPORT_LIGHT is not set -# CONFIG_I2C_PROSAVAGE is not set -# CONFIG_I2C_SAVAGE4 is not set -# CONFIG_SCx200_ACB is not set -# CONFIG_I2C_SIS5595 is not set -# CONFIG_I2C_SIS630 is not set -# CONFIG_I2C_SIS96X is not set -# CONFIG_I2C_STUB is not set -# CONFIG_I2C_VIA is not set -# CONFIG_I2C_VIAPRO is not set -# CONFIG_I2C_VOODOO3 is not set -# CONFIG_I2C_PCA_ISA is not set - -# -# Miscellaneous I2C Chip support -# -# CONFIG_SENSORS_DS1337 is not set -# CONFIG_SENSORS_DS1374 is not set -CONFIG_SENSORS_EEPROM=y -# CONFIG_SENSORS_PCF8574 is not set -# CONFIG_SENSORS_PCA9539 is not set -# CONFIG_SENSORS_PCF8591 is not set -# CONFIG_SENSORS_RTC8564 is not set -# CONFIG_SENSORS_MAX6875 is not set -CONFIG_SENSORS_X1205=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 - -# -# Hardware Monitoring support -# -CONFIG_HWMON=y -# CONFIG_HWMON_VID is not set -# CONFIG_SENSORS_ADM1021 is not set -# CONFIG_SENSORS_ADM1025 is not set -# CONFIG_SENSORS_ADM1026 is not set -# CONFIG_SENSORS_ADM1031 is not set -# CONFIG_SENSORS_ADM9240 is not set -# CONFIG_SENSORS_ASB100 is not set -# CONFIG_SENSORS_ATXP1 is not set -# CONFIG_SENSORS_DS1621 is not set -# CONFIG_SENSORS_FSCHER is not set -# CONFIG_SENSORS_FSCPOS is not set -# CONFIG_SENSORS_GL518SM is not set -# CONFIG_SENSORS_GL520SM is not set -# CONFIG_SENSORS_IT87 is not set -# CONFIG_SENSORS_LM63 is not set -# CONFIG_SENSORS_LM75 is not set -# CONFIG_SENSORS_LM77 is not set -# CONFIG_SENSORS_LM78 is not set -# CONFIG_SENSORS_LM80 is not set -# CONFIG_SENSORS_LM83 is not set -# CONFIG_SENSORS_LM85 is not set -# CONFIG_SENSORS_LM87 is not set -# CONFIG_SENSORS_LM90 is not set -# CONFIG_SENSORS_LM92 is not set -# CONFIG_SENSORS_MAX1619 is not set -# CONFIG_SENSORS_PC87360 is not set -# CONFIG_SENSORS_SIS5595 is not set -# CONFIG_SENSORS_SMSC47M1 is not set -# CONFIG_SENSORS_SMSC47B397 is not set -# CONFIG_SENSORS_VIA686A is not set -# CONFIG_SENSORS_W83781D is not set -# CONFIG_SENSORS_W83792D is not set -# CONFIG_SENSORS_W83L785TS is not set -# CONFIG_SENSORS_W83627HF is not set -# CONFIG_SENSORS_W83627EHF is not set -# CONFIG_HWMON_DEBUG_CHIP is not set - -# -# Misc devices -# - -# -# Multimedia Capabilities Port drivers -# - -# -# Multimedia devices -# -CONFIG_VIDEO_DEV=m - -# -# Video For Linux -# - -# -# Video Adapters -# -CONFIG_VIDEO_BT848=m -# CONFIG_VIDEO_SAA6588 is not set -CONFIG_VIDEO_CPIA=m -CONFIG_VIDEO_CPIA_USB=m -CONFIG_VIDEO_SAA5246A=m -CONFIG_VIDEO_SAA5249=m -CONFIG_TUNER_3036=m -CONFIG_VIDEO_STRADIS=m -CONFIG_VIDEO_ZORAN=m -CONFIG_VIDEO_ZORAN_BUZ=m -CONFIG_VIDEO_ZORAN_DC10=m -CONFIG_VIDEO_ZORAN_DC30=m -CONFIG_VIDEO_ZORAN_LML33=m -CONFIG_VIDEO_ZORAN_LML33R10=m -CONFIG_VIDEO_SAA7134=m -CONFIG_VIDEO_MXB=m -CONFIG_VIDEO_DPC=m -CONFIG_VIDEO_HEXIUM_ORION=m -CONFIG_VIDEO_HEXIUM_GEMINI=m -CONFIG_VIDEO_CX88=m -CONFIG_VIDEO_OVCAMCHIP=m - -# -# Radio Adapters -# -# CONFIG_RADIO_GEMTEK_PCI is not set -# CONFIG_RADIO_MAXIRADIO is not set -# CONFIG_RADIO_MAESTRO is not set - -# -# Digital Video Broadcasting Devices -# -# CONFIG_DVB is not set -CONFIG_VIDEO_SAA7146=m -CONFIG_VIDEO_SAA7146_VV=m -CONFIG_VIDEO_VIDEOBUF=m -CONFIG_VIDEO_TUNER=m -CONFIG_VIDEO_BUF=m -CONFIG_VIDEO_BTCX=m -CONFIG_VIDEO_IR=m -CONFIG_VIDEO_TVEEPROM=m - -# -# Graphics support -# -# CONFIG_FB is not set - -# -# Sound -# -CONFIG_SOUND=m - -# -# Advanced Linux Sound Architecture -# -CONFIG_SND=m -CONFIG_SND_TIMER=m -CONFIG_SND_PCM=m -CONFIG_SND_HWDEP=m -CONFIG_SND_RAWMIDI=m -# CONFIG_SND_SEQUENCER is not set -CONFIG_SND_OSSEMUL=y -CONFIG_SND_MIXER_OSS=m -CONFIG_SND_PCM_OSS=m -# CONFIG_SND_RTCTIMER is not set -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG is not set - -# -# Generic devices -# -# CONFIG_SND_DUMMY is not set -# CONFIG_SND_MTPAV is not set -# CONFIG_SND_SERIAL_U16550 is not set -# CONFIG_SND_MPU401 is not set - -# -# PCI devices -# -# CONFIG_SND_ALI5451 is not set -# CONFIG_SND_ATIIXP is not set -# CONFIG_SND_ATIIXP_MODEM is not set -# CONFIG_SND_AU8810 is not set -# CONFIG_SND_AU8820 is not set -# CONFIG_SND_AU8830 is not set -# CONFIG_SND_AZT3328 is not set -# CONFIG_SND_BT87X is not set -# CONFIG_SND_CS46XX is not set -# CONFIG_SND_CS4281 is not set -# CONFIG_SND_EMU10K1 is not set -# CONFIG_SND_EMU10K1X is not set -# CONFIG_SND_CA0106 is not set -# CONFIG_SND_KORG1212 is not set -# CONFIG_SND_MIXART is not set -# CONFIG_SND_NM256 is not set -# CONFIG_SND_RME32 is not set -# CONFIG_SND_RME96 is not set -# CONFIG_SND_RME9652 is not set -# CONFIG_SND_HDSP is not set -# CONFIG_SND_HDSPM is not set -# CONFIG_SND_TRIDENT is not set -# CONFIG_SND_YMFPCI is not set -# CONFIG_SND_AD1889 is not set -# CONFIG_SND_ALS4000 is not set -# CONFIG_SND_CMIPCI is not set -# CONFIG_SND_ENS1370 is not set -# CONFIG_SND_ENS1371 is not set -# CONFIG_SND_ES1938 is not set -# CONFIG_SND_ES1968 is not set -# CONFIG_SND_MAESTRO3 is not set -# CONFIG_SND_FM801 is not set -# CONFIG_SND_ICE1712 is not set -# CONFIG_SND_ICE1724 is not set -# CONFIG_SND_INTEL8X0 is not set -# CONFIG_SND_INTEL8X0M is not set -# CONFIG_SND_SONICVIBES is not set -# CONFIG_SND_VIA82XX is not set -# CONFIG_SND_VIA82XX_MODEM is not set -# CONFIG_SND_VX222 is not set -# CONFIG_SND_HDA_INTEL is not set - -# -# ALSA ARM devices -# - -# -# USB devices -# -CONFIG_SND_USB_AUDIO=m - -# -# Open Sound System -# -# CONFIG_SOUND_PRIME is not set - -# -# USB support -# -CONFIG_USB_ARCH_HAS_HCD=y -CONFIG_USB_ARCH_HAS_OHCI=y -CONFIG_USB=y -# CONFIG_USB_DEBUG is not set - -# -# Miscellaneous USB options -# -CONFIG_USB_DEVICEFS=y -# CONFIG_USB_BANDWIDTH is not set -# CONFIG_USB_DYNAMIC_MINORS is not set -# CONFIG_USB_OTG is not set - -# -# USB Host Controller Drivers -# -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_EHCI_SPLIT_ISO=y -# CONFIG_USB_EHCI_ROOT_HUB_TT is not set -# CONFIG_USB_ISP116X_HCD is not set -CONFIG_USB_OHCI_HCD=y -# CONFIG_USB_OHCI_BIG_ENDIAN is not set -CONFIG_USB_OHCI_LITTLE_ENDIAN=y -# CONFIG_USB_UHCI_HCD is not set -# CONFIG_USB_SL811_HCD is not set - -# -# USB Device Class drivers -# -# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set - -# -# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem -# -CONFIG_USB_ACM=m -CONFIG_USB_PRINTER=m - -# -# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information -# -CONFIG_USB_STORAGE=y -# CONFIG_USB_STORAGE_DEBUG is not set -# CONFIG_USB_STORAGE_DATAFAB is not set -# CONFIG_USB_STORAGE_FREECOM is not set -# CONFIG_USB_STORAGE_DPCM is not set -# CONFIG_USB_STORAGE_USBAT is not set -# CONFIG_USB_STORAGE_SDDR09 is not set -# CONFIG_USB_STORAGE_SDDR55 is not set -# CONFIG_USB_STORAGE_JUMPSHOT is not set -# CONFIG_USB_STORAGE_ONETOUCH is not set - -# -# USB Input Devices -# -CONFIG_USB_HID=m -CONFIG_USB_HIDINPUT=y -# CONFIG_HID_FF is not set -CONFIG_USB_HIDDEV=y - -# -# USB HID Boot Protocol drivers -# -CONFIG_USB_KBD=m -# CONFIG_USB_MOUSE is not set -# CONFIG_USB_AIPTEK is not set -# CONFIG_USB_WACOM is not set -# CONFIG_USB_ACECAD is not set -# CONFIG_USB_KBTAB is not set -# CONFIG_USB_POWERMATE is not set -# CONFIG_USB_MTOUCH is not set -# CONFIG_USB_ITMTOUCH is not set -# CONFIG_USB_EGALAX is not set -# CONFIG_USB_YEALINK is not set -# CONFIG_USB_XPAD is not set -# CONFIG_USB_ATI_REMOTE is not set -# CONFIG_USB_KEYSPAN_REMOTE is not set -# CONFIG_USB_APPLETOUCH is not set - -# -# USB Imaging devices -# -# CONFIG_USB_MDC800 is not set -# CONFIG_USB_MICROTEK is not set - -# -# USB Multimedia devices -# -# CONFIG_USB_DABUSB is not set -# CONFIG_USB_VICAM is not set -# CONFIG_USB_DSBR is not set -# CONFIG_USB_IBMCAM is not set -# CONFIG_USB_KONICAWC is not set -# CONFIG_USB_OV511 is not set -# CONFIG_USB_SE401 is not set -# CONFIG_USB_SN9C102 is not set -# CONFIG_USB_STV680 is not set -# CONFIG_USB_W9968CF is not set -CONFIG_USB_PWC=m - -# -# USB Network Adapters -# -CONFIG_USB_CATC=m -CONFIG_USB_KAWETH=m -CONFIG_USB_PEGASUS=m -CONFIG_USB_RTL8150=m -CONFIG_USB_USBNET=m -CONFIG_USB_NET_AX8817X=m -CONFIG_USB_NET_CDCETHER=m -# CONFIG_USB_NET_GL620A is not set -CONFIG_USB_NET_NET1080=m -# CONFIG_USB_NET_PLUSB is not set -# CONFIG_USB_NET_RNDIS_HOST is not set -# CONFIG_USB_NET_CDC_SUBSET is not set -CONFIG_USB_NET_ZAURUS=m -# CONFIG_USB_ZD1201 is not set -# CONFIG_USB_MON is not set - -# -# USB port drivers -# - -# -# USB Serial Converter support -# -CONFIG_USB_SERIAL=m -CONFIG_USB_SERIAL_GENERIC=y -# CONFIG_USB_SERIAL_AIRPRIME is not set -CONFIG_USB_SERIAL_BELKIN=m -CONFIG_USB_SERIAL_WHITEHEAT=m -CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m -# CONFIG_USB_SERIAL_CP2101 is not set -CONFIG_USB_SERIAL_CYPRESS_M8=m -CONFIG_USB_SERIAL_EMPEG=m -CONFIG_USB_SERIAL_FTDI_SIO=m -CONFIG_USB_SERIAL_VISOR=m -CONFIG_USB_SERIAL_IPAQ=m -CONFIG_USB_SERIAL_IR=m -CONFIG_USB_SERIAL_EDGEPORT=m -CONFIG_USB_SERIAL_EDGEPORT_TI=m -CONFIG_USB_SERIAL_GARMIN=m -CONFIG_USB_SERIAL_IPW=m -CONFIG_USB_SERIAL_KEYSPAN_PDA=m -# CONFIG_USB_SERIAL_KEYSPAN is not set -CONFIG_USB_SERIAL_KLSI=m -CONFIG_USB_SERIAL_KOBIL_SCT=m -CONFIG_USB_SERIAL_MCT_U232=m -CONFIG_USB_SERIAL_PL2303=m -# CONFIG_USB_SERIAL_HP4X is not set -CONFIG_USB_SERIAL_SAFE=m -# CONFIG_USB_SERIAL_SAFE_PADDED is not set -CONFIG_USB_SERIAL_TI=m -CONFIG_USB_SERIAL_CYBERJACK=m -CONFIG_USB_SERIAL_XIRCOM=m -CONFIG_USB_SERIAL_OMNINET=m -CONFIG_USB_EZUSB=y - -# -# USB Miscellaneous drivers -# -# CONFIG_USB_EMI62 is not set -# CONFIG_USB_EMI26 is not set -# CONFIG_USB_AUERSWALD is not set -# CONFIG_USB_RIO500 is not set -# CONFIG_USB_LEGOTOWER is not set -# CONFIG_USB_LCD is not set -# CONFIG_USB_LED is not set -# CONFIG_USB_CYTHERM is not set -# CONFIG_USB_PHIDGETKIT is not set -# CONFIG_USB_PHIDGETSERVO is not set -# CONFIG_USB_IDMOUSE is not set -# CONFIG_USB_SISUSBVGA is not set -# CONFIG_USB_LD is not set -# CONFIG_USB_TEST is not set - -# -# USB DSL modem support -# - -# -# USB Gadget Support -# -# CONFIG_USB_GADGET is not set - -# -# MMC/SD Card support -# -# CONFIG_MMC is not set - -# -# File systems -# -CONFIG_EXT2_FS=m -CONFIG_EXT2_FS_XATTR=y -CONFIG_EXT2_FS_POSIX_ACL=y -CONFIG_EXT2_FS_SECURITY=y -# CONFIG_EXT2_FS_XIP is not set -CONFIG_EXT3_FS=m -CONFIG_EXT3_FS_XATTR=y -CONFIG_EXT3_FS_POSIX_ACL=y -CONFIG_EXT3_FS_SECURITY=y -CONFIG_JBD=m -# CONFIG_JBD_DEBUG is not set -CONFIG_FS_MBCACHE=m -CONFIG_REISERFS_FS=m -# CONFIG_REISERFS_CHECK is not set -# CONFIG_REISERFS_PROC_INFO is not set -CONFIG_REISERFS_FS_XATTR=y -CONFIG_REISERFS_FS_POSIX_ACL=y -CONFIG_REISERFS_FS_SECURITY=y -# CONFIG_JFS_FS is not set -CONFIG_FS_POSIX_ACL=y -# CONFIG_XFS_FS is not set -# CONFIG_MINIX_FS is not set -# CONFIG_ROMFS_FS is not set -CONFIG_INOTIFY=y -# CONFIG_QUOTA is not set -CONFIG_DNOTIFY=y -# CONFIG_AUTOFS_FS is not set -CONFIG_AUTOFS4_FS=m -# CONFIG_FUSE_FS is not set - -# -# CD-ROM/DVD Filesystems -# -CONFIG_ISO9660_FS=m -CONFIG_JOLIET=y -CONFIG_ZISOFS=y -CONFIG_ZISOFS_FS=m -CONFIG_UDF_FS=m -CONFIG_UDF_NLS=y - -# -# DOS/FAT/NT Filesystems -# -CONFIG_FAT_FS=m -CONFIG_MSDOS_FS=m -CONFIG_VFAT_FS=m -CONFIG_FAT_DEFAULT_CODEPAGE=437 -CONFIG_FAT_DEFAULT_IOCHARSET="utf8" -CONFIG_NTFS_FS=m -# CONFIG_NTFS_DEBUG is not set -CONFIG_NTFS_RW=y - -# -# Pseudo filesystems -# -CONFIG_PROC_FS=y -CONFIG_SYSFS=y -CONFIG_TMPFS=y -# CONFIG_HUGETLB_PAGE is not set -CONFIG_RAMFS=y -# CONFIG_RELAYFS_FS is not set - -# -# Miscellaneous filesystems -# -# CONFIG_ADFS_FS is not set -# CONFIG_AFFS_FS is not set -# CONFIG_HFS_FS is not set -# CONFIG_HFSPLUS_FS is not set -# CONFIG_BEFS_FS is not set -# CONFIG_BFS_FS is not set -# CONFIG_EFS_FS is not set -# CONFIG_JFFS_FS is not set -CONFIG_JFFS2_FS=y -CONFIG_JFFS2_FS_DEBUG=0 -CONFIG_JFFS2_FS_WRITEBUFFER=y -# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set -CONFIG_JFFS2_ZLIB=y -CONFIG_JFFS2_RTIME=y -# CONFIG_JFFS2_RUBIN is not set -# CONFIG_CRAMFS is not set -# CONFIG_VXFS_FS is not set -# CONFIG_HPFS_FS is not set -# CONFIG_QNX4FS_FS is not set -# CONFIG_SYSV_FS is not set -# CONFIG_UFS_FS is not set - -# -# Network File Systems -# -CONFIG_NFS_FS=m -CONFIG_NFS_V3=y -# CONFIG_NFS_V3_ACL is not set -CONFIG_NFS_V4=y -CONFIG_NFS_DIRECTIO=y -CONFIG_NFSD=m -CONFIG_NFSD_V3=y -# CONFIG_NFSD_V3_ACL is not set -CONFIG_NFSD_V4=y -CONFIG_NFSD_TCP=y -CONFIG_LOCKD=m -CONFIG_LOCKD_V4=y -CONFIG_EXPORTFS=m -CONFIG_NFS_COMMON=y -CONFIG_SUNRPC=m -CONFIG_SUNRPC_GSS=m -CONFIG_RPCSEC_GSS_KRB5=m -# CONFIG_RPCSEC_GSS_SPKM3 is not set -CONFIG_SMB_FS=m -# CONFIG_SMB_NLS_DEFAULT is not set -CONFIG_CIFS=m -# CONFIG_CIFS_STATS is not set -CONFIG_CIFS_XATTR=y -CONFIG_CIFS_POSIX=y -# CONFIG_CIFS_EXPERIMENTAL is not set -# CONFIG_NCP_FS is not set -# CONFIG_CODA_FS is not set -# CONFIG_AFS_FS is not set -# CONFIG_9P_FS is not set - -# -# Partition Types -# -CONFIG_PARTITION_ADVANCED=y -# CONFIG_ACORN_PARTITION is not set -# CONFIG_OSF_PARTITION is not set -# CONFIG_AMIGA_PARTITION is not set -# CONFIG_ATARI_PARTITION is not set -# CONFIG_MAC_PARTITION is not set -CONFIG_MSDOS_PARTITION=y -# CONFIG_BSD_DISKLABEL is not set -# CONFIG_MINIX_SUBPARTITION is not set -# CONFIG_SOLARIS_X86_PARTITION is not set -# CONFIG_UNIXWARE_DISKLABEL is not set -# CONFIG_LDM_PARTITION is not set -# CONFIG_SGI_PARTITION is not set -# CONFIG_ULTRIX_PARTITION is not set -# CONFIG_SUN_PARTITION is not set -# CONFIG_EFI_PARTITION is not set - -# -# Native Language Support -# -CONFIG_NLS=m -CONFIG_NLS_DEFAULT="utf8" -CONFIG_NLS_CODEPAGE_437=m -CONFIG_NLS_CODEPAGE_737=m -CONFIG_NLS_CODEPAGE_775=m -CONFIG_NLS_CODEPAGE_850=m -CONFIG_NLS_CODEPAGE_852=m -CONFIG_NLS_CODEPAGE_855=m -CONFIG_NLS_CODEPAGE_857=m -CONFIG_NLS_CODEPAGE_860=m -CONFIG_NLS_CODEPAGE_861=m -CONFIG_NLS_CODEPAGE_862=m -CONFIG_NLS_CODEPAGE_863=m -CONFIG_NLS_CODEPAGE_864=m -CONFIG_NLS_CODEPAGE_865=m -CONFIG_NLS_CODEPAGE_866=m -CONFIG_NLS_CODEPAGE_869=m -CONFIG_NLS_CODEPAGE_936=m -CONFIG_NLS_CODEPAGE_950=m -CONFIG_NLS_CODEPAGE_932=m -CONFIG_NLS_CODEPAGE_949=m -CONFIG_NLS_CODEPAGE_874=m -CONFIG_NLS_ISO8859_8=m -CONFIG_NLS_CODEPAGE_1250=m -CONFIG_NLS_CODEPAGE_1251=m -CONFIG_NLS_ASCII=m -CONFIG_NLS_ISO8859_1=m -CONFIG_NLS_ISO8859_2=m -CONFIG_NLS_ISO8859_3=m -CONFIG_NLS_ISO8859_4=m -CONFIG_NLS_ISO8859_5=m -CONFIG_NLS_ISO8859_6=m -CONFIG_NLS_ISO8859_7=m -CONFIG_NLS_ISO8859_9=m -CONFIG_NLS_ISO8859_13=m -CONFIG_NLS_ISO8859_14=m -CONFIG_NLS_ISO8859_15=m -CONFIG_NLS_KOI8_R=m -CONFIG_NLS_KOI8_U=m -CONFIG_NLS_UTF8=m - -# -# Profiling support -# -# CONFIG_PROFILING is not set - -# -# Kernel hacking -# -# CONFIG_PRINTK_TIME is not set -# CONFIG_DEBUG_KERNEL is not set -CONFIG_LOG_BUF_SHIFT=14 -# CONFIG_DEBUG_BUGVERBOSE is not set -CONFIG_FRAME_POINTER=y -# CONFIG_DEBUG_USER is not set - -# -# Security options -# -# CONFIG_KEYS is not set -# CONFIG_SECURITY is not set - -# -# Cryptographic options -# -CONFIG_CRYPTO=y -CONFIG_CRYPTO_HMAC=y -# CONFIG_CRYPTO_NULL is not set -CONFIG_CRYPTO_MD4=m -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_SHA1=m -CONFIG_CRYPTO_SHA256=m -CONFIG_CRYPTO_SHA512=m -CONFIG_CRYPTO_WP512=m -CONFIG_CRYPTO_TGR192=m -CONFIG_CRYPTO_DES=m -CONFIG_CRYPTO_BLOWFISH=m -CONFIG_CRYPTO_TWOFISH=m -CONFIG_CRYPTO_SERPENT=m -CONFIG_CRYPTO_AES=m -CONFIG_CRYPTO_CAST5=m -CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_TEA=m -CONFIG_CRYPTO_ARC4=m -CONFIG_CRYPTO_KHAZAD=m -CONFIG_CRYPTO_ANUBIS=m -CONFIG_CRYPTO_DEFLATE=m -CONFIG_CRYPTO_MICHAEL_MIC=m -CONFIG_CRYPTO_CRC32C=m -CONFIG_CRYPTO_TEST=m - -# -# Hardware crypto devices -# - -# -# Library routines -# -CONFIG_CRC_CCITT=m -# CONFIG_CRC16 is not set -CONFIG_CRC32=y -CONFIG_LIBCRC32C=m -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/00-memory-h-page-shift.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.15/00-memory-h-page-shift.patch deleted file mode 100644 index 30d34952d5..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/00-memory-h-page-shift.patch +++ /dev/null @@ -1,91 +0,0 @@ -http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=3218/1 - -PAGE_SHIFT is undeclared in include/asm-arm/arch-ixp4xx/memory.h, identified by the following kernel compilation error: - -CC [M] sound/core/memory.o -In file included from include/asm/memory.h:27, -from include/asm/io.h:28, -from sound/core/memory.c:24: -include/asm/arch/memory.h: In function `__arch_adjust_zones': -include/asm/arch/memory.h:28: error: `PAGE_SHIFT' undeclared (first use -in this function) - -This patch replaces my previous attempt at fixing this problem (Patch 3214/1) and is based on the following feedback: - -Russell King wrote: -> The error you see came up on SA1100. The best solution was to move -> the __arch_adjust_zones() function out of line. I suggest ixp4xx -> does the same. - -I have moved the function out of line into arch/arm/mach-ixp4xx/common-pci.c as suggested. - -Signed-off-by: Rod Whitby <rod@whitby.id.au> - ---- linux-2.6.15-rc7/include/asm-arm/arch-ixp4xx/memory.h~ 2005-12-30 05:18:27.000000000 +1030 -+++ linux-2.6.15-rc7/include/asm-arm/arch-ixp4xx/memory.h 2005-12-30 05:36:04.000000000 +1030 -@@ -16,31 +16,10 @@ - - #ifndef __ASSEMBLY__ - --/* -- * Only first 64MB of memory can be accessed via PCI. -- * We use GFP_DMA to allocate safe buffers to do map/unmap. -- * This is really ugly and we need a better way of specifying -- * DMA-capable regions of memory. -- */ --static inline void __arch_adjust_zones(int node, unsigned long *zone_size, -- unsigned long *zhole_size) --{ -- unsigned int sz = SZ_64M >> PAGE_SHIFT; -- -- /* -- * Only adjust if > 64M on current system -- */ -- if (node || (zone_size[0] <= sz)) -- return; -- -- zone_size[1] = zone_size[0] - sz; -- zone_size[0] = sz; -- zhole_size[1] = zhole_size[0]; -- zhole_size[0] = 0; --} -+void ixp4xx_adjust_zones(int node, unsigned long *size, unsigned long *holes); - - #define arch_adjust_zones(node, size, holes) \ -- __arch_adjust_zones(node, size, holes) -+ ixp4xx_adjust_zones(node, size, holes) - - #define ISA_DMA_THRESHOLD (SZ_64M - 1) - ---- linux-2.6.15-rc7/arch/arm/mach-ixp4xx/common-pci.c~ 2005-12-30 05:16:03.000000000 +1030 -+++ linux-2.6.15-rc7/arch/arm/mach-ixp4xx/common-pci.c 2005-12-30 05:43:55.000000000 +1030 -@@ -341,6 +341,29 @@ int dma_needs_bounce(struct device *dev, - return (dev->bus == &pci_bus_type ) && ((dma_addr + size) >= SZ_64M); - } - -+/* -+ * Only first 64MB of memory can be accessed via PCI. -+ * We use GFP_DMA to allocate safe buffers to do map/unmap. -+ * This is really ugly and we need a better way of specifying -+ * DMA-capable regions of memory. -+ */ -+void __init ixp4xx_adjust_zones(int node, unsigned long *zone_size, -+ unsigned long *zhole_size) -+{ -+ unsigned int sz = SZ_64M >> PAGE_SHIFT; -+ -+ /* -+ * Only adjust if > 64M on current system -+ */ -+ if (node || (zone_size[0] <= sz)) -+ return; -+ -+ zone_size[1] = zone_size[0] - sz; -+ zone_size[0] = sz; -+ zhole_size[1] = zhole_size[0]; -+ zhole_size[0] = 0; -+} -+ - void __init ixp4xx_pci_preinit(void) - { - unsigned long processor_id; diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/10-mtdpart-redboot-fis-byteswap.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.15/10-mtdpart-redboot-fis-byteswap.patch deleted file mode 100644 index 3fa0535abf..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/10-mtdpart-redboot-fis-byteswap.patch +++ /dev/null @@ -1,70 +0,0 @@ -drivers/mtd/redboot.c: recognise a foreign byte sex partition table - -The RedBoot boot loader writes flash partition tables containing native -byte sex 32 bit values. When booting an opposite byte sex kernel (e.g. an -LE kernel from BE RedBoot) the current MTD driver fails to handle the -partition table and therefore is unable to generate the correct partition -map for the flash. - -The patch recognises that the FIS directory (the partition table) is -byte-reversed by examining the partition table size, which is known to be -one erase block (this is an assumption made elsewhere in redboot.c). If -the size matches the erase block after byte swapping the value then -byte-reversal is assumed, if not no further action is taken. The patched -code is fail safe; should redboot.c be changed to support a partition table -with a modified size field the test will fail and the partition table will -be assumed to have the host byte sex. - -If byte-reversal is detected the patch byte swaps the remainder of the 32 -bit fields in the copy of the table; this copy is then used to set up the -MTD partition map. - -Signed-off-by: John Bowler <jbowler@acm.org> -Signed-off-by: Andrew Morton <akpm@osdl.org> -Modified slightly and -Signed-off-by: David Woodhouse <dwmw2@infradead.org> - -Index: drivers/mtd/redboot.c -=================================================================== -RCS file: /home/cvs/mtd/drivers/mtd/redboot.c,v -retrieving revision 1.18 -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 -@@ -89,8 +89,32 @@ static int parse_redboot_partitions(stru - i = numslots; - break; - } -- if (!memcmp(buf[i].name, "FIS directory", 14)) -+ if (!memcmp(buf[i].name, "FIS directory", 14)) { -+ /* This is apparently the FIS directory entry for the -+ * FIS directory itself. The FIS directory size is -+ * one erase block; if the buf[i].size field is -+ * swab32(erasesize) then we know we are looking at -+ * a byte swapped FIS directory - swap all the entries! -+ * (NOTE: this is 'size' not 'data_length'; size is -+ * the full size of the entry.) -+ */ -+ if (swab32(buf[i].size) == master->erasesize) { -+ int j; -+ for (j = 0; j < numslots && buf[j].name[0] != 0xff; ++j) { -+ /* The unsigned long fields were written with the -+ * wrong byte sex, name and pad have no byte sex. -+ */ -+ swab32s(&buf[j].flash_base); -+ swab32s(&buf[j].mem_base); -+ swab32s(&buf[j].size); -+ swab32s(&buf[j].entry_point); -+ swab32s(&buf[j].data_length); -+ swab32s(&buf[j].desc_cksum); -+ swab32s(&buf[j].file_cksum); -+ } -+ } - break; -+ } - } - if (i == numslots) { - /* Didn't find it */ - - diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/15-jffs2-endian-config.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.15/15-jffs2-endian-config.patch deleted file mode 100644 index fdebb652a7..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/15-jffs2-endian-config.patch +++ /dev/null @@ -1,68 +0,0 @@ ---- linux-2.6.15/fs/Kconfig~ 2006-01-03 13:51:10.000000000 +1030 -+++ linux-2.6.15/fs/Kconfig 2006-01-05 01:35:36.000000000 +1030 -@@ -1132,6 +1132,31 @@ config JFFS2_CMODE_SIZE - - endchoice - -+choice -+ prompt "JFFS2 endianness" -+ default JFFS2_NATIVE_ENDIAN -+ depends on JFFS2_FS -+ help -+ You can set here the default endianness of JFFS2 from -+ the available options. Don't touch if unsure. -+ -+config JFFS2_NATIVE_ENDIAN -+ bool "native endian" -+ help -+ Uses a native endian bytestream. -+ -+config JFFS2_BIG_ENDIAN -+ bool "big endian" -+ help -+ Uses a big endian bytestream. -+ -+config JFFS2_LITTLE_ENDIAN -+ bool "little endian" -+ help -+ Uses a little endian bytestream. -+ -+endchoice -+ - config CRAMFS - tristate "Compressed ROM file system support (cramfs)" - select ZLIB_INFLATE ---- linux-2.6.15/fs/jffs2/nodelist.h~ 2006-01-05 01:37:06.000000000 +1030 -+++ linux-2.6.15/fs/jffs2/nodelist.h 2006-01-05 01:37:54.000000000 +1030 -@@ -29,12 +29,10 @@ - #include "os-linux.h" - #endif - --#define JFFS2_NATIVE_ENDIAN -- - /* Note we handle mode bits conversion from JFFS2 (i.e. Linux) to/from - whatever OS we're actually running on here too. */ - --#if defined(JFFS2_NATIVE_ENDIAN) -+#if defined(CONFIG_JFFS2_NATIVE_ENDIAN) - #define cpu_to_je16(x) ((jint16_t){x}) - #define cpu_to_je32(x) ((jint32_t){x}) - #define cpu_to_jemode(x) ((jmode_t){os_to_jffs2_mode(x)}) -@@ -42,7 +40,7 @@ - #define je16_to_cpu(x) ((x).v16) - #define je32_to_cpu(x) ((x).v32) - #define jemode_to_cpu(x) (jffs2_to_os_mode((x).m)) --#elif defined(JFFS2_BIG_ENDIAN) -+#elif defined(CONFIG_JFFS2_BIG_ENDIAN) - #define cpu_to_je16(x) ((jint16_t){cpu_to_be16(x)}) - #define cpu_to_je32(x) ((jint32_t){cpu_to_be32(x)}) - #define cpu_to_jemode(x) ((jmode_t){cpu_to_be32(os_to_jffs2_mode(x))}) -@@ -50,7 +48,7 @@ - #define je16_to_cpu(x) (be16_to_cpu(x.v16)) - #define je32_to_cpu(x) (be32_to_cpu(x.v32)) - #define jemode_to_cpu(x) (be32_to_cpu(jffs2_to_os_mode((x).m))) --#elif defined(JFFS2_LITTLE_ENDIAN) -+#elif defined(CONFIG_JFFS2_LITTLE_ENDIAN) - #define cpu_to_je16(x) ((jint16_t){cpu_to_le16(x)}) - #define cpu_to_je32(x) ((jint32_t){cpu_to_le32(x)}) - #define cpu_to_jemode(x) ((jmode_t){cpu_to_le32(os_to_jffs2_mode(x))}) diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/40-rtc-class.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.15/40-rtc-class.patch deleted file mode 100644 index feea3f2f8b..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/40-rtc-class.patch +++ /dev/null @@ -1,2719 +0,0 @@ ---- linux-nslu2.orig/include/linux/rtc.h 2006-01-03 15:31:18.000000000 +0100 -+++ linux-nslu2/include/linux/rtc.h 2006-01-03 15:34:24.000000000 +0100 -@@ -91,8 +91,81 @@ struct rtc_pll_info { - #define RTC_PLL_GET _IOR('p', 0x11, struct rtc_pll_info) /* Get PLL correction */ - #define RTC_PLL_SET _IOW('p', 0x12, struct rtc_pll_info) /* Set PLL correction */ - -+/* interrupt flags */ -+#define RTC_IRQF 0x80 /* any of the following is active */ -+#define RTC_PF 0x40 -+#define RTC_AF 0x20 -+#define RTC_UF 0x10 -+ - #ifdef __KERNEL__ - -+#include <linux/device.h> -+#include <linux/seq_file.h> -+#include <linux/cdev.h> -+#include <linux/poll.h> -+ -+struct rtc_class_ops { -+ int (*open)(struct device *); -+ void (*release)(struct device *); -+ int (*ioctl)(struct device *, unsigned int, unsigned long); -+ int (*read_time)(struct device *, struct rtc_time *); -+ int (*set_time)(struct device *, struct rtc_time *); -+ int (*read_alarm)(struct device *, struct rtc_wkalrm *); -+ int (*set_alarm)(struct device *, struct rtc_wkalrm *); -+ int (*proc)(struct device *, struct seq_file *); -+ int (*set_mmss)(struct device *, unsigned long secs); -+ int (*irq_set_state)(struct device *, int enabled); -+ int (*irq_set_freq)(struct device *, int freq); -+}; -+ -+#define RTC_DEVICE_NAME_SIZE 20 -+struct rtc_task; -+ -+struct rtc_device -+{ -+ int id; -+ struct module *owner; -+ struct rw_semaphore lock; -+ struct class_device class_dev; -+ struct rtc_class_ops *ops; -+ char name[RTC_DEVICE_NAME_SIZE]; -+ -+ struct cdev char_dev; -+ struct semaphore char_sem; -+ -+ unsigned long irq_data; -+ spinlock_t irq_lock; -+ wait_queue_head_t irq_queue; -+ struct fasync_struct *async_queue; -+ -+ spinlock_t irq_task_lock; -+ struct rtc_task *irq_task; -+ int irq_freq; -+}; -+#define to_rtc_device(d) container_of(d, struct rtc_device, class_dev) -+ -+extern struct rtc_device *rtc_device_register(char *name, -+ struct device *dev, -+ struct rtc_class_ops *ops, -+ struct module *owner); -+extern void rtc_device_unregister(struct rtc_device *rdev); -+extern int rtc_interface_register(struct class_interface *intf); -+ -+ -+extern int rtc_month_days(unsigned int month, unsigned int year); -+extern int rtc_valid_tm(struct rtc_time *tm); -+extern int rtc_tm_to_time(struct rtc_time *tm, unsigned long *time); -+extern void rtc_time_to_tm(unsigned long time, struct rtc_time *tm); -+ -+extern int rtc_read_time(struct class_device *class_dev, struct rtc_time *tm); -+extern int rtc_set_time(struct class_device *class_dev, struct rtc_time *tm); -+extern int rtc_read_alarm(struct class_device *class_dev, -+ struct rtc_wkalrm *alrm); -+extern int rtc_set_alarm(struct class_device *class_dev, -+ struct rtc_wkalrm *alrm); -+extern void rtc_update_irq(struct class_device *class_dev, -+ unsigned long num, unsigned long events); -+ - typedef struct rtc_task { - void (*func)(void *private_data); - void *private_data; ---- linux-nslu2.orig/drivers/Kconfig 2006-01-03 15:31:19.000000000 +0100 -+++ linux-nslu2/drivers/Kconfig 2006-01-04 01:27:31.000000000 +0100 -@@ -66,4 +66,6 @@ source "drivers/infiniband/Kconfig" - - source "drivers/sn/Kconfig" - -+source "drivers/rtc/Kconfig" -+ - endmenu ---- linux-nslu2.orig/drivers/Makefile 2006-01-03 15:33:32.000000000 +0100 -+++ linux-nslu2/drivers/Makefile 2006-01-04 01:27:31.000000000 +0100 -@@ -54,6 +54,7 @@ obj-$(CONFIG_USB_GADGET) += usb/gadget/ - obj-$(CONFIG_GAMEPORT) += input/gameport/ - obj-$(CONFIG_INPUT) += input/ - obj-$(CONFIG_I2O) += message/ -+obj-y += rtc/ - obj-$(CONFIG_I2C) += i2c/ - obj-$(CONFIG_W1) += w1/ - obj-$(CONFIG_HWMON) += hwmon/ ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-nslu2/drivers/rtc/class.c 2006-01-03 15:45:19.000000000 +0100 -@@ -0,0 +1,141 @@ -+/* -+ * RTC subsystem, base class -+ * -+ * Copyright (C) 2005 Tower Technologies -+ * Author: Alessandro Zummo <a.zummo@towertech.it> -+ * -+ * class skeleton from drivers/hwmon/hwmon.c -+ * -+ * 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; version 2 of the License. -+*/ -+ -+#include <linux/module.h> -+#include <linux/rtc.h> -+#include <linux/kdev_t.h> -+#include <linux/idr.h> -+ -+static DEFINE_IDR(rtc_idr); -+static DECLARE_MUTEX(idr_lock); -+struct class *rtc_class; -+ -+static void rtc_device_release(struct class_device *class_dev) -+{ -+ struct rtc_device *rtc = to_rtc_device(class_dev); -+ down(&idr_lock); -+ idr_remove(&rtc_idr, rtc->id); -+ up(&idr_lock); -+ kfree(rtc); -+} -+ -+/** -+ * rtc_device_register - register w/ RTC class -+ * @dev: the device to register -+ * -+ * rtc_device_unregister() must be called when the class device is no -+ * longer needed. -+ * -+ * Returns the pointer to the new struct class device. -+ */ -+struct rtc_device *rtc_device_register(char *name, struct device *dev, -+ struct rtc_class_ops *ops, -+ struct module *owner) -+{ -+ struct rtc_device *rtc; -+ int id, err; -+ -+ if (idr_pre_get(&rtc_idr, GFP_KERNEL) == 0) { -+ err = -ENOMEM; -+ goto exit; -+ } -+ -+ -+ down(&idr_lock); -+ err = idr_get_new(&rtc_idr, NULL, &id); -+ up(&idr_lock); -+ -+ if (err < 0) -+ goto exit; -+ -+ id = id & MAX_ID_MASK; -+ -+ if ((rtc = kzalloc(sizeof(struct rtc_device), GFP_KERNEL)) == NULL) { -+ err = -ENOMEM; -+ goto exit_idr; -+ } -+ -+ rtc->id = id; -+ rtc->ops = ops; -+ rtc->owner = owner; -+ rtc->class_dev.dev = dev; -+ rtc->class_dev.class = rtc_class; -+ rtc->class_dev.release = rtc_device_release; -+ -+ init_rwsem(&rtc->lock); -+ spin_lock_init(&rtc->irq_lock); -+ spin_lock_init(&rtc->irq_task_lock); -+ -+ strlcpy(rtc->name, name, RTC_DEVICE_NAME_SIZE); -+ snprintf(rtc->class_dev.class_id, BUS_ID_SIZE, "rtc%d", id); -+ -+ if ((err = class_device_register(&rtc->class_dev))) -+ goto exit_kfree; -+ -+ dev_info(dev, "rtc core: registered %s as %s\n", -+ rtc->name, rtc->class_dev.class_id); -+ -+ return rtc; -+ -+exit_kfree: -+ kfree(rtc); -+ -+exit_idr: -+ idr_remove(&rtc_idr, id); -+ -+exit: -+ return ERR_PTR(err); -+} -+EXPORT_SYMBOL_GPL(rtc_device_register); -+ -+ -+/** -+ * rtc_device_unregister - removes the previously registered RTC class device -+ * -+ * @rtc: the RTC class device to destroy -+ */ -+void rtc_device_unregister(struct rtc_device *rtc) -+{ -+ down_write(&rtc->lock); -+ class_device_unregister(&rtc->class_dev); -+} -+EXPORT_SYMBOL_GPL(rtc_device_unregister); -+ -+int rtc_interface_register(struct class_interface *intf) -+{ -+ intf->class = rtc_class; -+ return class_interface_register(intf); -+} -+EXPORT_SYMBOL_GPL(rtc_interface_register); -+ -+static int __init rtc_init(void) -+{ -+ rtc_class = class_create(THIS_MODULE, "rtc"); -+ if (IS_ERR(rtc_class)) { -+ printk(KERN_ERR "%s: couldn't create class\n", __FILE__); -+ return PTR_ERR(rtc_class); -+ } -+ return 0; -+} -+ -+static void __exit rtc_exit(void) -+{ -+ class_destroy(rtc_class); -+} -+ -+module_init(rtc_init); -+module_exit(rtc_exit); -+ -+MODULE_AUTHOR("Alessandro Zummo <a.zummo@towerteh.it>"); -+MODULE_DESCRIPTION("RTC class support"); -+MODULE_LICENSE("GPL"); ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-nslu2/drivers/rtc/Kconfig 2006-01-04 01:27:21.000000000 +0100 -@@ -0,0 +1,93 @@ -+# -+# RTC class/drivers configuration -+# -+ -+menu "Real Time Clock" -+ -+config RTC_CLASS -+ tristate "RTC class" -+ depends on EXPERIMENTAL -+ default y -+ help -+ Generic RTC class support. If you say yes here, you will -+ be allowed to plug one or more RTCs to your system. You will -+ probably want to enable one of more of the interfaces below. -+ -+ This driver can also be built as a module. If so, the module -+ will be called rtc-class. -+ -+comment "RTC interfaces" -+ depends on RTC_CLASS -+ -+config RTC_INTF_SYSFS -+ tristate "sysfs" -+ depends on RTC_CLASS && SYSFS -+ default RTC_CLASS -+ help -+ Say yes here if you want to use your RTC using the sysfs -+ interface, /sys/class/rtc/rtcX . -+ -+ This driver can also be built as a module. If so, the module -+ will be called rtc-sysfs. -+ -+config RTC_INTF_PROC -+ tristate "proc" -+ depends on RTC_CLASS && PROC_FS -+ default RTC_CLASS -+ help -+ Say yes here if you want to use your RTC using the proc -+ interface, /proc/driver/rtc . -+ -+ This driver can also be built as a module. If so, the module -+ will be called rtc-proc. -+ -+config RTC_INTF_DEV -+ tristate "dev" -+ depends on RTC_CLASS -+ default RTC_CLASS -+ help -+ Say yes here if you want to use your RTC using the dev -+ interface, /dev/rtc . -+ -+ This driver can also be built as a module. If so, the module -+ will be called rtc-dev. -+ -+comment "RTC drivers" -+ depends on RTC_CLASS -+ -+config RTC_DRV_X1205 -+ tristate "Xicor/Intersil X1205 RTC chip" -+ depends on RTC_CLASS && I2C -+ help -+ If you say yes here you get support for the -+ Xicor/Intersil X1205 RTC chip. -+ -+ This driver can also be built as a module. If so, the module -+ will be called rtc-x1205. -+ -+config RTC_DRV_DS1672 -+ tristate "Dallas/Maxim DS1672" -+ depends on RTC_CLASS && I2C -+ help -+ If you say yes here you get support for the -+ Dallas/Maxim DS1672 timekeeping chip. -+ -+ This driver can also be built as a module. If so, the module -+ will be called rtc-ds1672. -+ -+config RTC_DRV_TEST -+ tristate "Test driver/device" -+ depends on RTC_CLASS -+ help -+ If you say yes here you get support for the -+ RTC test driver. It's a software RTC which can be -+ used to test the RTC subsystem APIs. It gets -+ the time from the system clock. -+ You want this driver only if you are doing development -+ on the RTC subsystem. Please read the source code -+ for further details. -+ -+ This driver can also be built as a module. If so, the module -+ will be called rtc-test. -+ -+endmenu ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-nslu2/drivers/rtc/Makefile 2006-01-04 01:27:21.000000000 +0100 -@@ -0,0 +1,15 @@ -+# -+# Makefile for RTC class/drivers. -+# -+ -+obj-y += utils.o -+obj-$(CONFIG_RTC_CLASS) += rtc-core.o -+rtc-core-y := class.o interface.o -+obj-$(CONFIG_RTC_INTF_SYSFS) += rtc-sysfs.o -+obj-$(CONFIG_RTC_INTF_PROC) += rtc-proc.o -+obj-$(CONFIG_RTC_INTF_DEV) += rtc-dev.o -+ -+obj-$(CONFIG_RTC_DRV_X1205) += rtc-x1205.o -+obj-$(CONFIG_RTC_DRV_TEST) += rtc-test.o -+obj-$(CONFIG_RTC_DRV_DS1672) += rtc-ds1672.o -+ ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-nslu2/drivers/rtc/interface.c 2006-01-03 15:34:24.000000000 +0100 -@@ -0,0 +1,189 @@ -+/* -+ * RTC subsystem, interface functions -+ * -+ * Copyright (C) 2005 Tower Technologies -+ * Author: Alessandro Zummo <a.zummo@towertech.it> -+ * -+ * based on arch/arm/common/rtctime.c -+ * -+ * 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; version 2 of the License. -+*/ -+ -+#include <linux/rtc.h> -+ -+extern struct class *rtc_class; -+ -+int rtc_read_time(struct class_device *class_dev, struct rtc_time *tm) -+{ -+ int err = -EINVAL; -+ struct rtc_class_ops *ops = to_rtc_device(class_dev)->ops; -+ -+ if (ops->read_time) { -+ memset(tm, 0, sizeof(struct rtc_time)); -+ err = ops->read_time(class_dev->dev, tm); -+ } -+ return err; -+} -+EXPORT_SYMBOL(rtc_read_time); -+ -+int rtc_set_time(struct class_device *class_dev, struct rtc_time *tm) -+{ -+ int err; -+ struct rtc_class_ops *ops = to_rtc_device(class_dev)->ops; -+ -+ err = rtc_valid_tm(tm); -+ if (err == 0 && ops->set_time) -+ err = ops->set_time(class_dev->dev, tm); -+ -+ return err; -+} -+EXPORT_SYMBOL(rtc_set_time); -+ -+int rtc_read_alarm(struct class_device *class_dev, struct rtc_wkalrm *alarm) -+{ -+ struct rtc_class_ops *ops = to_rtc_device(class_dev)->ops; -+ int err = -EINVAL; -+ -+ if (ops->read_alarm) { -+ memset(alarm, 0, sizeof(struct rtc_wkalrm)); -+ err = ops->read_alarm(class_dev->dev, alarm); -+ } -+ return err; -+} -+EXPORT_SYMBOL(rtc_read_alarm); -+ -+int rtc_set_alarm(struct class_device *class_dev, struct rtc_wkalrm *alarm) -+{ -+ int err = -EINVAL; -+ struct rtc_class_ops *ops = to_rtc_device(class_dev)->ops; -+ -+ if (ops->set_alarm) -+ err = ops->set_alarm(class_dev->dev, alarm); -+ return err; -+} -+EXPORT_SYMBOL(rtc_set_alarm); -+ -+void rtc_update_irq(struct class_device *class_dev, -+ unsigned long num, unsigned long events) -+{ -+ struct rtc_device *rtc = to_rtc_device(class_dev); -+ -+ spin_lock(&rtc->irq_lock); -+ rtc->irq_data = (rtc->irq_data + (num << 8)) | events; -+ spin_unlock(&rtc->irq_lock); -+ -+ spin_lock(&rtc->irq_task_lock); -+ if (rtc->irq_task) -+ rtc->irq_task->func(rtc->irq_task->private_data); -+ spin_unlock(&rtc->irq_task_lock); -+ -+ wake_up_interruptible(&rtc->irq_queue); -+ kill_fasync(&rtc->async_queue, SIGIO, POLL_IN); -+} -+EXPORT_SYMBOL(rtc_update_irq); -+ -+struct class_device *rtc_open(char *name) -+{ -+ struct class_device *class_dev = NULL, -+ *class_dev_tmp; -+ -+ down(&rtc_class->sem); -+ list_for_each_entry(class_dev_tmp, &rtc_class->children, node) { -+ if (strncmp(class_dev_tmp->class_id, name, BUS_ID_SIZE) == 0) { -+ class_dev = class_dev_tmp; -+ break; -+ } -+ } -+ up(&rtc_class->sem); -+ -+ return class_dev; -+} -+EXPORT_SYMBOL(rtc_open); -+ -+void rtc_close(struct class_device *class_dev) -+{ -+} -+EXPORT_SYMBOL(rtc_close); -+ -+int rtc_irq_register(struct class_device *class_dev, struct rtc_task *task) -+{ -+ int retval = -EBUSY; -+ struct rtc_device *rtc = to_rtc_device(class_dev); -+ -+ if (task == NULL || task->func == NULL) -+ return -EINVAL; -+ -+ spin_lock(&rtc->irq_task_lock); -+ if (rtc->irq_task == NULL) { -+ rtc->irq_task = task; -+ retval = 0; -+ } -+ spin_unlock(&rtc->irq_task_lock); -+ -+ return retval; -+} -+EXPORT_SYMBOL(rtc_irq_register); -+ -+void rtc_irq_unregister(struct class_device *class_dev, struct rtc_task *task) -+{ -+ struct rtc_device *rtc = to_rtc_device(class_dev); -+ -+ spin_lock(&rtc->irq_task_lock); -+ if (rtc->irq_task == task) -+ rtc->irq_task = NULL; -+ spin_unlock(&rtc->irq_task_lock); -+} -+EXPORT_SYMBOL(rtc_irq_unregister); -+ -+int rtc_irq_set_state(struct class_device *class_dev, struct rtc_task *task, int enabled) -+{ -+ int err = 0; -+ unsigned long flags; -+ struct rtc_device *rtc = to_rtc_device(class_dev); -+ -+ spin_lock_irqsave(&rtc->irq_task_lock, flags); -+ if (rtc->irq_task != task) -+ err = -ENXIO; -+ spin_unlock_irqrestore(&rtc->irq_task_lock, flags); -+ -+ if (err == 0) -+ err = rtc->ops->irq_set_state(class_dev->dev, enabled); -+ -+ return err; -+} -+EXPORT_SYMBOL(rtc_irq_set_state); -+ -+int rtc_irq_set_freq(struct class_device *class_dev, struct rtc_task *task, int freq) -+{ -+ int err = 0, tmp = 0; -+ unsigned long flags; -+ struct rtc_device *rtc = to_rtc_device(class_dev); -+ -+ /* allowed range is 2-8192 */ -+ if (freq < 2 || freq > 8192) -+ return -EINVAL; -+ -+/* if ((freq > rtc_max_user_freq) && (!capable(CAP_SYS_RESOURCE))) -+ return -EACCES; -+*/ -+ /* check if freq is a power of 2 */ -+ while (freq > (1 << tmp)) -+ tmp++; -+ -+ if (freq != (1 << tmp)) -+ return -EINVAL; -+ -+ spin_lock_irqsave(&rtc->irq_task_lock, flags); -+ if (rtc->irq_task != task) -+ err = -ENXIO; -+ spin_unlock_irqrestore(&rtc->irq_task_lock, flags); -+ -+ if (err == 0) { -+ if ((err = rtc->ops->irq_set_freq(class_dev->dev, freq)) == 0) -+ rtc->irq_freq = freq; -+ } -+ return err; -+ -+} ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-nslu2/drivers/rtc/utils.c 2006-01-03 15:34:24.000000000 +0100 -@@ -0,0 +1,97 @@ -+/* -+ * RTC subsystem, utility functions -+ * -+ * Copyright (C) 2005 Tower Technologies -+ * Author: Alessandro Zummo <a.zummo@towertech.it> -+ * -+ * based on arch/arm/common/rtctime.c -+ * -+ * 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; version 2 of the License. -+*/ -+ -+#include <linux/rtc.h> -+ -+static const unsigned char rtc_days_in_month[] = { -+ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 -+}; -+ -+#define LEAPS_THRU_END_OF(y) ((y)/4 - (y)/100 + (y)/400) -+#define LEAP_YEAR(year) ((!(year % 4) && (year % 100)) || !(year % 400)) -+ -+int rtc_month_days(unsigned int month, unsigned int year) -+{ -+ return rtc_days_in_month[month] + (LEAP_YEAR(year) && month == 1); -+} -+EXPORT_SYMBOL(rtc_month_days); -+ -+/* -+ * Convert seconds since 01-01-1970 00:00:00 to Gregorian date. -+ */ -+void rtc_time_to_tm(unsigned long time, struct rtc_time *tm) -+{ -+ int days, month, year; -+ -+ days = time / 86400; -+ time -= days * 86400; -+ -+ tm->tm_wday = (days + 4) % 7; -+ -+ year = 1970 + days / 365; -+ days -= (year - 1970) * 365 -+ + LEAPS_THRU_END_OF(year - 1) -+ - LEAPS_THRU_END_OF(1970 - 1); -+ if (days < 0) { -+ year -= 1; -+ days += 365 + LEAP_YEAR(year); -+ } -+ tm->tm_year = year - 1900; -+ tm->tm_yday = days + 1; -+ -+ for (month = 0; month < 11; month++) { -+ int newdays; -+ -+ newdays = days - rtc_month_days(month, year); -+ if (newdays < 0) -+ break; -+ days = newdays; -+ } -+ tm->tm_mon = month; -+ tm->tm_mday = days + 1; -+ -+ tm->tm_hour = time / 3600; -+ time -= tm->tm_hour * 3600; -+ tm->tm_min = time / 60; -+ tm->tm_sec = time - tm->tm_min * 60; -+} -+EXPORT_SYMBOL(rtc_time_to_tm); -+ -+/* -+ * Does the rtc_time represent a valid date/time? -+ */ -+int rtc_valid_tm(struct rtc_time *tm) -+{ -+ if (tm->tm_year < 70 || -+ tm->tm_mon >= 12 || -+ tm->tm_mday < 1 || -+ tm->tm_mday > rtc_month_days(tm->tm_mon, tm->tm_year + 1900) || -+ tm->tm_hour >= 24 || -+ tm->tm_min >= 60 || -+ tm->tm_sec >= 60) -+ return -EINVAL; -+ -+ return 0; -+} -+EXPORT_SYMBOL(rtc_valid_tm); -+ -+/* -+ * Convert Gregorian date to seconds since 01-01-1970 00:00:00. -+ */ -+int rtc_tm_to_time(struct rtc_time *tm, unsigned long *time) -+{ -+ *time = mktime(tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, -+ tm->tm_hour, tm->tm_min, tm->tm_sec); -+ return 0; -+} -+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" - - source "drivers/mmc/Kconfig" - -+source "drivers/rtc/Kconfig" -+ - endmenu - - source "fs/Kconfig" ---- linux-nslu2.orig/arch/arm/common/rtctime.c 2006-01-04 01:27:04.000000000 +0100 -+++ linux-nslu2/arch/arm/common/rtctime.c 2006-01-04 01:27:09.000000000 +0100 -@@ -40,89 +40,6 @@ static struct rtc_ops *rtc_ops; - - #define rtc_epoch 1900UL - --static const unsigned char days_in_month[] = { -- 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 --}; -- --#define LEAPS_THRU_END_OF(y) ((y)/4 - (y)/100 + (y)/400) --#define LEAP_YEAR(year) ((!(year % 4) && (year % 100)) || !(year % 400)) -- --static int month_days(unsigned int month, unsigned int year) --{ -- return days_in_month[month] + (LEAP_YEAR(year) && month == 1); --} -- --/* -- * Convert seconds since 01-01-1970 00:00:00 to Gregorian date. -- */ --void rtc_time_to_tm(unsigned long time, struct rtc_time *tm) --{ -- int days, month, year; -- -- days = time / 86400; -- time -= days * 86400; -- -- tm->tm_wday = (days + 4) % 7; -- -- year = 1970 + days / 365; -- days -= (year - 1970) * 365 -- + LEAPS_THRU_END_OF(year - 1) -- - LEAPS_THRU_END_OF(1970 - 1); -- if (days < 0) { -- year -= 1; -- days += 365 + LEAP_YEAR(year); -- } -- tm->tm_year = year - 1900; -- tm->tm_yday = days + 1; -- -- for (month = 0; month < 11; month++) { -- int newdays; -- -- newdays = days - month_days(month, year); -- if (newdays < 0) -- break; -- days = newdays; -- } -- tm->tm_mon = month; -- tm->tm_mday = days + 1; -- -- tm->tm_hour = time / 3600; -- time -= tm->tm_hour * 3600; -- tm->tm_min = time / 60; -- tm->tm_sec = time - tm->tm_min * 60; --} --EXPORT_SYMBOL(rtc_time_to_tm); -- --/* -- * Does the rtc_time represent a valid date/time? -- */ --int rtc_valid_tm(struct rtc_time *tm) --{ -- if (tm->tm_year < 70 || -- tm->tm_mon >= 12 || -- tm->tm_mday < 1 || -- tm->tm_mday > month_days(tm->tm_mon, tm->tm_year + 1900) || -- tm->tm_hour >= 24 || -- tm->tm_min >= 60 || -- tm->tm_sec >= 60) -- return -EINVAL; -- -- return 0; --} --EXPORT_SYMBOL(rtc_valid_tm); -- --/* -- * Convert Gregorian date to seconds since 01-01-1970 00:00:00. -- */ --int rtc_tm_to_time(struct rtc_time *tm, unsigned long *time) --{ -- *time = mktime(tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, -- tm->tm_hour, tm->tm_min, tm->tm_sec); -- -- return 0; --} --EXPORT_SYMBOL(rtc_tm_to_time); -- - /* - * Calculate the next alarm time given the requested alarm time mask - * and the current time. -@@ -141,13 +58,13 @@ void rtc_next_alarm_time(struct rtc_time - next->tm_sec = alrm->tm_sec; - } - --static inline int rtc_read_time(struct rtc_ops *ops, struct rtc_time *tm) -+static inline int rtc_arm_read_time(struct rtc_ops *ops, struct rtc_time *tm) - { - memset(tm, 0, sizeof(struct rtc_time)); - return ops->read_time(tm); - } - --static inline int rtc_set_time(struct rtc_ops *ops, struct rtc_time *tm) -+static inline int rtc_arm_set_time(struct rtc_ops *ops, struct rtc_time *tm) - { - int ret; - -@@ -158,7 +75,7 @@ static inline int rtc_set_time(struct rt - return ret; - } - --static inline int rtc_read_alarm(struct rtc_ops *ops, struct rtc_wkalrm *alrm) -+static inline int rtc_arm_read_alarm(struct rtc_ops *ops, struct rtc_wkalrm *alrm) - { - int ret = -EINVAL; - if (ops->read_alarm) { -@@ -168,7 +85,7 @@ static inline int rtc_read_alarm(struct - return ret; - } - --static inline int rtc_set_alarm(struct rtc_ops *ops, struct rtc_wkalrm *alrm) -+static inline int rtc_arm_set_alarm(struct rtc_ops *ops, struct rtc_wkalrm *alrm) - { - int ret = -EINVAL; - if (ops->set_alarm) -@@ -256,7 +173,7 @@ static int rtc_ioctl(struct inode *inode - - switch (cmd) { - case RTC_ALM_READ: -- ret = rtc_read_alarm(ops, &alrm); -+ ret = rtc_arm_read_alarm(ops, &alrm); - if (ret) - break; - ret = copy_to_user(uarg, &alrm.time, sizeof(tm)); -@@ -278,11 +195,11 @@ static int rtc_ioctl(struct inode *inode - alrm.time.tm_wday = -1; - alrm.time.tm_yday = -1; - alrm.time.tm_isdst = -1; -- ret = rtc_set_alarm(ops, &alrm); -+ ret = rtc_arm_set_alarm(ops, &alrm); - break; - - case RTC_RD_TIME: -- ret = rtc_read_time(ops, &tm); -+ ret = rtc_arm_read_time(ops, &tm); - if (ret) - break; - ret = copy_to_user(uarg, &tm, sizeof(tm)); -@@ -300,7 +217,7 @@ static int rtc_ioctl(struct inode *inode - ret = -EFAULT; - break; - } -- ret = rtc_set_time(ops, &tm); -+ ret = rtc_arm_set_time(ops, &tm); - break; - - case RTC_EPOCH_SET: -@@ -331,11 +248,11 @@ static int rtc_ioctl(struct inode *inode - ret = -EFAULT; - break; - } -- ret = rtc_set_alarm(ops, &alrm); -+ ret = rtc_arm_set_alarm(ops, &alrm); - break; - - case RTC_WKALM_RD: -- ret = rtc_read_alarm(ops, &alrm); -+ ret = rtc_arm_read_alarm(ops, &alrm); - if (ret) - break; - ret = copy_to_user(uarg, &alrm, sizeof(alrm)); -@@ -425,7 +342,7 @@ static int rtc_read_proc(char *page, cha - struct rtc_time tm; - char *p = page; - -- if (rtc_read_time(ops, &tm) == 0) { -+ if (rtc_arm_read_time(ops, &tm) == 0) { - p += sprintf(p, - "rtc_time\t: %02d:%02d:%02d\n" - "rtc_date\t: %04d-%02d-%02d\n" -@@ -435,7 +352,7 @@ static int rtc_read_proc(char *page, cha - rtc_epoch); - } - -- if (rtc_read_alarm(ops, &alrm) == 0) { -+ if (rtc_arm_read_alarm(ops, &alrm) == 0) { - p += sprintf(p, "alrm_time\t: "); - if ((unsigned int)alrm.time.tm_hour <= 24) - p += sprintf(p, "%02d:", alrm.time.tm_hour); ---- linux-nslu2.orig/include/asm-arm/rtc.h 2006-01-04 01:27:04.000000000 +0100 -+++ linux-nslu2/include/asm-arm/rtc.h 2006-01-04 01:27:09.000000000 +0100 -@@ -25,9 +25,6 @@ struct rtc_ops { - int (*proc)(char *buf); - }; - --void rtc_time_to_tm(unsigned long, struct rtc_time *); --int rtc_tm_to_time(struct rtc_time *, unsigned long *); --int rtc_valid_tm(struct rtc_time *); - void rtc_next_alarm_time(struct rtc_time *, struct rtc_time *, struct rtc_time *); - void rtc_update(unsigned long, unsigned long); - int register_rtc(struct rtc_ops *); ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-nslu2/drivers/rtc/rtc-sysfs.c 2006-01-04 01:27:12.000000000 +0100 -@@ -0,0 +1,125 @@ -+/* -+ * RTC subsystem, sysfs interface -+ * -+ * Copyright (C) 2005 Tower Technologies -+ * Author: Alessandro Zummo <a.zummo@towertech.it> -+ * -+ * 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; version 2 of the License. -+*/ -+ -+#include <linux/module.h> -+#include <linux/rtc.h> -+ -+/* device attributes */ -+ -+static ssize_t rtc_sysfs_show_name(struct class_device *dev, char *buf) -+{ -+ return sprintf(buf, "%s\n", to_rtc_device(dev)->name); -+} -+static CLASS_DEVICE_ATTR(name, S_IRUGO, rtc_sysfs_show_name, NULL); -+ -+static ssize_t rtc_sysfs_show_date(struct class_device *dev, char *buf) -+{ -+ ssize_t retval = 0; -+ struct rtc_device *rtc = to_rtc_device(dev); -+ struct rtc_time tm; -+ -+ if (down_read_trylock(&rtc->lock) == 0) -+ return -ENODEV; -+ -+ if (rtc_read_time(dev, &tm) == 0) { -+ retval = sprintf(buf, "%04d-%02d-%02d\n", -+ tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday); -+ } -+ -+ up_read(&rtc->lock); -+ return retval; -+} -+static CLASS_DEVICE_ATTR(date, S_IRUGO, rtc_sysfs_show_date, NULL); -+ -+static ssize_t rtc_sysfs_show_time(struct class_device *dev, char *buf) -+{ -+ ssize_t retval = 0; -+ struct rtc_device *rtc = to_rtc_device(dev); -+ struct rtc_time tm; -+ -+ if (down_read_trylock(&rtc->lock) == 0) -+ return -ENODEV; -+ -+ if (rtc_read_time(dev, &tm) == 0) { -+ retval = sprintf(buf, "%02d:%02d:%02d\n", -+ tm.tm_hour, tm.tm_min, tm.tm_sec); -+ } -+ -+ up_read(&rtc->lock); -+ return retval; -+} -+static CLASS_DEVICE_ATTR(time, S_IRUGO, rtc_sysfs_show_time, NULL); -+ -+static ssize_t rtc_sysfs_show_since_epoch(struct class_device *dev, char *buf) -+{ -+ ssize_t retval = 0; -+ struct rtc_device *rtc = to_rtc_device(dev); -+ struct rtc_time tm; -+ -+ if (down_read_trylock(&rtc->lock) == 0) -+ return -ENODEV; -+ -+ if (rtc_read_time(dev, &tm) == 0) { -+ unsigned long time; -+ rtc_tm_to_time(&tm, &time); -+ retval = sprintf(buf, "%lu\n", time); -+ } -+ -+ up_read(&rtc->lock); -+ return retval; -+} -+static CLASS_DEVICE_ATTR(since_epoch, S_IRUGO, rtc_sysfs_show_since_epoch, NULL); -+ -+/* insertion/removal hooks */ -+ -+static int __devinit rtc_sysfs_add_device(struct class_device *class_dev, -+ struct class_interface *class_intf) -+{ -+ class_device_create_file(class_dev, &class_device_attr_name); -+ class_device_create_file(class_dev, &class_device_attr_date); -+ class_device_create_file(class_dev, &class_device_attr_time); -+ class_device_create_file(class_dev, &class_device_attr_since_epoch); -+ dev_info(class_dev->dev, "rtc intf: sysfs\n"); -+ return 0; -+} -+ -+static void rtc_sysfs_remove_device(struct class_device *class_dev, -+ struct class_interface *class_intf) -+{ -+ class_device_remove_file(class_dev, &class_device_attr_name); -+ class_device_remove_file(class_dev, &class_device_attr_date); -+ class_device_remove_file(class_dev, &class_device_attr_time); -+ class_device_remove_file(class_dev, &class_device_attr_since_epoch); -+} -+ -+/* interface registration */ -+ -+struct class_interface rtc_sysfs_interface = { -+ .add = &rtc_sysfs_add_device, -+ .remove = &rtc_sysfs_remove_device, -+}; -+ -+static int __init rtc_sysfs_init(void) -+{ -+ return rtc_interface_register(&rtc_sysfs_interface); -+} -+ -+static void __exit rtc_sysfs_exit(void) -+{ -+ class_interface_unregister(&rtc_sysfs_interface); -+} -+ -+module_init(rtc_sysfs_init); -+module_exit(rtc_sysfs_exit); -+ -+MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>"); -+MODULE_DESCRIPTION("RTC class sysfs interface"); -+MODULE_LICENSE("GPL"); ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-nslu2/drivers/rtc/rtc-proc.c 2006-01-04 01:27:14.000000000 +0100 -@@ -0,0 +1,158 @@ -+/* -+ * RTC subsystem, proc interface -+ * -+ * Copyright (C) 2005 Tower Technologies -+ * Author: Alessandro Zummo <a.zummo@towertech.it> -+ * -+ * based on arch/arm/common/rtctime.c -+ * -+ * 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; version 2 of the License. -+*/ -+ -+#include <linux/module.h> -+#include <linux/rtc.h> -+#include <linux/proc_fs.h> -+#include <linux/seq_file.h> -+ -+static struct class_device *rtc_dev = NULL; -+static DECLARE_MUTEX(rtc_sem); -+ -+static int rtc_proc_show(struct seq_file *seq, void *offset) -+{ -+ struct class_device *class_dev = seq->private; -+ struct rtc_class_ops *ops = to_rtc_device(class_dev)->ops; -+ struct rtc_wkalrm alrm; -+ struct rtc_time tm; -+ -+ if (rtc_read_time(class_dev, &tm) == 0) { -+ seq_printf(seq, -+ "rtc_time\t: %02d:%02d:%02d\n" -+ "rtc_date\t: %04d-%02d-%02d\n", -+ tm.tm_hour, tm.tm_min, tm.tm_sec, -+ tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday); -+ } -+ -+ if (rtc_read_alarm(class_dev, &alrm) == 0) { -+ seq_printf(seq, "alrm_time\t: "); -+ if ((unsigned int)alrm.time.tm_hour <= 24) -+ seq_printf(seq, "%02d:", alrm.time.tm_hour); -+ else -+ seq_printf(seq, "**:"); -+ if ((unsigned int)alrm.time.tm_min <= 59) -+ seq_printf(seq, "%02d:", alrm.time.tm_min); -+ else -+ seq_printf(seq, "**:"); -+ if ((unsigned int)alrm.time.tm_sec <= 59) -+ seq_printf(seq, "%02d\n", alrm.time.tm_sec); -+ else -+ seq_printf(seq, "**\n"); -+ -+ seq_printf(seq, "alrm_date\t: "); -+ if ((unsigned int)alrm.time.tm_year <= 200) -+ seq_printf(seq, "%04d-", alrm.time.tm_year + 1900); -+ else -+ seq_printf(seq, "****-"); -+ if ((unsigned int)alrm.time.tm_mon <= 11) -+ seq_printf(seq, "%02d-", alrm.time.tm_mon + 1); -+ else -+ seq_printf(seq, "**-"); -+ if ((unsigned int)alrm.time.tm_mday <= 31) -+ seq_printf(seq, "%02d\n", alrm.time.tm_mday); -+ else -+ seq_printf(seq, "**\n"); -+ seq_printf(seq, "alrm_wakeup\t: %s\n", -+ alrm.enabled ? "yes" : "no"); -+ seq_printf(seq, "alrm_pending\t: %s\n", -+ alrm.pending ? "yes" : "no"); -+ } -+ -+ if (ops->proc) -+ ops->proc(class_dev->dev, seq); -+ -+ return 0; -+} -+ -+static int rtc_proc_open(struct inode *inode, struct file *file) -+{ -+ struct class_device *class_dev = PDE(inode)->data; -+ -+ if (!try_module_get(THIS_MODULE)) -+ return -ENODEV; -+ -+ return single_open(file, rtc_proc_show, class_dev); -+} -+ -+static int rtc_proc_release(struct inode *inode, struct file *file) -+{ -+ int res = single_release(inode, file); -+ module_put(THIS_MODULE); -+ return res; -+} -+ -+static struct file_operations rtc_proc_fops = { -+ .open = rtc_proc_open, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .release = rtc_proc_release, -+}; -+ -+static int rtc_proc_add_device(struct class_device *class_dev, -+ struct class_interface *class_intf) -+{ -+ down(&rtc_sem); -+ if (rtc_dev == NULL) { -+ struct proc_dir_entry *ent; -+ -+ rtc_dev = class_dev; -+ -+ if ((ent = create_proc_entry("driver/rtc", 0, NULL))) { -+ struct rtc_device *rtc = to_rtc_device(class_dev); -+ -+ ent->proc_fops = &rtc_proc_fops; -+ ent->owner = rtc->owner; -+ ent->data = class_dev; -+ -+ dev_info(class_dev->dev, "rtc intf: proc\n"); -+ } -+ else -+ rtc_dev = NULL; -+ } -+ up(&rtc_sem); -+ -+ return 0; -+} -+ -+static void rtc_proc_remove_device(struct class_device *class_dev, -+ struct class_interface *class_intf) -+{ -+ down(&rtc_sem); -+ if (rtc_dev == class_dev) { -+ remove_proc_entry("driver/rtc", NULL); -+ rtc_dev = NULL; -+ } -+ up(&rtc_sem); -+} -+ -+struct class_interface rtc_proc_interface = { -+ .add = &rtc_proc_add_device, -+ .remove = &rtc_proc_remove_device, -+}; -+ -+static int __init rtc_proc_init(void) -+{ -+ return rtc_interface_register(&rtc_proc_interface); -+} -+ -+static void __exit rtc_proc_exit(void) -+{ -+ class_interface_unregister(&rtc_proc_interface); -+} -+ -+module_init(rtc_proc_init); -+module_exit(rtc_proc_exit); -+ -+MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>"); -+MODULE_DESCRIPTION("RTC class proc interface"); -+MODULE_LICENSE("GPL"); ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-nslu2/drivers/rtc/rtc-dev.c 2006-01-04 01:27:15.000000000 +0100 -@@ -0,0 +1,372 @@ -+/* -+ * RTC subsystem, dev interface -+ * -+ * Copyright (C) 2005 Tower Technologies -+ * Author: Alessandro Zummo <a.zummo@towertech.it> -+ * -+ * based on arch/arm/common/rtctime.c -+ * -+ * 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; version 2 of the License. -+*/ -+ -+#include <linux/module.h> -+#include <linux/rtc.h> -+ -+static dev_t rtc_devt; -+ -+#define RTC_DEV_MAX 16 /* 16 RTCs should be enough for everyone... */ -+ -+static int rtc_dev_open(struct inode *inode, struct file *file) -+{ -+ int err; -+ struct rtc_device *rtc = container_of(inode->i_cdev, -+ struct rtc_device, char_dev); -+ struct rtc_class_ops *ops = rtc->ops; -+ -+ /* We keep the lock as long as the device is in use -+ * and return immediately if busy -+ */ -+ if (down_trylock(&rtc->char_sem)) -+ return -EBUSY; -+ -+ file->private_data = &rtc->class_dev; -+ -+ err = ops->open ? ops->open(rtc->class_dev.dev) : 0; -+ if (err == 0) { -+ -+ spin_lock_irq(&rtc->irq_lock); -+ rtc->irq_data = 0; -+ spin_unlock_irq(&rtc->irq_lock); -+ -+ return 0; -+ } -+ -+ /* something has gone wrong, release the lock */ -+ up(&rtc->char_sem); -+ return err; -+} -+ -+ -+static ssize_t -+rtc_dev_read(struct file *file, char __user *buf, size_t count, loff_t *ppos) -+{ -+ struct rtc_device *rtc = to_rtc_device(file->private_data); -+ -+ DECLARE_WAITQUEUE(wait, current); -+ unsigned long data; -+ ssize_t ret; -+ -+ if (count < sizeof(unsigned long)) -+ return -EINVAL; -+ -+ add_wait_queue(&rtc->irq_queue, &wait); -+ do { -+ __set_current_state(TASK_INTERRUPTIBLE); -+ -+ spin_lock_irq(&rtc->irq_lock); -+ data = rtc->irq_data; -+ rtc->irq_data = 0; -+ spin_unlock_irq(&rtc->irq_lock); -+ -+ if (data != 0) { -+ ret = 0; -+ break; -+ } -+ if (file->f_flags & O_NONBLOCK) { -+ ret = -EAGAIN; -+ break; -+ } -+ if (signal_pending(current)) { -+ ret = -ERESTARTSYS; -+ break; -+ } -+ schedule(); -+ } while (1); -+ set_current_state(TASK_RUNNING); -+ remove_wait_queue(&rtc->irq_queue, &wait); -+ -+ if (ret == 0) { -+ ret = put_user(data, (unsigned long __user *)buf); -+ if (ret == 0) -+ ret = sizeof(unsigned long); -+ } -+ return ret; -+} -+ -+static unsigned int rtc_dev_poll(struct file *file, poll_table *wait) -+{ -+ struct rtc_device *rtc = to_rtc_device(file->private_data); -+ unsigned long data; -+ -+ poll_wait(file, &rtc->irq_queue, wait); -+ -+ spin_lock_irq(&rtc->irq_lock); -+ data = rtc->irq_data; -+ spin_unlock_irq(&rtc->irq_lock); -+ -+ return data != 0 ? POLLIN | POLLRDNORM : 0; -+} -+ -+static int rtc_dev_ioctl(struct inode *inode, struct file *file, unsigned int cmd, -+ unsigned long arg) -+{ -+ int err = 0; -+ struct class_device *class_dev = file->private_data; -+ struct rtc_device *rtc = to_rtc_device(class_dev); -+ struct rtc_class_ops *ops = rtc->ops; -+ struct rtc_time tm; -+ struct rtc_wkalrm alarm; -+ void __user *uarg = (void __user *) arg; -+ -+ /* avoid conflicting IRQ users */ -+ if (cmd == RTC_PIE_ON || cmd == RTC_PIE_OFF || cmd == RTC_IRQP_SET) { -+ spin_lock(&rtc->irq_task_lock); -+ if (rtc->irq_task) -+ err = -EBUSY; -+ spin_unlock(&rtc->irq_task_lock); -+ -+ if (err < 0) -+ return err; -+ } -+ -+ /* try the driver's ioctl interface */ -+ if (ops->ioctl) { -+ err = ops->ioctl(class_dev->dev, cmd, arg); -+ if (err < 0 && err != -EINVAL) -+ return err; -+ } -+ -+ /* if the driver does not provide the ioctl interface -+ * or if that particular ioctl was not implemented -+ * (-EINVAL), we will try to emulate here. -+ */ -+ -+ switch (cmd) { -+ case RTC_ALM_READ: -+ if ((err = rtc_read_alarm(class_dev, &alarm)) < 0) -+ return err; -+ -+ if ((err = copy_to_user(uarg, &alarm.time, sizeof(tm)))) -+ return -EFAULT; -+ break; -+ -+ case RTC_ALM_SET: -+ if ((err = copy_from_user(&alarm.time, uarg, sizeof(tm)))) -+ return -EFAULT; -+ -+ alarm.enabled = 0; -+ alarm.pending = 0; -+ alarm.time.tm_mday = -1; -+ alarm.time.tm_mon = -1; -+ alarm.time.tm_year = -1; -+ alarm.time.tm_wday = -1; -+ alarm.time.tm_yday = -1; -+ alarm.time.tm_isdst = -1; -+ err = rtc_set_alarm(class_dev, &alarm); -+ break; -+ -+ case RTC_RD_TIME: -+ if ((err = rtc_read_time(class_dev, &tm)) < 0) -+ return err; -+ -+ if ((err = copy_to_user(uarg, &tm, sizeof(tm)))) -+ return -EFAULT; -+ break; -+ -+ case RTC_SET_TIME: -+ if (!capable(CAP_SYS_TIME)) -+ return -EACCES; -+ -+ if ((err = copy_from_user(&tm, uarg, sizeof(tm)))) -+ return -EFAULT; -+ -+ err = rtc_set_time(class_dev, &tm); -+ break; -+#if 0 -+ case RTC_EPOCH_SET: -+#ifndef rtc_epoch -+ /* -+ * There were no RTC clocks before 1900. -+ */ -+ if (arg < 1900) { -+ err = -EINVAL; -+ break; -+ } -+ if (!capable(CAP_SYS_TIME)) { -+ err = -EACCES; -+ break; -+ } -+ rtc_epoch = arg; -+ err = 0; -+#endif -+ break; -+ -+ case RTC_EPOCH_READ: -+ err = put_user(rtc_epoch, (unsigned long __user *)uarg); -+ break; -+#endif -+ case RTC_WKALM_SET: -+ if ((err = copy_from_user(&alarm, uarg, sizeof(alarm)))) -+ return -EFAULT; -+ -+ err = rtc_set_alarm(class_dev, &alarm); -+ break; -+ -+ case RTC_WKALM_RD: -+ if ((err = rtc_read_alarm(class_dev, &alarm)) < 0) -+ return err; -+ -+ if ((err = copy_to_user(uarg, &alarm, sizeof(alarm)))) -+ return -EFAULT; -+ break; -+ -+ default: -+ err = -EINVAL; -+ break; -+ } -+ -+ return err; -+} -+ -+static int rtc_dev_release(struct inode *inode, struct file *file) -+{ -+ struct rtc_device *rtc = to_rtc_device(file->private_data); -+ -+ if (rtc->ops->release) -+ rtc->ops->release(rtc->class_dev.dev); -+ -+ spin_lock_irq(&rtc->irq_lock); -+ rtc->irq_data = 0; -+ spin_unlock_irq(&rtc->irq_lock); -+ -+ up(&rtc->char_sem); -+ return 0; -+} -+ -+static int rtc_dev_fasync(int fd, struct file *file, int on) -+{ -+ struct rtc_device *rtc = to_rtc_device(file->private_data); -+ return fasync_helper(fd, file, on, &rtc->async_queue); -+} -+ -+static struct file_operations rtc_dev_fops = { -+ .owner = THIS_MODULE, -+ .llseek = no_llseek, -+ .read = rtc_dev_read, -+ .poll = rtc_dev_poll, -+ .ioctl = rtc_dev_ioctl, -+ .open = rtc_dev_open, -+ .release = rtc_dev_release, -+ .fasync = rtc_dev_fasync, -+}; -+ -+static ssize_t rtc_dev_show_dev(struct class_device *class_dev, char *buf) -+{ -+ return print_dev_t(buf, class_dev->devt); -+} -+static CLASS_DEVICE_ATTR(dev, S_IRUGO, rtc_dev_show_dev, NULL); -+ -+/* insertion/removal hooks */ -+ -+static int rtc_dev_add_device(struct class_device *class_dev, -+ struct class_interface *class_intf) -+{ -+ struct rtc_device *rtc = to_rtc_device(class_dev); -+ -+ if (rtc->id >= RTC_DEV_MAX) { -+ dev_err(class_dev->dev, "too many RTCs\n"); -+ return -EINVAL; -+ } -+ -+ init_MUTEX(&rtc->char_sem); -+ spin_lock_init(&rtc->irq_lock); -+ init_waitqueue_head(&rtc->irq_queue); -+ -+ cdev_init(&rtc->char_dev, &rtc_dev_fops); -+ rtc->char_dev.owner = rtc->owner; -+ class_dev->devt = MKDEV(MAJOR(rtc_devt), rtc->id); -+ -+ if (cdev_add(&rtc->char_dev, class_dev->devt, 1)) { -+ cdev_del(&rtc->char_dev); -+ -+ dev_err(class_dev->dev, -+ "failed to add char device %d:%d\n", -+ MAJOR(class_dev->devt), -+ MINOR(class_dev->devt)); -+ -+ class_dev->devt = MKDEV(0, 0); -+ return -ENODEV; -+ } -+ -+ class_device_create_file(class_dev, &class_device_attr_dev); -+ -+ dev_info(class_dev->dev, "rtc intf: dev (%d:%d)\n", -+ MAJOR(class_dev->devt), -+ MINOR(class_dev->devt)); -+ -+ kobject_hotplug(&class_dev->kobj, KOBJ_ADD); -+ -+ return 0; -+} -+ -+static void rtc_dev_remove_device(struct class_device *class_dev, -+ struct class_interface *class_intf) -+{ -+ struct rtc_device *rtc = to_rtc_device(class_dev); -+ -+ class_device_remove_file(class_dev, &class_device_attr_dev); -+ -+ if (MAJOR(class_dev->devt)) { -+ dev_dbg(class_dev->dev, "removing char %d:%d\n", -+ MAJOR(class_dev->devt), -+ MINOR(class_dev->devt)); -+ cdev_del(&rtc->char_dev); -+ -+ kobject_hotplug(&class_dev->kobj, KOBJ_REMOVE); -+ -+ class_dev->devt = MKDEV(0, 0); -+ } -+} -+ -+/* interface registration */ -+ -+struct class_interface rtc_dev_interface = { -+ .add = &rtc_dev_add_device, -+ .remove = &rtc_dev_remove_device, -+}; -+ -+static int __init rtc_dev_init(void) -+{ -+ int err; -+ -+ if ((err = alloc_chrdev_region(&rtc_devt, 0, RTC_DEV_MAX, "rtc")) < 0) { -+ printk(KERN_ERR "%s: failed to allocate char dev region\n", -+ __FILE__); -+ return err; -+ } -+ -+ if ((err = rtc_interface_register(&rtc_dev_interface)) < 0) { -+ printk(KERN_ERR "%s: failed to register the interface\n", -+ __FILE__); -+ unregister_chrdev_region(rtc_devt, RTC_DEV_MAX); -+ return err; -+ } -+ -+ return 0; -+} -+ -+static void __exit rtc_dev_exit(void) -+{ -+ class_interface_unregister(&rtc_dev_interface); -+ -+ unregister_chrdev_region(rtc_devt, RTC_DEV_MAX); -+} -+ -+module_init(rtc_dev_init); -+module_exit(rtc_dev_exit); -+ -+MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>"); -+MODULE_DESCRIPTION("RTC class dev interface"); -+MODULE_LICENSE("GPL"); ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-nslu2/drivers/rtc/rtc-x1205.c 2006-01-04 01:27:17.000000000 +0100 -@@ -0,0 +1,725 @@ -+/* -+ * An i2c driver for the Xicor/Intersil X1205 RTC -+ * Copyright 2004 Karen Spearel -+ * Copyright 2005 Alessandro Zummo -+ * -+ * please send all reports to: -+ * kas11 at tampabay dot rr dot com -+ * a dot zummo at towertech dot it -+ * -+ * based on a lot of other RTC drivers. -+ * -+ * 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/module.h> -+#include <linux/init.h> -+#include <linux/slab.h> -+#include <linux/err.h> -+#include <linux/i2c.h> -+#include <linux/string.h> -+#include <linux/bcd.h> -+#include <linux/rtc.h> -+#include <linux/delay.h> -+ -+#define DRV_VERSION "1.0.5" -+ -+/* Addresses to scan: none. This chip is located at -+ * 0x6f and uses a two bytes register addressing. -+ * Two bytes need to be written to read a single register, -+ * while most other chips just require one and take the second -+ * one as the data to be written. To prevent corrupting -+ * unknown chips, the user must explicitely set the probe parameter. -+ */ -+ -+static unsigned short normal_i2c[] = { I2C_CLIENT_END }; -+ -+/* Insmod parameters */ -+I2C_CLIENT_INSMOD; -+I2C_CLIENT_MODULE_PARM(hctosys, -+ "Set the system time from the hardware clock upon initialization"); -+ -+/* offsets into CCR area */ -+ -+#define CCR_SEC 0 -+#define CCR_MIN 1 -+#define CCR_HOUR 2 -+#define CCR_MDAY 3 -+#define CCR_MONTH 4 -+#define CCR_YEAR 5 -+#define CCR_WDAY 6 -+#define CCR_Y2K 7 -+ -+#define X1205_REG_SR 0x3F /* status register */ -+#define X1205_REG_Y2K 0x37 -+#define X1205_REG_DW 0x36 -+#define X1205_REG_YR 0x35 -+#define X1205_REG_MO 0x34 -+#define X1205_REG_DT 0x33 -+#define X1205_REG_HR 0x32 -+#define X1205_REG_MN 0x31 -+#define X1205_REG_SC 0x30 -+#define X1205_REG_DTR 0x13 -+#define X1205_REG_ATR 0x12 -+#define X1205_REG_INT 0x11 -+#define X1205_REG_0 0x10 -+#define X1205_REG_Y2K1 0x0F -+#define X1205_REG_DWA1 0x0E -+#define X1205_REG_YRA1 0x0D -+#define X1205_REG_MOA1 0x0C -+#define X1205_REG_DTA1 0x0B -+#define X1205_REG_HRA1 0x0A -+#define X1205_REG_MNA1 0x09 -+#define X1205_REG_SCA1 0x08 -+#define X1205_REG_Y2K0 0x07 -+#define X1205_REG_DWA0 0x06 -+#define X1205_REG_YRA0 0x05 -+#define X1205_REG_MOA0 0x04 -+#define X1205_REG_DTA0 0x03 -+#define X1205_REG_HRA0 0x02 -+#define X1205_REG_MNA0 0x01 -+#define X1205_REG_SCA0 0x00 -+ -+#define X1205_CCR_BASE 0x30 /* Base address of CCR */ -+#define X1205_ALM0_BASE 0x00 /* Base address of ALARM0 */ -+ -+#define X1205_SR_RTCF 0x01 /* Clock failure */ -+#define X1205_SR_WEL 0x02 /* Write Enable Latch */ -+#define X1205_SR_RWEL 0x04 /* Register Write Enable */ -+ -+#define X1205_DTR_DTR0 0x01 -+#define X1205_DTR_DTR1 0x02 -+#define X1205_DTR_DTR2 0x04 -+ -+#define X1205_HR_MIL 0x80 /* Set in ccr.hour for 24 hr mode */ -+ -+/* Prototypes */ -+static int x1205_attach(struct i2c_adapter *adapter); -+static int x1205_detach(struct i2c_client *client); -+static int x1205_probe(struct i2c_adapter *adapter, int address, int kind); -+ -+static struct i2c_driver x1205_driver = { -+ .owner = THIS_MODULE, -+ .name = "x1205", -+ .flags = I2C_DF_NOTIFY, -+ .attach_adapter = &x1205_attach, -+ .detach_client = &x1205_detach, -+}; -+ -+/* -+ * In the routines that deal directly with the x1205 hardware, we use -+ * rtc_time -- month 0-11, hour 0-23, yr = calendar year-epoch -+ * Epoch is initialized as 2000. Time is set to UTC. -+ */ -+static int x1205_get_datetime(struct i2c_client *client, struct rtc_time *tm, -+ unsigned char reg_base) -+{ -+ unsigned char dt_addr[2] = { 0, reg_base }; -+ -+ unsigned char buf[8]; -+ -+ struct i2c_msg msgs[] = { -+ { client->addr, 0, 2, dt_addr }, /* setup read ptr */ -+ { client->addr, I2C_M_RD, 8, buf }, /* read date */ -+ }; -+ -+ /* read date registers */ -+ if ((i2c_transfer(client->adapter, &msgs[0], 2)) != 2) { -+ dev_err(&client->dev, "%s: read error\n", __FUNCTION__); -+ return -EIO; -+ } -+ -+ dev_dbg(&client->dev, -+ "%s: raw read data - sec=%02x, min=%02x, hr=%02x, " -+ "mday=%02x, mon=%02x, year=%02x, wday=%02x, y2k=%02x\n", -+ __FUNCTION__, -+ buf[0], buf[1], buf[2], buf[3], -+ buf[4], buf[5], buf[6], buf[7]); -+ -+ tm->tm_sec = BCD2BIN(buf[CCR_SEC]); -+ tm->tm_min = BCD2BIN(buf[CCR_MIN]); -+ tm->tm_hour = BCD2BIN(buf[CCR_HOUR] & 0x3F); /* hr is 0-23 */ -+ tm->tm_mday = BCD2BIN(buf[CCR_MDAY]); -+ tm->tm_mon = BCD2BIN(buf[CCR_MONTH]) - 1; /* mon is 0-11 */ -+ tm->tm_year = BCD2BIN(buf[CCR_YEAR]) -+ + (BCD2BIN(buf[CCR_Y2K]) * 100) - 1900; -+ tm->tm_wday = buf[CCR_WDAY]; -+ -+ dev_dbg(&client->dev, "%s: tm is secs=%d, mins=%d, hours=%d, " -+ "mday=%d, mon=%d, year=%d, wday=%d\n", -+ __FUNCTION__, -+ tm->tm_sec, tm->tm_min, tm->tm_hour, -+ tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday); -+ -+ return 0; -+} -+ -+static int x1205_get_status(struct i2c_client *client, unsigned char *sr) -+{ -+ static unsigned char sr_addr[2] = { 0, X1205_REG_SR }; -+ -+ struct i2c_msg msgs[] = { -+ { client->addr, 0, 2, sr_addr }, /* setup read ptr */ -+ { client->addr, I2C_M_RD, 1, sr }, /* read status */ -+ }; -+ -+ /* read status register */ -+ if ((i2c_transfer(client->adapter, &msgs[0], 2)) != 2) { -+ dev_err(&client->dev, "%s: read error\n", __FUNCTION__); -+ return -EIO; -+ } -+ -+ return 0; -+} -+ -+static int x1205_set_datetime(struct i2c_client *client, struct rtc_time *tm, -+ int datetoo, u8 reg_base) -+{ -+ int i, xfer; -+ unsigned char buf[8]; -+ -+ static const unsigned char wel[3] = { 0, X1205_REG_SR, -+ X1205_SR_WEL }; -+ -+ static const unsigned char rwel[3] = { 0, X1205_REG_SR, -+ X1205_SR_WEL | X1205_SR_RWEL }; -+ -+ static const unsigned char diswe[3] = { 0, X1205_REG_SR, 0 }; -+ -+ dev_dbg(&client->dev, -+ "%s: secs=%d, mins=%d, hours=%d\n", -+ __FUNCTION__, -+ tm->tm_sec, tm->tm_min, tm->tm_hour); -+ -+ buf[CCR_SEC] = BIN2BCD(tm->tm_sec); -+ buf[CCR_MIN] = BIN2BCD(tm->tm_min); -+ -+ /* set hour and 24hr bit */ -+ buf[CCR_HOUR] = BIN2BCD(tm->tm_hour) | X1205_HR_MIL; -+ -+ /* should we also set the date? */ -+ if (datetoo) { -+ dev_dbg(&client->dev, -+ "%s: mday=%d, mon=%d, year=%d, wday=%d\n", -+ __FUNCTION__, -+ tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday); -+ -+ buf[CCR_MDAY] = BIN2BCD(tm->tm_mday); -+ -+ /* month, 1 - 12 */ -+ buf[CCR_MONTH] = BIN2BCD(tm->tm_mon + 1); -+ -+ /* year, since the rtc epoch*/ -+ buf[CCR_YEAR] = BIN2BCD(tm->tm_year % 100); -+ buf[CCR_WDAY] = tm->tm_wday & 0x07; -+ buf[CCR_Y2K] = BIN2BCD(tm->tm_year / 100); -+ } -+ -+ /* this sequence is required to unlock the chip */ -+ xfer = i2c_master_send(client, wel, 3); -+ if (xfer != 3) { -+ dev_err(&client->dev, "%s: wel - %d\n", __FUNCTION__, xfer); -+ return -EIO; -+ } -+ -+ xfer = i2c_master_send(client, rwel, 3); -+ if (xfer != 3) { -+ dev_err(&client->dev, "%s: rwel - %d\n", __FUNCTION__, xfer); -+ return -EIO; -+ } -+ -+ /* write register's data */ -+ for (i = 0; i < (datetoo ? 8 : 3); i++) { -+ unsigned char rdata[3] = { 0, reg_base + i, buf[i] }; -+ -+ xfer = i2c_master_send(client, rdata, 3); -+ if (xfer != 3) { -+ dev_err(&client->dev, -+ "%s: xfer=%d addr=%02x, data=%02x\n", -+ __FUNCTION__, -+ xfer, rdata[1], rdata[2]); -+ return -EIO; -+ } -+ }; -+ -+ /* disable further writes */ -+ xfer = i2c_master_send(client, diswe, 3); -+ if (xfer != 3) { -+ dev_err(&client->dev, "%s: diswe - %d\n", __FUNCTION__, xfer); -+ return -EIO; -+ } -+ -+ return 0; -+} -+ -+static int x1205_fix_osc(struct i2c_client *client) -+{ -+ int err; -+ struct rtc_time tm; -+ -+ tm.tm_hour = 0; -+ tm.tm_min = 0; -+ tm.tm_sec = 0; -+ -+ if ((err = x1205_set_datetime(client, &tm, 0, X1205_CCR_BASE)) < 0) -+ dev_err(&client->dev, -+ "unable to restart the clock\n"); -+ -+ return err; -+} -+ -+static int x1205_get_dtrim(struct i2c_client *client, int *trim) -+{ -+ unsigned char dtr; -+ static unsigned char dtr_addr[2] = { 0, X1205_REG_DTR }; -+ -+ struct i2c_msg msgs[] = { -+ { client->addr, 0, 2, dtr_addr }, /* setup read ptr */ -+ { client->addr, I2C_M_RD, 1, &dtr }, /* read dtr */ -+ }; -+ -+ /* read dtr register */ -+ if ((i2c_transfer(client->adapter, &msgs[0], 2)) != 2) { -+ dev_err(&client->dev, "%s: read error\n", __FUNCTION__); -+ return -EIO; -+ } -+ -+ dev_dbg(&client->dev, "%s: raw dtr=%x\n", __FUNCTION__, dtr); -+ -+ *trim = 0; -+ -+ if (dtr & X1205_DTR_DTR0) -+ *trim += 20; -+ -+ if (dtr & X1205_DTR_DTR1) -+ *trim += 10; -+ -+ if (dtr & X1205_DTR_DTR2) -+ *trim = -*trim; -+ -+ return 0; -+} -+ -+static int x1205_get_atrim(struct i2c_client *client, int *trim) -+{ -+ s8 atr; -+ static unsigned char atr_addr[2] = { 0, X1205_REG_ATR }; -+ -+ struct i2c_msg msgs[] = { -+ { client->addr, 0, 2, atr_addr }, /* setup read ptr */ -+ { client->addr, I2C_M_RD, 1, &atr }, /* read atr */ -+ }; -+ -+ /* read atr register */ -+ if ((i2c_transfer(client->adapter, &msgs[0], 2)) != 2) { -+ dev_err(&client->dev, "%s: read error\n", __FUNCTION__); -+ return -EIO; -+ } -+ -+ dev_dbg(&client->dev, "%s: raw atr=%x\n", __FUNCTION__, atr); -+ -+ /* atr is a two's complement value on 6 bits, -+ * perform sign extension. The formula is -+ * Catr = (atr * 0.25pF) + 11.00pF. -+ */ -+ if (atr & 0x20) -+ atr |= 0xC0; -+ -+ dev_dbg(&client->dev, "%s: raw atr=%x (%d)\n", __FUNCTION__, atr, atr); -+ -+ *trim = (atr * 250) + 11000; -+ -+ dev_dbg(&client->dev, "%s: real=%d\n", __FUNCTION__, *trim); -+ -+ return 0; -+} -+ -+static int x1205_hctosys(struct i2c_client *client) -+{ -+ int err; -+ -+ struct rtc_time tm; -+ struct timespec tv; -+ unsigned char sr; -+ -+ if ((err = x1205_get_status(client, &sr)) < 0) -+ return err; -+ -+ /* Don't set if we had a power failure */ -+ if (sr & X1205_SR_RTCF) -+ return -EINVAL; -+ -+ if ((err = x1205_get_datetime(client, &tm, X1205_CCR_BASE)) < 0) -+ return err; -+ -+ /* IMPORTANT: the RTC only stores whole seconds. It is arbitrary -+ * whether it stores the most close value or the value with partial -+ * seconds truncated. However, it is important that we use it to store -+ * the truncated value. This is because otherwise it is necessary, -+ * in an rtc sync function, to read both xtime.tv_sec and -+ * xtime.tv_nsec. On some processors (i.e. ARM), an atomic read -+ * of >32bits is not possible. So storing the most close value would -+ * slow down the sync API. So here we have the truncated value and -+ * the best guess is to add 0.5s. -+ */ -+ -+ tv.tv_nsec = NSEC_PER_SEC >> 1; -+ -+ rtc_tm_to_time(&tm, &tv.tv_sec); -+ -+ do_settimeofday(&tv); -+ -+ dev_info(&client->dev, -+ "setting the system clock to %d-%d-%d %d:%d:%d\n", -+ tm.tm_year + 1900, tm.tm_mon + 1, -+ tm.tm_mday, tm.tm_hour, tm.tm_min, -+ tm.tm_sec); -+ -+ return 0; -+} -+ -+struct x1205_limit -+{ -+ unsigned char reg; -+ unsigned char mask; -+ unsigned char min; -+ unsigned char max; -+}; -+ -+static int x1205_validate_client(struct i2c_client *client) -+{ -+ int i, xfer; -+ -+ /* Probe array. We will read the register at the specified -+ * address and check if the given bits are zero. -+ */ -+ static const unsigned char probe_zero_pattern[] = { -+ /* register, mask */ -+ X1205_REG_SR, 0x18, -+ X1205_REG_DTR, 0xF8, -+ X1205_REG_ATR, 0xC0, -+ X1205_REG_INT, 0x18, -+ X1205_REG_0, 0xFF, -+ }; -+ -+ static const struct x1205_limit probe_limits_pattern[] = { -+ /* register, mask, min, max */ -+ { X1205_REG_Y2K, 0xFF, 19, 20 }, -+ { X1205_REG_DW, 0xFF, 0, 6 }, -+ { X1205_REG_YR, 0xFF, 0, 99 }, -+ { X1205_REG_MO, 0xFF, 0, 12 }, -+ { X1205_REG_DT, 0xFF, 0, 31 }, -+ { X1205_REG_HR, 0x7F, 0, 23 }, -+ { X1205_REG_MN, 0xFF, 0, 59 }, -+ { X1205_REG_SC, 0xFF, 0, 59 }, -+ { X1205_REG_Y2K1, 0xFF, 19, 20 }, -+ { X1205_REG_Y2K0, 0xFF, 19, 20 }, -+ }; -+ -+ /* check that registers have bits a 0 where expected */ -+ for (i = 0; i < ARRAY_SIZE(probe_zero_pattern); i += 2) { -+ unsigned char buf; -+ -+ unsigned char addr[2] = { 0, probe_zero_pattern[i] }; -+ -+ struct i2c_msg msgs[2] = { -+ { client->addr, 0, 2, addr }, -+ { client->addr, I2C_M_RD, 1, &buf }, -+ }; -+ -+ xfer = i2c_transfer(client->adapter, msgs, 2); -+ if (xfer != 2) { -+ dev_err(&client->adapter->dev, -+ "%s: could not read register %x\n", -+ __FUNCTION__, addr[1]); -+ -+ return -EIO; -+ } -+ -+ if ((buf & probe_zero_pattern[i+1]) != 0) { -+ dev_err(&client->adapter->dev, -+ "%s: register=%02x, zero pattern=%d, value=%x\n", -+ __FUNCTION__, addr[1], i, buf); -+ -+ return -ENODEV; -+ } -+ } -+ -+ /* check limits (only registers with bcd values) */ -+ for (i = 0; i < ARRAY_SIZE(probe_limits_pattern); i++) { -+ unsigned char reg, value; -+ -+ unsigned char addr[2] = { 0, probe_limits_pattern[i].reg }; -+ -+ struct i2c_msg msgs[2] = { -+ { client->addr, 0, 2, addr }, -+ { client->addr, I2C_M_RD, 1, ® }, -+ }; -+ -+ xfer = i2c_transfer(client->adapter, msgs, 2); -+ -+ if (xfer != 2) { -+ dev_err(&client->adapter->dev, -+ "%s: could not read register %x\n", -+ __FUNCTION__, addr[1]); -+ -+ return -EIO; -+ } -+ -+ value = BCD2BIN(reg & probe_limits_pattern[i].mask); -+ -+ if (value > probe_limits_pattern[i].max || -+ value < probe_limits_pattern[i].min) { -+ dev_dbg(&client->adapter->dev, -+ "%s: register=%x, lim pattern=%d, value=%d\n", -+ __FUNCTION__, addr[1], i, value); -+ -+ return -ENODEV; -+ } -+ } -+ -+ return 0; -+} -+ -+static int x1205_rtc_read_alarm(struct device *dev, -+ struct rtc_wkalrm *alrm) -+{ -+ return x1205_get_datetime(to_i2c_client(dev), -+ &alrm->time, X1205_ALM0_BASE); -+} -+ -+static int x1205_rtc_set_alarm(struct device *dev, -+ struct rtc_wkalrm *alrm) -+{ -+ return x1205_set_datetime(to_i2c_client(dev), -+ &alrm->time, 1, X1205_ALM0_BASE); -+} -+ -+static int x1205_rtc_read_time(struct device *dev, -+ struct rtc_time *tm) -+{ -+ return x1205_get_datetime(to_i2c_client(dev), -+ tm, X1205_CCR_BASE); -+} -+ -+static int x1205_rtc_set_time(struct device *dev, -+ struct rtc_time *tm) -+{ -+ return x1205_set_datetime(to_i2c_client(dev), -+ tm, 1, X1205_CCR_BASE); -+} -+ -+static int x1205_rtc_set_mmss(struct device *dev, unsigned long secs) -+{ -+ int err; -+ -+ struct rtc_time new_tm, old_tm; -+ -+ if ((err = x1205_rtc_read_time(dev, &old_tm) == 0)) -+ return err; -+ -+ /* FIXME xtime.tv_nsec = old_tm.tm_sec * 10000000; */ -+ new_tm.tm_sec = secs % 60; -+ secs /= 60; -+ new_tm.tm_min = secs % 60; -+ secs /= 60; -+ new_tm.tm_hour = 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 x1205_rtc_set_time(dev, &new_tm); -+} -+ -+static int x1205_rtc_proc(struct device *dev, struct seq_file *seq) -+{ -+ int err, dtrim, atrim; -+ -+ seq_printf(seq, "24hr\t\t: yes\n"); -+ -+ err = x1205_get_dtrim(to_i2c_client(dev), &dtrim); -+ if (err == 0) -+ seq_printf(seq, "digital_trim\t: %d ppm\n", dtrim); -+ -+ err = x1205_get_atrim(to_i2c_client(dev), &atrim); -+ if (err == 0) -+ seq_printf(seq, "analog_trim\t: %d.%02d pF\n", -+ atrim / 1000, atrim % 1000); -+ return 0; -+} -+ -+static struct rtc_class_ops x1205_rtc_ops = { -+ .proc = x1205_rtc_proc, -+ .read_time = x1205_rtc_read_time, -+ .set_time = x1205_rtc_set_time, -+ .read_alarm = x1205_rtc_read_alarm, -+ .set_alarm = x1205_rtc_set_alarm, -+ .set_mmss = x1205_rtc_set_mmss, -+}; -+ -+static ssize_t x1205_sysfs_show_atrim(struct device *dev, -+ struct device_attribute *attr, char *buf) -+{ -+ int atrim; -+ -+ if (x1205_get_atrim(to_i2c_client(dev), &atrim) == 0) { -+ return sprintf(buf, "%d.%02d pF\n", -+ atrim / 1000, atrim % 1000); } -+ return 0; -+} -+static DEVICE_ATTR(atrim, S_IRUGO, x1205_sysfs_show_atrim, NULL); -+ -+static ssize_t x1205_sysfs_show_dtrim(struct device *dev, -+ struct device_attribute *attr, char *buf) -+{ -+ int dtrim; -+ -+ if (x1205_get_dtrim(to_i2c_client(dev), &dtrim) == 0) { -+ return sprintf(buf, "%d ppm\n", dtrim); -+ } -+ return 0; -+} -+static DEVICE_ATTR(dtrim, S_IRUGO, x1205_sysfs_show_dtrim, NULL); -+ -+ -+static int x1205_attach(struct i2c_adapter *adapter) -+{ -+ dev_dbg(&adapter->dev, "%s\n", __FUNCTION__); -+ -+ return i2c_probe(adapter, &addr_data, x1205_probe); -+} -+ -+static int x1205_probe(struct i2c_adapter *adapter, int address, int kind) -+{ -+ int err = 0; -+ unsigned char sr; -+ struct i2c_client *client; -+ struct rtc_device *rtc; -+ -+ dev_dbg(&adapter->dev, "%s\n", __FUNCTION__); -+ -+ if (!i2c_check_functionality(adapter, I2C_FUNC_I2C)) { -+ err = -ENODEV; -+ goto exit; -+ } -+ -+ if (!(client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL))) { -+ err = -ENOMEM; -+ goto exit; -+ } -+ -+ /* I2C client */ -+ client->addr = address; -+ client->driver = &x1205_driver; -+ client->adapter = adapter; -+ -+ strlcpy(client->name, x1205_driver.name, I2C_NAME_SIZE); -+ -+ /* Verify the chip is really an X1205 */ -+ if (kind < 0) { -+ if (x1205_validate_client(client) < 0) { -+ err = -ENODEV; -+ goto exit_kfree; -+ } -+ } -+ -+ /* Inform the i2c layer */ -+ if ((err = i2c_attach_client(client))) -+ goto exit_kfree; -+ -+ dev_info(&client->dev, "chip found, driver version " DRV_VERSION "\n"); -+ -+ rtc = rtc_device_register(x1205_driver.name, &client->dev, -+ &x1205_rtc_ops, THIS_MODULE); -+ -+ if (IS_ERR(rtc)) { -+ err = PTR_ERR(rtc); -+ dev_err(&client->dev, -+ "unable to register the class device\n"); -+ goto exit_detach; -+ } -+ -+ i2c_set_clientdata(client, rtc); -+ -+ /* Check for power failures and eventualy enable the osc */ -+ if ((err = x1205_get_status(client, &sr)) == 0) { -+ if (sr & X1205_SR_RTCF) { -+ dev_err(&client->dev, -+ "power failure detected, " -+ "please set the clock\n"); -+ udelay(50); -+ x1205_fix_osc(client); -+ } -+ } -+ else -+ dev_err(&client->dev, "couldn't read status\n"); -+ -+ /* If requested, set the system time */ -+ if (hctosys) { -+ if ((err = x1205_hctosys(client)) < 0) -+ dev_err(&client->dev, -+ "unable to set the system clock\n"); -+ } -+ -+ device_create_file(&client->dev, &dev_attr_atrim); -+ device_create_file(&client->dev, &dev_attr_dtrim); -+ -+ return 0; -+ -+exit_detach: -+ i2c_detach_client(client); -+ -+exit_kfree: -+ kfree(client); -+ -+exit: -+ return err; -+} -+ -+static int x1205_detach(struct i2c_client *client) -+{ -+ int err; -+ struct rtc_device *rtc = i2c_get_clientdata(client); -+ -+ dev_dbg(&client->dev, "%s\n", __FUNCTION__); -+ -+ if (rtc) -+ rtc_device_unregister(rtc); -+ -+ if ((err = i2c_detach_client(client))) -+ return err; -+ -+ kfree(client); -+ -+ return 0; -+} -+ -+static int __init x1205_init(void) -+{ -+ return i2c_add_driver(&x1205_driver); -+} -+ -+static void __exit x1205_exit(void) -+{ -+ i2c_del_driver(&x1205_driver); -+} -+ -+MODULE_AUTHOR( -+ "Karen Spearel <kas11@tampabay.rr.com>, " -+ "Alessandro Zummo <a.zummo@towertech.it>"); -+MODULE_DESCRIPTION("Xicor/Intersil X1205 RTC driver"); -+MODULE_LICENSE("GPL"); -+MODULE_VERSION(DRV_VERSION); -+ -+module_init(x1205_init); -+module_exit(x1205_exit); ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-nslu2/drivers/rtc/rtc-test.c 2006-01-04 01:27:19.000000000 +0100 -@@ -0,0 +1,189 @@ -+/* -+ * An RTC test device/driver -+ * Copyright (C) 2005 Tower Technologies -+ * Author: Alessandro Zummo <a.zummo@towertech.it> -+ * -+ * 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/module.h> -+#include <linux/err.h> -+#include <linux/rtc.h> -+#include <linux/platform_device.h> -+ -+static int test_rtc_read_alarm(struct device *dev, -+ struct rtc_wkalrm *alrm) -+{ -+ return 0; -+} -+ -+static int test_rtc_set_alarm(struct device *dev, -+ struct rtc_wkalrm *alrm) -+{ -+ return 0; -+} -+ -+static int test_rtc_read_time(struct device *dev, -+ struct rtc_time *tm) -+{ -+ rtc_time_to_tm(get_seconds(), tm); -+ return 0; -+} -+ -+static int test_rtc_set_time(struct device *dev, -+ struct rtc_time *tm) -+{ -+ return 0; -+} -+ -+static int test_rtc_set_mmss(struct device *dev, unsigned long secs) -+{ -+ return 0; -+} -+ -+static int test_rtc_proc(struct device *dev, struct seq_file *seq) -+{ -+ struct platform_device *plat_dev = to_platform_device(dev); -+ -+ seq_printf(seq, "24hr\t\t: yes\n"); -+ seq_printf(seq, "test\t\t: yes\n"); -+ seq_printf(seq, "id\t\t: %d\n", plat_dev->id); -+ -+ return 0; -+} -+ -+static int test_rtc_ioctl(struct device *dev, unsigned int cmd, -+ unsigned long arg) -+{ -+ /* We do support interrupts, they're generated -+ * using the sysfs interface. -+ */ -+ switch (cmd) { -+ case RTC_PIE_ON: -+ case RTC_PIE_OFF: -+ case RTC_UIE_ON: -+ case RTC_UIE_OFF: -+ case RTC_AIE_ON: -+ case RTC_AIE_OFF: -+ return 0; -+ -+ default: -+ return -EINVAL; -+ } -+} -+ -+static struct rtc_class_ops test_rtc_ops = { -+ .proc = test_rtc_proc, -+ .read_time = test_rtc_read_time, -+ .set_time = test_rtc_set_time, -+ .read_alarm = test_rtc_read_alarm, -+ .set_alarm = test_rtc_set_alarm, -+ .set_mmss = test_rtc_set_mmss, -+ .ioctl = test_rtc_ioctl, -+}; -+ -+static ssize_t test_irq_show(struct device *dev, -+ struct device_attribute *attr, char *buf) -+{ -+ return sprintf(buf, "%d\n", 42); -+} -+static ssize_t test_irq_store(struct device *dev, -+ struct device_attribute *attr, -+ const char *buf, size_t count) -+{ -+ int retval; -+ struct platform_device *plat_dev = to_platform_device(dev); -+ struct rtc_device *rtc = platform_get_drvdata(plat_dev); -+ -+ retval = count; -+ if (strncmp(buf, "tick", 4) == 0) -+ rtc_update_irq(&rtc->class_dev, 1, RTC_PF | RTC_IRQF); -+ else if (strncmp(buf, "alarm", 5) == 0) -+ rtc_update_irq(&rtc->class_dev, 1, RTC_AF | RTC_IRQF); -+ else if (strncmp(buf, "update", 6) == 0) -+ rtc_update_irq(&rtc->class_dev, 1, RTC_UF | RTC_IRQF); -+ else -+ retval = -EINVAL; -+ -+ return retval; -+} -+static DEVICE_ATTR(irq, S_IRUGO | S_IWUSR, test_irq_show, test_irq_store); -+ -+static int test_probe(struct platform_device *plat_dev) -+{ -+ int err; -+ struct rtc_device *rtc = rtc_device_register("test", &plat_dev->dev, -+ &test_rtc_ops, THIS_MODULE); -+ if (IS_ERR(rtc)) { -+ err = PTR_ERR(rtc); -+ dev_err(&plat_dev->dev, -+ "unable to register the class device\n"); -+ return err; -+ } -+ device_create_file(&plat_dev->dev, &dev_attr_irq); -+ -+ platform_set_drvdata(plat_dev, rtc); -+ -+ return 0; -+} -+ -+static int test_remove(struct platform_device *plat_dev) -+{ -+ struct rtc_device *rtc = platform_get_drvdata(plat_dev); -+ -+ rtc_device_unregister(rtc); -+ device_remove_file(&plat_dev->dev, &dev_attr_irq); -+ -+ return 0; -+} -+ -+static void test_release(struct device * dev) -+{ -+} -+ -+struct platform_device test_dev_zero = { -+ .name = "rtc-test", -+ .id = 0, -+ .dev.release = test_release, -+}; -+ -+struct platform_device test_dev_one = { -+ .name = "rtc-test", -+ .id = 1, -+ .dev.release = test_release, -+}; -+ -+struct platform_driver test_drv = { -+ .probe = test_probe, -+ .remove = test_remove, -+ .driver = { -+ .name = "rtc-test", -+ .owner = THIS_MODULE, -+ }, -+}; -+ -+static int __init test_init(void) -+{ -+ platform_device_register(&test_dev_zero); -+ platform_device_register(&test_dev_one); -+ platform_driver_register(&test_drv); -+ -+ return 0; -+} -+ -+static void __exit test_exit(void) -+{ -+ platform_driver_unregister(&test_drv); -+ platform_device_unregister(&test_dev_zero); -+ platform_device_unregister(&test_dev_one); -+} -+ -+MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>"); -+MODULE_DESCRIPTION("RTC test driver/device"); -+MODULE_LICENSE("GPL"); -+ -+module_init(test_init); -+module_exit(test_exit); ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-nslu2/drivers/rtc/rtc-ds1672.c 2006-01-04 01:27:21.000000000 +0100 -@@ -0,0 +1,266 @@ -+/* -+ * An rtc/i2c driver for the Dallas DS1672 -+ * Copyright 2005 Alessandro Zummo -+ * -+ * 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/module.h> -+#include <linux/i2c.h> -+#include <linux/rtc.h> -+ -+#define DRV_VERSION "0.1" -+ -+/* Addresses to scan: none. This chip cannot be detected. */ -+static unsigned short normal_i2c[] = { I2C_CLIENT_END }; -+ -+/* Insmod parameters */ -+I2C_CLIENT_INSMOD; -+I2C_CLIENT_MODULE_PARM(hctosys, -+ "Set the system time from the hardware clock upon initialization"); -+ -+/* Registers */ -+ -+#define DS1672_REG_CNT_BASE 0 -+#define DS1672_REG_CONTROL 4 -+#define DS1672_REG_TRICKLE 5 -+ -+ -+/* Prototypes */ -+static int ds1672_probe(struct i2c_adapter *adapter, int address, int kind); -+ -+/* -+ * In the routines that deal directly with the ds1672 hardware, we use -+ * rtc_time -- month 0-11, hour 0-23, yr = calendar year-epoch -+ * Epoch is initialized as 2000. Time is set to UTC. -+ */ -+static int ds1672_get_datetime(struct i2c_client *client, struct rtc_time *tm) -+{ -+ unsigned long time; -+ unsigned char buf[4]; -+ -+ dev_dbg(&client->dev, -+ "%s: raw read data - counters=%02x,%02x,%02x,%02x\n" -+ __FUNCTION__, -+ buf[0], buf[1], buf[2], buf[3]); -+ -+ time = (buf[3] << 24) | (buf[2] << 16) | (buf[1] << 8) | buf[0]; -+ -+ rtc_time_to_tm(time, tm); -+ -+ dev_dbg(&client->dev, "%s: tm is secs=%d, mins=%d, hours=%d, " -+ "mday=%d, mon=%d, year=%d, wday=%d\n", -+ __FUNCTION__, -+ tm->tm_sec, tm->tm_min, tm->tm_hour, -+ tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday); -+ -+ return 0; -+} -+ -+static int ds1672_set_mmss(struct i2c_client *client, unsigned long secs) -+{ -+ int xfer; -+ unsigned char buf[5]; -+ -+ buf[0] = DS1672_REG_CNT_BASE; -+ buf[1] = secs & 0x000000FF; -+ buf[2] = (secs & 0x0000FF00) >> 8; -+ buf[3] = (secs & 0x00FF0000) >> 16; -+ buf[4] = (secs & 0xFF000000) >> 24; -+ -+ xfer = i2c_master_send(client, buf, 5); -+ if (xfer != 5) { -+ dev_err(&client->dev, "%s: send: %d\n", __FUNCTION__, xfer); -+ return -EIO; -+ } -+ -+ return 0; -+} -+ -+static int ds1672_set_datetime(struct i2c_client *client, struct rtc_time *tm) -+{ -+ unsigned long secs; -+ -+ dev_dbg(&client->dev, -+ "%s: secs=%d, mins=%d, hours=%d, ", -+ "mday=%d, mon=%d, year=%d, wday=%d\n", -+ __FUNCTION__, -+ tm->tm_sec, tm->tm_min, tm->tm_hour, -+ tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday); -+ -+ rtc_tm_to_time(tm, &secs); -+ -+ return ds1672_set_mmss(client, secs); -+} -+ -+static int ds1672_hctosys(struct i2c_client *client) -+{ -+ int err; -+ struct rtc_time tm; -+ struct timespec tv; -+ -+ if ((err = ds1672_get_datetime(client, &tm)) != 0) -+ return err; -+ -+ /* IMPORTANT: the RTC only stores whole seconds. It is arbitrary -+ * whether it stores the most close value or the value with partial -+ * seconds truncated. However, it is important that we use it to store -+ * the truncated value. This is because otherwise it is necessary, -+ * in an rtc sync function, to read both xtime.tv_sec and -+ * xtime.tv_nsec. On some processors (i.e. ARM), an atomic read -+ * of >32bits is not possible. So storing the most close value would -+ * slow down the sync API. So here we have the truncated value and -+ * the best guess is to add 0.5s. -+ */ -+ -+ tv.tv_nsec = NSEC_PER_SEC >> 1; -+ -+ rtc_tm_to_time(&tm, &tv.tv_sec); -+ -+ do_settimeofday(&tv); -+ -+ dev_info(&client->dev, -+ "setting the system clock to %d-%02d-%02d %02d:%02d:%02d\n", -+ tm.tm_year + 1900, tm.tm_mon + 1, -+ tm.tm_mday, tm.tm_hour, tm.tm_min, -+ tm.tm_sec); -+ -+ return 0; -+} -+ -+static int ds1672_rtc_read_time(struct device *dev, struct rtc_time *tm) -+{ -+ return ds1672_get_datetime(to_i2c_client(dev), tm); -+} -+ -+static int ds1672_rtc_set_time(struct device *dev, struct rtc_time *tm) -+{ -+ return ds1672_set_datetime(to_i2c_client(dev), tm); -+} -+ -+static int ds1672_rtc_set_mmss(struct device *dev, unsigned long secs) -+{ -+ return ds1672_set_mmss(to_i2c_client(dev), secs); -+} -+ -+static struct rtc_class_ops ds1672_rtc_ops = { -+ .read_time = ds1672_rtc_read_time, -+ .set_time = ds1672_rtc_set_time, -+ .set_mmss = ds1672_rtc_set_mmss, -+}; -+ -+static int ds1672_attach(struct i2c_adapter *adapter) -+{ -+ dev_dbg(&adapter->dev, "%s\n", __FUNCTION__); -+ -+ return i2c_probe(adapter, &addr_data, ds1672_probe); -+} -+ -+static int ds1672_detach(struct i2c_client *client) -+{ -+ int err; -+ struct rtc_device *rtc = i2c_get_clientdata(client); -+ -+ dev_dbg(&client->dev, "%s\n", __FUNCTION__); -+ -+ if (rtc) -+ rtc_device_unregister(rtc); -+ -+ if ((err = i2c_detach_client(client))) -+ return err; -+ -+ kfree(client); -+ -+ return 0; -+} -+ -+static struct i2c_driver ds1672_driver = { -+ .owner = THIS_MODULE, -+ .name = "ds1672", -+ .flags = I2C_DF_NOTIFY, -+ .attach_adapter = &ds1672_attach, -+ .detach_client = &ds1672_detach, -+}; -+ -+static int ds1672_probe(struct i2c_adapter *adapter, int address, int kind) -+{ -+ int err = 0; -+ struct i2c_client *client; -+ struct rtc_device *rtc; -+ -+ dev_dbg(&adapter->dev, "%s\n", __FUNCTION__); -+ -+ if (!i2c_check_functionality(adapter, I2C_FUNC_I2C)) { -+ err = -ENODEV; -+ goto exit; -+ } -+ -+ if (!(client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL))) { -+ err = -ENOMEM; -+ goto exit; -+ } -+ -+ /* I2C client */ -+ client->addr = address; -+ client->driver = &ds1672_driver; -+ client->adapter = adapter; -+ -+ strlcpy(client->name, ds1672_driver.name, I2C_NAME_SIZE); -+ -+ /* Inform the i2c layer */ -+ if ((err = i2c_attach_client(client))) -+ goto exit_kfree; -+ -+ dev_info(&client->dev, "chip found, driver version " DRV_VERSION "\n"); -+ -+ rtc = rtc_device_register(ds1672_driver.name, &client->dev, -+ &ds1672_rtc_ops, THIS_MODULE); -+ -+ if (IS_ERR(rtc)) { -+ err = PTR_ERR(rtc); -+ dev_err(&client->dev, -+ "unable to register the class device\n"); -+ goto exit_detach; -+ } -+ -+ i2c_set_clientdata(client, rtc); -+ -+ /* If requested, set the system time */ -+ if (hctosys) { -+ if ((err = ds1672_hctosys(client)) < 0) -+ dev_err(&client->dev, -+ "unable to set the system clock\n"); -+ } -+ -+ return 0; -+ -+exit_detach: -+ i2c_detach_client(client); -+ -+exit_kfree: -+ kfree(client); -+ -+exit: -+ return err; -+} -+ -+static int __init ds1672_init(void) -+{ -+ return i2c_add_driver(&ds1672_driver); -+} -+ -+static void __exit ds1672_exit(void) -+{ -+ i2c_del_driver(&ds1672_driver); -+} -+ -+MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>"); -+MODULE_DESCRIPTION("Dallas/Maxim DS1672 timekeeper driver"); -+MODULE_LICENSE("GPL"); -+MODULE_VERSION(DRV_VERSION); -+ -+module_init(ds1672_init); -+module_exit(ds1672_exit); diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/60-nslu2-beeper.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.15/60-nslu2-beeper.patch deleted file mode 100644 index 12fdc4d96e..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/60-nslu2-beeper.patch +++ /dev/null @@ -1,184 +0,0 @@ - drivers/input/misc/Kconfig | 12 +++ - drivers/input/misc/Makefile | 1 - drivers/input/misc/nslu2spkr.c | 148 +++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 161 insertions(+) - ---- 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 - tristate "M68k Beeper support" - depends on M68K - -+config INPUT_NSLU2_BEEPER -+ tristate "NSLU2 Beeper support" -+ depends on MACH_NSLU2 -+ help -+ Say Y here if you want the embedded beeper on the LinkSys NSLU2 -+ to be used for bells and whistles. -+ -+ If unsure, say Y. -+ -+ To compile this driver as a module, choose M here: the -+ module will be called nslu2spkr. -+ - config INPUT_UINPUT - tristate "User level driver support" - 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 - obj-$(CONFIG_INPUT_98SPKR) += 98spkr.o - obj-$(CONFIG_INPUT_UINPUT) += uinput.o - obj-$(CONFIG_HP_SDC_RTC) += hp_sdc_rtc.o -+obj-$(CONFIG_INPUT_NSLU2_BEEPER) += nslu2spkr.o ---- linux-2.6.15/drivers/input/misc/nslu2spkr.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.15/drivers/input/misc/nslu2spkr.c 1970-01-01 00:00:00.000000000 +0000 -@@ -0,0 +1,148 @@ -+/* -+ * drivers/input/misc/nslu2spkr.c -+ * -+ * NSLU2 Beeper driver -+ * -+ * Copyright (C) 2005 Tower Technologies -+ * -+ * based on nslu2-io.c -+ * Copyright (C) 2004 Karen Spearel -+ * -+ * 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/config.h> -+#include <linux/module.h> -+#include <linux/init.h> -+#include <linux/input.h> -+#include <linux/delay.h> -+ -+#include <asm/hardware.h> -+#include <asm/irq.h> -+#include <asm/mach-types.h> -+ -+static unsigned int beep_on_startup = 1; -+module_param(beep_on_startup, bool, 0); -+MODULE_PARM_DESC(beep_on_startup, "Play a beep on module startup"); -+ -+DEFINE_SPINLOCK(beep_lock); -+ -+static int nslu2_spkr_event(struct input_dev *dev, unsigned int type, unsigned int code, int value) -+{ -+ unsigned int count = 0; -+ unsigned long flags; -+ -+ if (type != EV_SND) -+ return -1; -+ -+ switch (code) { -+ case SND_BELL: -+ if (value) value = 1000; -+ case SND_TONE: -+ break; -+ default: -+ return -1; -+ } -+ -+ if (value > 20 && value < 32767) -+ count = (NSLU2_FREQ / (value*4)) - 1; -+ -+ spin_lock_irqsave(&beep_lock, flags); -+ -+ if (count) { -+ -+ gpio_line_config(NSLU2_GPIO_BUZZ, IXP4XX_GPIO_OUT); -+ gpio_line_set(NSLU2_GPIO_BUZZ, IXP4XX_GPIO_LOW); -+ -+ *IXP4XX_OSRT2 = (count & ~IXP4XX_OST_RELOAD_MASK) | IXP4XX_OST_ENABLE; -+ -+ } else { -+ -+ gpio_line_config(NSLU2_GPIO_BUZZ, IXP4XX_GPIO_IN); -+ gpio_line_set(NSLU2_GPIO_BUZZ, IXP4XX_GPIO_HIGH); -+ -+ *IXP4XX_OSRT2 = 0; -+ } -+ -+ spin_unlock_irqrestore(&beep_lock, flags); -+ -+ return 0; -+} -+ -+static struct input_dev nslu2_spkr_dev = { -+ .phys = "ixp420/gpio4", -+ .name = "NSLU2 Beeper", -+ .evbit[0] = BIT(EV_SND), -+ .sndbit[0] = BIT(SND_BELL) | BIT(SND_TONE), -+ .event = nslu2_spkr_event, -+ .id = { -+ .bustype = BUS_HOST, -+ .vendor = 0x001f, -+ .product = 0x0001, -+ .version = 0x0100 -+ } -+}; -+ -+static irqreturn_t nslu2_spkr_handler(int irq, void *dev_id, struct pt_regs *regs) -+{ -+ /* clear interrupt */ -+ *IXP4XX_OSST = IXP4XX_OSST_TIMER_2_PEND; -+ -+ /* flip the beeper output */ -+ *IXP4XX_GPIO_GPOUTR ^= NSLU2_BZ_BM; -+ -+ return IRQ_HANDLED; -+} -+ -+static int __init nslu2_spkr_init(void) -+{ -+ if (!(machine_is_nslu2())) -+ return -ENODEV; -+ -+ if (request_irq(IRQ_IXP4XX_TIMER2, &nslu2_spkr_handler, -+ SA_INTERRUPT | SA_TIMER, "nslu2-beeper", NULL < 0)) { -+ -+ printk(KERN_INFO "NSLU2 beeper: IRQ %d not available\n", -+ IRQ_IXP4XX_TIMER2); -+ -+ return -EIO; -+ } -+ -+ input_register_device(&nslu2_spkr_dev); -+ -+ /* do a little beep to tell the world we are alive */ -+ if (beep_on_startup) -+ { -+ nslu2_spkr_event(NULL, EV_SND, SND_TONE, 440); -+ msleep(120); -+ nslu2_spkr_event(NULL, EV_SND, SND_TONE, 0); -+ } -+ -+ printk(KERN_INFO "NSLU2: beeper\n"); -+ return 0; -+} -+ -+static void __exit nslu2_spkr_exit(void) -+{ -+ input_unregister_device(&nslu2_spkr_dev); -+ -+ disable_irq(IRQ_IXP4XX_TIMER2); -+ -+ /* turn it off */ -+ nslu2_spkr_event(NULL, EV_SND, SND_BELL, 0); -+ -+ free_irq(IRQ_IXP4XX_TIMER2, NULL); -+} -+ -+module_init(nslu2_spkr_init); -+module_exit(nslu2_spkr_exit); -+ -+MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>"); -+MODULE_DESCRIPTION("NSLU2 Beeper driver"); -+MODULE_LICENSE("GPL"); diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/75-nslu2-leds.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.15/75-nslu2-leds.patch deleted file mode 100644 index 7497409e77..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/75-nslu2-leds.patch +++ /dev/null @@ -1,272 +0,0 @@ - arch/arm/Kconfig | 8 - - arch/arm/mach-ixp4xx/Makefile | 4 - arch/arm/mach-ixp4xx/nslu2-leds.c | 223 ++++++++++++++++++++++++++++++++++++++ - 3 files changed, 232 insertions(+), 3 deletions(-) - ---- linux-2.6.15/arch/arm/Kconfig 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.15/arch/arm/Kconfig 1970-01-01 00:00:00.000000000 +0000 -@@ -418,7 +418,8 @@ config LEDS - ARCH_EBSA285 || ARCH_IMX || ARCH_INTEGRATOR || \ - ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \ - ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \ -- ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE -+ ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \ -+ MACH_NSLU2 - help - If you say Y here, the LEDs on your machine will be used - to provide useful information about your current system status. -@@ -432,7 +433,7 @@ config LEDS - - config LEDS_TIMER - bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \ -- MACH_OMAP_H2 || MACH_OMAP_PERSEUS2 -+ MACH_OMAP_H2 || MACH_OMAP_PERSEUS2 || MACH_NSLU2 - depends on LEDS - default y if ARCH_EBSA110 - help -@@ -448,7 +449,8 @@ config LEDS_TIMER - - config LEDS_CPU - bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \ -- !ARCH_OMAP) || MACH_OMAP_H2 || MACH_OMAP_PERSEUS2 -+ !ARCH_OMAP) || MACH_OMAP_H2 || MACH_OMAP_PERSEUS2 \ -+ || MACH_NSLU2 - depends on LEDS - help - 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- - obj-$(CONFIG_MACH_GTWX5715) += gtwx5715-pci.o gtwx5715-setup.o - obj-$(CONFIG_MACH_NSLU2) += nslu2-pci.o nslu2-setup.o nslu2-power.o - -+leds-$(CONFIG_MACH_NSLU2) += nslu2-leds.o -+obj-$(CONFIG_LEDS) += $(leds-y) -+ -+ ---- linux-2.6.15/arch/arm/mach-ixp4xx/nslu2-leds.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.15/arch/arm/mach-ixp4xx/nslu2-leds.c 1970-01-01 00:00:00.000000000 +0000 -@@ -0,0 +1,223 @@ -+/* -+ * arch/arm/mach-ixp4xx/nslu2-leds.c -+ * -+ * NSLU2 LEDs driver -+ * -+ * Copyright (C) 2005 Tower Technologies -+ * -+ * based on nslu2-io.c -+ * Copyright (C) 2004 Karen Spearel -+ * and arch/arm/mach-footbridge/netwinder-leds.c -+ * Copyright (C) 1998-1999 Russell King -+ * -+ * 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/config.h> -+#include <linux/module.h> -+#include <linux/kernel.h> -+#include <linux/init.h> -+#include <linux/spinlock.h> -+#include <linux/notifier.h> -+ -+#include <asm/hardware.h> -+#include <asm/leds.h> -+#include <asm/mach-types.h> -+#include <asm/system.h> -+ -+#define LED_STATE_ENABLED 0x01 -+#define LED_STATE_CLAIMED 0x02 -+#define LED_STATE_IDLE 0x04 -+ -+static unsigned char led_state; -+static unsigned int hw_led_state; -+ -+#ifdef CONFIG_LEDS_TIMER -+static const unsigned long idle_seq[4] = { -+ NSLU2_LED_GRN_BM, 0, -+ NSLU2_LED_GRN_BM, 0, -+}; -+ -+static const unsigned long busy_seq[4] = { -+ NSLU2_LED_GRN_BM, 0, -+ NSLU2_LED_GRN_BM | NSLU2_LED_RED_BM, 0, -+}; -+#endif -+ -+static unsigned char led_count = 0; -+ -+static DEFINE_SPINLOCK(leds_lock); -+extern spinlock_t gpio_lock; -+ -+static void nslu2_leds_event(led_event_t evt) -+{ -+ unsigned long flags; -+ -+ spin_lock_irqsave(&leds_lock, flags); -+ -+ switch (evt) { -+ case led_start: -+ /* Let's rock! Red led on, all others off. Remember -+ * that disk1/disk2 works inverted. -+ */ -+ led_state = LED_STATE_ENABLED; -+ hw_led_state = NSLU2_LED_DISK1_BM | NSLU2_LED_DISK2_BM -+ | NSLU2_LED_RED_BM; -+ break; -+ -+ case led_stop: -+ led_state &= ~LED_STATE_ENABLED; -+ break; -+ -+ case led_claim: -+ /* The user claimed the interface, red and green off */ -+ led_state |= LED_STATE_CLAIMED; -+ hw_led_state &= ~(NSLU2_LED_RED_BM | NSLU2_LED_GRN_BM); -+ break; -+ -+ case led_release: -+ /* The user released the interface, preserve the last -+ * status of the leds, except red/green. -+ */ -+ led_state &= ~LED_STATE_CLAIMED; -+ hw_led_state = *IXP4XX_GPIO_GPOUTR & 0x0000000C; -+ break; -+ -+#ifdef CONFIG_LEDS_TIMER -+ case led_timer: -+ /* Pulse green led */ -+ if (!(led_state & LED_STATE_CLAIMED)) -+ { -+ /* clear red and green bits */ -+ hw_led_state &= ~(NSLU2_LED_RED_BM | NSLU2_LED_GRN_BM); -+ -+ /* copy the right sequence in */ -+ if (led_state & LED_STATE_IDLE) -+ hw_led_state |= idle_seq[led_count % 4]; -+ else -+ hw_led_state |= busy_seq[led_count % 4]; -+ -+ led_count++; -+ } -+ break; -+#endif -+ -+#ifdef CONFIG_LEDS_CPU -+ case led_idle_start: -+ led_state |= LED_STATE_IDLE; -+#ifndef CONFIG_LEDS_TIMER -+ /* green on, red off */ -+ hw_led_state |= NSLU2_LED_GRN_BM; -+ hw_led_state &= ~NSLU2_LED_RED_BM; -+#endif -+ break; -+ -+ case led_idle_end: -+ led_state &= ~LED_STATE_IDLE; -+#ifndef CONFIG_LEDS_TIMER -+ /* green on, red on -> amber on */ -+ hw_led_state |= NSLU2_LED_GRN_BM | NSLU2_LED_RED_BM; -+#endif -+ break; -+#endif /* CONFIG_LEDS_CPU */ -+ -+ case led_halted: -+ if (!(led_state & LED_STATE_CLAIMED)) -+ hw_led_state |= NSLU2_LED_RED_BM; -+ break; -+ -+ /* leds */ -+ -+ case led_green_on: -+ if (led_state & LED_STATE_CLAIMED) -+ hw_led_state |= NSLU2_LED_GRN_BM; -+ break; -+ -+ case led_green_off: -+ if (led_state & LED_STATE_CLAIMED) -+ hw_led_state &= ~NSLU2_LED_GRN_BM; -+ break; -+ -+ case led_amber_on: -+ if (led_state & LED_STATE_CLAIMED) -+ hw_led_state |= (NSLU2_LED_RED_BM | NSLU2_LED_GRN_BM); -+ break; -+ -+ case led_amber_off: -+ if (led_state & LED_STATE_CLAIMED) -+ hw_led_state &= ~(NSLU2_LED_RED_BM | NSLU2_LED_GRN_BM); -+ break; -+ -+ case led_red_on: -+ if (led_state & LED_STATE_CLAIMED) -+ hw_led_state |= NSLU2_LED_RED_BM; -+ break; -+ -+ case led_red_off: -+ if (led_state & LED_STATE_CLAIMED) -+ hw_led_state &= ~NSLU2_LED_RED_BM; -+ break; -+ -+ default: -+ break; -+ } -+ -+ spin_unlock_irqrestore(&leds_lock, flags); -+ -+ if (led_state & LED_STATE_ENABLED) { -+ spin_lock_irqsave(&gpio_lock, flags); -+ *IXP4XX_GPIO_GPOUTR = (*IXP4XX_GPIO_GPOUTR & 0xFFFFFFF0) | hw_led_state; -+ spin_unlock_irqrestore(&gpio_lock, flags); -+ } -+} -+ -+static int nslu2_leds_panic_event(struct notifier_block *this, unsigned long event, -+ void *ptr) -+{ -+#ifdef CONFIG_LEDS_TIMER -+ leds_event(led_claim); -+#endif -+ leds_event(led_green_off); -+ leds_event(led_red_on); -+ -+ return NOTIFY_DONE; -+} -+ -+static struct notifier_block nslu2_leds_panic_block = { -+ .notifier_call = nslu2_leds_panic_event, -+}; -+ -+static int __init nslu2_leds_init(void) -+{ -+ if (!(machine_is_nslu2())) -+ return 0; -+ -+ printk(KERN_INFO "NSLU2: leds\n"); -+ -+ /* register panic notifier */ -+ notifier_chain_register(&panic_notifier_list, &nslu2_leds_panic_block); -+ -+ /* enable gpio 0-3 */ -+ gpio_line_config(NSLU2_LED_GRN, IXP4XX_GPIO_OUT); -+ gpio_line_config(NSLU2_LED_RED, IXP4XX_GPIO_OUT); -+ gpio_line_config(NSLU2_LED_DISK1, IXP4XX_GPIO_OUT); -+ gpio_line_config(NSLU2_LED_DISK2, IXP4XX_GPIO_OUT); -+ -+ leds_event = nslu2_leds_event; -+ -+ /* this will also initialize the leds to the -+ * default state. -+ */ -+ -+ leds_event(led_start); -+ -+ return 0; -+} -+ -+module_init(nslu2_leds_init); diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/80-nslu2-io.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.15/80-nslu2-io.patch deleted file mode 100644 index 26031f6f00..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/80-nslu2-io.patch +++ /dev/null @@ -1,560 +0,0 @@ ---- 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 - 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 - ---- 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 -@@ -0,0 +1,548 @@ -+//============================================================================= -+// -+// n2-io.c version 0.1.7 -+// Author: Karen Spearel <kas11 at tampabay.rr.com> -+// please report problems/bugs directly to the address above -+// -+// Boilerplate to be added "real soon now"...it is and has always been GPL'ed per -+// MODULE_LICENSE but is offered without warrantee of any sort..use at your own risk -+// -+// NOTE: THIS IS INCOMPLETE. INCLUDED ONLY TO KEEP FROM BREAKING THE BUILD, -+// IT BEEPS AND SENDS A MESSAGE TO /proc/poweroff. EVENTUALLY IT -+// WILL TALK TO THE n2_pbd DAEMON. EVENTUALLY THE LED DRIVER -+// WILL TALK TO SOME USERLAND APP BUT ***NOT*** SET_LEDS. -+// -+//============================================================================= -+// GPIO Function State -+// 0 Red LED Status -+// 1 Green LED Ready = 1 -+// 2 Disk 2 LED On = 0 -+// 3 Disk 1 LED On = 0 -+// 4 Buzzer -+// 5 Power Button Pressed = 1 -+// 8 Power Down Output = 1 powers down NSLU2 -+// 12 Reset Pressed = 0 -+ -+#include <linux/config.h> -+#include <linux/version.h> -+#include <linux/module.h> -+#include <linux/kernel.h> -+#include <linux/proc_fs.h> -+#include <linux/device.h> -+#include <linux/reboot.h> -+ -+#include <asm/uaccess.h> -+#include <asm-arm/irq.h> -+#include <asm-arm/delay.h> -+ -+/* Set this to 1 to output lots of debug messages. */ -+#define NSLU2_IO_DEBUG 0 -+ -+#if NSLU2_IO_DEBUG -+#define nslu2_io_debug(args) printk args -+#else -+#define nslu2_io_debug(args) ((void)0) -+#endif -+ -+#define VERSION "0.1.7" -+ -+#define NSLU2BZ_MAJOR 62 //buzzer -+#define NSLU2LM_MAJOR 126 -+ -+ -+#define NSLU2_BEEP_DUR_LONG 2000 -+#define NSLU2_BEEP_DUR_MED 400 -+#define NSLU2_BEEP_DUR_SHORT 100 -+#define NSLU2_BEEP_PITCH_HIGH 250 -+#define NSLU2_BEEP_PITCH_MED 500 -+#define NSLU2_BEEP_PITCH_LOW 1000 -+#define NSLU2_LONG_DELAY 30000 -+ -+#define NSLU2_BZ_BM (1L << NSLU2_GPIO_BUZZ) -+ -+// ioctls -- 'M" is used for sound cards...we don't got one so it seems safe -+ -+#define NSLU2BZ_BEEP_STOP _IO('M',0) //stop multi-beep at end of audible -+#define NSLU2BZ_BEEP _IO('M',1) //one beep at current defaults -+#define NSLU2BZ_BEEPS _IOW('M',3,long) //param beeps at current defaults -+#define NSLU2BZ_TONESET _IOW('M',4,long) //set tone: range is high=250 to low=2000 -+#define NSLU2BZ_ONTIME _IOW('M',5,long) //ontime for multi-beeps in jiffies -+#define NSLU2BZ_SILENTTIME _IOW('M',6,long) //offtime for multi-beeps in jiffies -+#define NSLU2BZ_REPEATCNT _IOW('M',7,long) //number of repeats for multi-beeps 0 = forever -+#define NSLU2BZ_COMBINED _IOW('M',8,long) //combine all params in a long -+ -+#define NSLU2LM_OFF _IOW('M',32,long) -+#define NSLU2LM_ON _IOW('M',33,long) -+#define NSLU2LM_BLINK _IOW('M',34,long) -+#define NSLU2LM_ALT _IOW('M',35,long) -+#define NSLU2LM_ALL_ON _IO('M',36) -+#define NSLU2LM_ALL_OFF _IO('M',37) -+ -+#define PHYS_LEDS 4 -+#define BLINK_DELAY 25 -+ -+// OR Masks to turn these LEDs ON -+ -+#define RS_RED_ON 0x00000001 //0b0000 0000 0000 0010 -+#define RS_GRN_ON 0x00000002 //0b0000 0000 0000 0001 -+#define RS_YEL_ON 0x00000003 //0b0000 0000 0000 0011 -+ -+// AND Masks to turn these LEDs OFF -+ -+#define RS_RED_OFF 0xfffffffe //0b1111 1111 1111 1101 -+#define RS_GRN_OFF 0xfffffffd //0b1111 1111 1111 1110 -+#define RS_YEL_OFF 0xfffffffc //0b1111 1111 1111 1100 -+ -+// AND Masks to turn these LEDs ON -+ -+#define DISK1_ON 0xfffffff7 //0b1111 1111 1111 0111 -+#define DISK2_ON 0xfffffffb //0b1111 1111 1111 1011 -+ -+// Or Masks to turn these LEDs OFF -+ -+#define DISK1_OFF 0x00000008 //0b0000 0000 0000 1000 -+#define DISK2_OFF 0x00000004 //0b0000 0000 0000 0100 -+ -+// EOR masks for toggling LEDs on/off -+ -+#define RS_RG_ALT 0x00000003 //eor mask to toggle rs rg bits -+#define RS_GRN_TGL 0x00000002 -+#define RS_RED_TGL 0x00000001 -+#define DISK1_TGL 0x00000008 -+#define DISK2_TGL 0x00000004 -+ -+// The LED names for switches -+ -+#define LED_RS_RED 0 -+#define LED_RS_GRN 1 -+#define LED_DISK1 2 -+#define LED_DISK2 3 -+#define LED_ALL 4 -+ -+static unsigned long ontime = 50; -+static unsigned long offtime = 450; -+static unsigned long bz_repeatcnt = 10; -+static unsigned long tone = 1000; -+ -+static struct timer_list n2lm_rsg_timer; //rs green -+static struct timer_list n2lm_rsr_timer; //rs red -+static struct timer_list n2lm_d1_timer; //drive 1 -+static struct timer_list n2lm_d2_timer; //drive 2 -+static struct timer_list n2bz_timer; //beeper -+ -+// sysfs class -+static struct class *n2lm_class; -+ -+//================================================================================================== -+// -+// Blinking is handled entirely by the 4 timer handlers. On timeout, the bit in the -+// GPIO output register is xor'd with a mask corresponding to the selected led which simply -+// flips that bit. No record of what any of the other leds is doing is needed. -+// -+//================================================================================================== -+// this blinks rs green or green/yellow if rs red is on -+#ifndef CONFIG_LEDS -+static void n2lm_rsg_handler(unsigned long data) -+{ -+ *IXP4XX_GPIO_GPOUTR ^= RS_GRN_TGL; //flip the led -+ n2lm_rsg_timer.expires = jiffies + BLINK_DELAY; //next timeout -+ add_timer(&n2lm_rsg_timer); //reinit timer -+ return; -+} -+ -+// this blinks or alternates rs red green... inited wit green on/red off -+static void n2lm_rsr_handler(unsigned long data) -+{ -+ *IXP4XX_GPIO_GPOUTR ^= n2lm_rsr_timer.data; -+ n2lm_rsr_timer.expires = jiffies + BLINK_DELAY; -+ add_timer(&n2lm_rsr_timer); -+ return; -+} -+// blinks disk 1 -+static void n2lm_d1_handler(unsigned long data) -+{ -+ *IXP4XX_GPIO_GPOUTR ^= DISK1_TGL; -+ n2lm_d1_timer.expires = jiffies + BLINK_DELAY; -+ add_timer(&n2lm_d1_timer); -+ return; -+} -+// blinks disk 2 -+static void n2lm_d2_handler(unsigned long data) -+{ -+ *IXP4XX_GPIO_GPOUTR ^= DISK2_TGL; -+ n2lm_d2_timer.expires = jiffies + BLINK_DELAY; -+ add_timer(&n2lm_d2_timer); -+ return; -+} -+ -+//================================================================================================== -+ -+static void n2lm_timer_start(unsigned long led) -+{ -+ -+ nslu2_io_debug((KERN_DEBUG "timer: %ld\n",led)); -+ -+ switch(led) { -+ case LED_RS_RED: -+ n2lm_rsr_timer.expires = jiffies + BLINK_DELAY; -+ add_timer(&n2lm_rsr_timer); -+ break; -+ -+ case LED_RS_GRN: -+ n2lm_rsg_timer.expires = jiffies + BLINK_DELAY; -+ add_timer(&n2lm_rsg_timer); -+ break; -+ -+ case LED_DISK1: -+ n2lm_d1_timer.expires = jiffies + BLINK_DELAY; -+ add_timer(&n2lm_d1_timer); -+ break; -+ -+ case LED_DISK2: -+ n2lm_d2_timer.expires = jiffies + BLINK_DELAY; -+ add_timer(&n2lm_d2_timer); -+ break; -+ -+ default: -+ break; -+ } -+ return; -+} -+ -+//================================================================================================== -+ -+static void n2lm_timer_stop(unsigned long led) -+{ -+ switch (led) { -+ case LED_RS_RED: -+ del_timer(&n2lm_rsr_timer); -+ break; -+ case LED_RS_GRN: -+ del_timer(&n2lm_rsg_timer); -+ break; -+ case LED_DISK1: -+ del_timer(&n2lm_d1_timer); -+ break; -+ case LED_DISK2: -+ del_timer(&n2lm_d2_timer); -+ break; -+ default: -+ break; -+ } -+ return; -+} -+ -+//-------------------------------------------------------------------------------------------------- -+ -+static void n2lm_timer_stop_all(void) -+{ -+ del_timer(&n2lm_rsg_timer); -+ del_timer(&n2lm_rsr_timer); -+ del_timer(&n2lm_d1_timer); -+ del_timer(&n2lm_d2_timer); -+ return; -+} -+//-------------------------------------------------------------------------------------------------- -+ -+static void n2lm_ledon(unsigned long led) -+{ -+ -+ nslu2_io_debug((KERN_DEBUG "ledon: %ld\n", led)); -+ -+ switch (led) { -+ case LED_RS_RED: -+ *IXP4XX_GPIO_GPOUTR |= RS_RED_ON; //1 -+ return; -+ case LED_RS_GRN: -+ *IXP4XX_GPIO_GPOUTR |= RS_GRN_ON; //2 -+ return; -+ case LED_DISK1: -+ *IXP4XX_GPIO_GPOUTR &= DISK1_ON; //0xfffffff7 -+ return; -+ case LED_DISK2: -+ *IXP4XX_GPIO_GPOUTR &= DISK2_ON; //0xfffffffb -+ return; -+ case LED_ALL: //all green -+ *IXP4XX_GPIO_GPOUTR |= RS_GRN_ON; -+ *IXP4XX_GPIO_GPOUTR &= (DISK1_ON & DISK2_ON); -+ return; -+ } -+} -+ -+//-------------------------------------------------------------------------------------------------- -+ -+static void n2lm_ledoff(unsigned long led) -+{ -+ -+ switch (led) { -+ case LED_RS_RED: -+ *IXP4XX_GPIO_GPOUTR &= RS_RED_OFF; //0xffffffffe -+ return; -+ case LED_RS_GRN: -+ *IXP4XX_GPIO_GPOUTR &= RS_GRN_OFF; //0xfffffffd -+ return; -+ case LED_DISK1: -+ *IXP4XX_GPIO_GPOUTR |= DISK1_OFF; //0x00000008 -+ return; -+ case LED_DISK2: -+ *IXP4XX_GPIO_GPOUTR |= DISK2_OFF; //0x00000004 -+ return; -+ case LED_ALL: -+ *IXP4XX_GPIO_GPOUTR &= (RS_GRN_OFF & RS_RED_OFF); -+ *IXP4XX_GPIO_GPOUTR |= (DISK1_OFF | DISK2_OFF); -+ } -+} -+ -+//================================================================================================== -+ -+static int n2lm_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long led) -+{ -+ -+ nslu2_io_debug((KERN_DEBUG "cmd=%d, led=%ld\n", cmd, led)); -+ -+ if (led < 0 || led >= PHYS_LEDS) -+ return -EINVAL; -+ -+ switch (cmd ) { -+ case NSLU2LM_ON: -+ n2lm_timer_stop(led); -+ n2lm_ledon(led); -+ break; -+ -+ case NSLU2LM_OFF: -+ n2lm_timer_stop(led); -+ n2lm_ledoff(led); -+ break; -+ -+ case NSLU2LM_BLINK: -+ n2lm_ledon(led); -+ if (led == LED_RS_RED) -+ n2lm_rsr_timer.data = RS_RED_TGL; -+ n2lm_timer_start(led); -+ break; -+ -+ case NSLU2LM_ALT: -+ if (led == LED_RS_RED) -+ { -+ n2lm_ledon(LED_RS_GRN); -+ n2lm_ledoff(LED_RS_RED); -+ n2lm_rsr_timer.data = RS_RG_ALT; -+ n2lm_timer_start(LED_RS_RED); -+ break; -+ } else -+ return -EINVAL; -+ -+ case NSLU2LM_ALL_ON: -+ n2lm_timer_stop_all(); -+ n2lm_ledon(LED_ALL); -+ break; -+ -+ case NSLU2LM_ALL_OFF: -+ n2lm_timer_stop_all(); -+ n2lm_ledoff(LED_ALL); -+ break; -+ -+ default: -+ return -EINVAL; -+ } -+ -+ return 0; -+} -+ -+static struct file_operations n2lm_fops = { -+ .owner = THIS_MODULE, -+ .ioctl = n2lm_ioctl, -+}; -+#endif -+//================================================================================================== -+// We can't do anything fancy here since the system tick rate is far below that required to -+// generate a desirable tone. Therefore we haven't much choice but to use a busy loop until -+// I get up to speed on the timers. The saving grace is that for the normal uses, nothing -+// important should be haprepening. -+//================================================================================================== -+ -+static void n2_buzz(int tone_delay, int duration) -+{ -+ int i; -+ -+ *IXP4XX_GPIO_GPOER &= ~NSLU2_BZ_BM; -+ -+ for (i = 1; i < duration; i++) { -+ *IXP4XX_GPIO_GPOUTR &= ~NSLU2_BZ_BM; -+ udelay(tone_delay); -+ *IXP4XX_GPIO_GPOUTR |= NSLU2_BZ_BM; -+ udelay(tone_delay); -+ } -+ *IXP4XX_GPIO_GPOER |= NSLU2_BZ_BM; -+ -+ return; -+} -+//================================================================================================= -+ -+// this handles the buzzer duty cycle -+static void n2bz_handler(unsigned long data) -+{ -+ if (--bz_repeatcnt > 0) { //if just one beep left to do -+ n2bz_timer.expires = jiffies + ontime + offtime; //next timeout -+ add_timer(&n2bz_timer); //reinit timer -+ } -+ n2_buzz(tone/2, ontime); -+ nslu2_io_debug((KERN_DEBUG "Count = %d\tOntime = %d\n", bz_repeatcnt, ontime)); -+ return; -+} -+ -+//================================================================================================== -+ -+static int n2bz_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long param) -+{ -+ switch (cmd) { -+ case NSLU2BZ_BEEP: -+ n2_buzz(tone/2, ontime); -+ break; -+ -+ case NSLU2BZ_BEEP_STOP: -+ del_timer(&n2bz_timer); -+ break; -+ -+ case NSLU2BZ_BEEPS: -+ if (param == 0) -+ bz_repeatcnt = 0xffffffff; -+ else -+ bz_repeatcnt = param; -+ n2bz_handler(0); -+ break; -+ -+ case NSLU2BZ_TONESET: -+ if (param >= 250 && param <= 2000) -+ tone = param; -+ break; -+ -+ case NSLU2BZ_ONTIME: -+ if (param > 4 && param < 201) -+ ontime = param; -+ break; -+ -+ case NSLU2BZ_SILENTTIME: -+ if (param > ontime) //enforce a reasonable duty cycle -+ offtime = param; -+ else -+ offtime = ontime; -+ break; -+ -+ case NSLU2BZ_REPEATCNT: -+ if (param == 0) -+ bz_repeatcnt = 0xffffffff; -+ else -+ bz_repeatcnt = param; -+ break; -+ -+ case NSLU2BZ_COMBINED: -+ bz_repeatcnt = (param & 0xF0000000) >> 28; //repeat 1 - 16 -+ ontime = (param & 0x0FF00000) >> 20; //ontime 1 - 256 jiffies -+ offtime = (param & 0x000FFF00) >> 8; //offtime 1 - 4095 jiffies -+ tone = (param & 0x000000FF) << 4; //tone (1 - 255) * 16 -+ break; -+ -+ default: -+ break; -+ } -+ return 0; -+} -+ -+static struct file_operations n2bz_fops = { -+ .owner = THIS_MODULE, -+ .ioctl = n2bz_ioctl, -+}; -+ -+static void n2iom_initarch(void) -+{ -+#ifndef CONFIG_LEDS -+ init_timer(&n2lm_rsg_timer); -+ init_timer(&n2lm_rsr_timer); -+ init_timer(&n2lm_d1_timer); -+ init_timer(&n2lm_d2_timer); -+ -+ n2lm_rsr_timer.function = n2lm_rsr_handler; -+ n2lm_rsg_timer.function = n2lm_rsg_handler; -+ n2lm_d2_timer.function = n2lm_d2_handler; -+ n2lm_d1_timer.function = n2lm_d1_handler; -+#endif -+ -+ init_timer(&n2bz_timer); -+ n2bz_timer.function = n2bz_handler; -+ -+ n2lm_rsr_timer.data = n2lm_rsg_timer.data = n2lm_d1_timer.data = n2lm_d2_timer.data = n2bz_timer.data = 0; -+ -+#ifndef CONFIG_LEDS -+ *IXP4XX_GPIO_GPOER &= 0xfffffff0; //enable gpio 0-3 -+ *IXP4XX_GPIO_GPOUTR |= 0x00000003; //turn off the leds -+ *IXP4XX_GPIO_GPOUTR &= 0xfffffffc; -+ n2lm_ledon(LED_ALL); -+ n2_buzz(NSLU2_BEEP_PITCH_MED, NSLU2_BEEP_DUR_SHORT); -+ n2lm_ledoff(LED_ALL); -+ -+ // Default the Ready/Status to Red during kernel boot, Turn Green at the end of sysvinit -+ n2lm_ledon(LED_RS_RED); -+#endif -+ -+ return; -+} -+ -+//================================================================================================== -+ -+static int __init n2iom_init(void) -+{ -+ printk(KERN_INFO "NSLU2: i/o, %s\n", VERSION); -+ -+ n2iom_initarch(); -+ -+ n2lm_class = class_create(THIS_MODULE, "nslu2"); -+ -+#ifndef CONFIG_LEDS -+ if (register_chrdev(NSLU2LM_MAJOR, "n2_ledm", &n2lm_fops) < 0) { -+ printk(KERN_DEBUG "Led Manager Major %d not available\n", NSLU2LM_MAJOR); -+ return -EBUSY; -+ } -+ else { -+ class_device_create(n2lm_class, NULL, MKDEV(NSLU2LM_MAJOR, 0), NULL, "leds"); -+ } -+#endif -+ -+ if (register_chrdev(NSLU2BZ_MAJOR, "n2_bzm", &n2bz_fops) < 0) { -+ printk(KERN_DEBUG "Buzzer Major %d not available\n", NSLU2BZ_MAJOR); -+ return -EBUSY; -+ } -+ else { -+ class_device_create(n2lm_class, NULL, MKDEV(NSLU2BZ_MAJOR, 0), NULL, "buzzer"); -+ } -+ -+ return 0; -+} -+ -+//================================================================================================== -+ -+static void __exit n2iom_exit(void) -+{ -+ -+#ifndef CONFIG_LEDS -+ del_timer(&n2lm_rsg_timer); -+ del_timer(&n2lm_rsr_timer); -+ del_timer(&n2lm_d1_timer); -+ del_timer(&n2lm_d2_timer); -+ -+ unregister_chrdev(NSLU2LM_MAJOR, "n2lm" ); -+ class_device_destroy(n2lm_class, MKDEV(NSLU2LM_MAJOR, 0)); -+#endif -+ -+ unregister_chrdev(NSLU2BZ_MAJOR, "n2bz"); -+ class_device_destroy(n2lm_class, MKDEV(NSLU2BZ_MAJOR, 0)); -+ -+ class_destroy(n2lm_class); -+} -+ -+module_init(n2iom_init); -+module_exit(n2iom_exit); -+ -+MODULE_AUTHOR("Karen Spearel <kas11@tampabay.rr.com>"); -+MODULE_DESCRIPTION("NSLU2 I/O driver"); -+MODULE_LICENSE("GPL"); diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/85-timer.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.15/85-timer.patch deleted file mode 100644 index 3d4a03f616..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/85-timer.patch +++ /dev/null @@ -1,285 +0,0 @@ ---- linux-2.6.15/arch/arm/mach-ixp4xx/common.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.15/arch/arm/mach-ixp4xx/common.c 1970-01-01 00:00:00.000000000 +0000 -@@ -239,36 +239,165 @@ void __init ixp4xx_init_irq(void) - * IXP4xx timer tick - * We use OS timer1 on the CPU for the timer tick and the timestamp - * counter as a source of real clock ticks to account for missed jiffies. -+ * -+ * 'CLOCK_TICK_RATE' is the nominal number of internal ticks per second, -+ * this is significantly greater than the actual number on any ixp4xx -+ * board. Neither this nor 'LATCH' are required by this code because -+ * the only requirement is to generate HZ timer_tick calls per second. - *************************************************************************/ -+#if TICK_NSEC * HZ != 1000000000 -+ /* This will cause the jiffies to drift unnecessarily. */ -+# error CLOCK_TICK_RATE should be a multiple of HZ for this code -+#endif -+ -+/* These are the control registers for the interrupt handler, they must -+ * only be read and written by the interrupt handler and by the init -+ * method (which sets them to 0). -+ */ -+static volatile u32 last_timer_time; -+static volatile int accumulated_error; -+ -+/* Most ixp4xx boards have 66.6666MHz crystals, so default to this, reset -+ * this from the board level code if required. The following variables -+ * must be *written* only by set_board_tick_rate -+ */ -+static u32 board_tick_rate; -+static u32 board_tick_per_1000; /* board_tick_rate/1000 */ -+static u32 timer_count; -+ -+/* The following symbol may be written to change the current tick rate, -+ * it is read by the interrupt handler and used to reload the timer. -+ * The 'real' value (the one in use) is 'board_tick_rate' above. -+ * NOTE: this can be tweaked to match the actual crystal on a particular -+ * machine. -+ */ -+volatile u32 ixp4xx_board_tick_rate = 66666600; -+EXPORT_SYMBOL(ixp4xx_board_tick_rate); -+ -+/* The set API may run asynchronously in the presence of interrupts, -+ * everything it does it is both atomic and complete (notice that it -+ * doesn't change any of the 'volatile' values). The mathematics in -+ * here require the following values. Changing the board tick rate -+ * implies an unknown error in the current timestamp tick count. -+ */ -+#if IXP4XX_OST_RELOAD_MASK != 3 || IXP4XX_OST_ENABLE != 1 -+# error unexpected value for timer reload mask -+#endif -+static void set_board_tick_rate(u32 rate) { -+ u32 reload; -+ -+ /* Store the two effectively informational rate values, the -+ * error calculation is (rate - count*HZ) (above), and rate -+ * is changed first, this can cause a temporary error which -+ * will be corrected on the next interrupt. -+ */ -+ board_tick_rate = rate; -+ board_tick_per_1000 = (rate+500)/1000; -+ -+ /* Calculate the correct value to load into the timer countdown -+ * register, the low two bits must be b01 (to enable the timer). -+ * Select the top bits to be as close to the desired value as -+ * possible. -+ * -+ * First find the best value, regardless of the low two bits - -+ * this is the value used in the interrupt calculation even though -+ * it cannot necessarily be set into the register. -+ */ -+ timer_count = (rate + (HZ/2))/HZ; -+ -+ /* Now the timer_ticks are being generated at this rate, calculate -+ * an appropriate value for the register. This stores a 30 bit -+ * value which gives a period of 4*x+1, we want: -+ * -+ * 4*x+1 = board_tick_rate/HZ -+ * -+ * This needs to be rounded to the closest 4*HZ value: -+ * -+ * x = ((board_tick_rate-HZ) + (4*HZ)/2) / 4*HZ -+ * x = (board_tick_rate+HZ) / (4*HZ); -+ */ -+ reload = (board_tick_rate + HZ) / HZ; -+ reload = (reload & ~IXP4XX_OST_RELOAD_MASK) | IXP4XX_OST_ENABLE; -+ *IXP4XX_OSRT1 = reload; - --static unsigned volatile last_jiffy_time; -+ /* If the clock is drifing, look in syslog: */ -+ printk(KERN_INFO "IXP4xx: FREQ=%d COUNT=%d\n", rate, reload); -+} - --#define CLOCK_TICKS_PER_USEC ((CLOCK_TICK_RATE + USEC_PER_SEC/2) / USEC_PER_SEC) -+/* This returns the time in timer ticks since the 'last_timer_time' -+ * recorded above. Use this to avoid arithmetic errors because of -+ * the overflow when the timer wraps. -+ */ -+static inline u32 ixp4xx_timer_delta(void) -+{ -+ return *IXP4XX_OSTS - last_timer_time; -+} - - /* IRQs are disabled before entering here from do_gettimeofday() */ - static unsigned long ixp4xx_gettimeoffset(void) - { -- u32 elapsed; -- -- elapsed = *IXP4XX_OSTS - last_jiffy_time; -+ /* Return the offset of the current time from the last time -+ * timer tick in microseconds. This is only used for the -+ * gettimeofday call. -+ * -+ * The result of this API is at most about 20000 (for a 50Hz -+ * HZ - 20000 uS/tick), the input delta is at most about -+ * 1.3M - 21 bits. -+ */ -+ u32 delta = ixp4xx_timer_delta(); /* About 21 bits max */ -+ /* return delta * 1000000 / board_tick_rate; */ -+ return (delta * 1000 + board_tick_per_1000/2) / board_tick_per_1000; -+} - -- return elapsed / CLOCK_TICKS_PER_USEC; -+/* This is the correct adjustment to the counter to compensate for an -+ * error iff timer_count-1 <= exact_count <= timer_count+1 -+ */ -+static inline int adjustment(int error) { -+ if (error >= HZ) -+ return 1; -+ else if (error <= -HZ) -+ return -1; -+ return 0; - } - - static irqreturn_t ixp4xx_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) - { -+ u32 rate; -+ u32 count; -+ int error; -+ - write_seqlock(&xtime_lock); - - /* Clear Pending Interrupt by writing '1' to it */ - *IXP4XX_OSST = IXP4XX_OSST_TIMER_1_PEND; - -+ /* If the board tick rate has been changed update the cached -+ * value. -+ */ -+ if (ixp4xx_board_tick_rate != board_tick_rate) { -+ set_board_tick_rate(ixp4xx_board_tick_rate); -+ accumulated_error = 0; -+ } -+ - /* - * Catch up with the real idea of time -+ * -+ * board_tick_rate: actual ixp4xx ticks/second, read-only -+ * accumulated_error: aggregate error/tick * HZ, read/write -+ * timer_count: best ixp4xx ticks per timer_tick, read-only - */ -- while ((*IXP4XX_OSTS - last_jiffy_time) > LATCH) { -+ rate = board_tick_rate; -+ error = accumulated_error; -+ count = timer_count; -+ do { -+ u32 adjusted_count = count + adjustment(error); -+ if (ixp4xx_timer_delta() < adjusted_count) -+ break; - timer_tick(regs); -- last_jiffy_time += LATCH; -- } -+ last_timer_time += adjusted_count; -+ error += rate - adjusted_count*HZ; -+ } while (1); -+ accumulated_error = error; - - write_sequnlock(&xtime_lock); - -@@ -281,17 +410,30 @@ static struct irqaction ixp4xx_timer_irq - .handler = ixp4xx_timer_interrupt, - }; - -+u32 ixp4xx_get_board_tick_rate(void) { -+ return board_tick_rate; -+} -+ -+EXPORT_SYMBOL(ixp4xx_get_board_tick_rate); -+ -+void ixp4xx_set_board_tick_rate(u32 rate) { -+ ixp4xx_board_tick_rate = rate; -+} -+ -+EXPORT_SYMBOL(ixp4xx_set_board_tick_rate); -+ - static void __init ixp4xx_timer_init(void) - { - /* Clear Pending Interrupt by writing '1' to it */ - *IXP4XX_OSST = IXP4XX_OSST_TIMER_1_PEND; - - /* Setup the Timer counter value */ -- *IXP4XX_OSRT1 = (LATCH & ~IXP4XX_OST_RELOAD_MASK) | IXP4XX_OST_ENABLE; -+ set_board_tick_rate(ixp4xx_board_tick_rate); - - /* Reset time-stamp counter */ - *IXP4XX_OSTS = 0; -- last_jiffy_time = 0; -+ last_timer_time = 0; -+ accumulated_error = 0; - - /* Connect the interrupt handler and enable the interrupt */ - setup_irq(IRQ_IXP4XX_TIMER1, &ixp4xx_timer_irq); -@@ -337,4 +479,3 @@ void __init ixp4xx_sys_init(void) - ARRAY_SIZE(ixp46x_devices)); - } - } -- ---- 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) - - static void __init nslu2_init(void) - { -+ /* The NSLU2 has a 33MHz crystal on board - 1.01% different -+ * from the typical value. -+ */ -+ ixp4xx_set_board_tick_rate(66000000); -+ - ixp4xx_sys_init(); - - pm_power_off = nslu2_power_off; ---- linux-2.6.15/drivers/input/misc/nslu2spkr.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.15/drivers/input/misc/nslu2spkr.c 1970-01-01 00:00:00.000000000 +0000 -@@ -51,7 +51,7 @@ static int nslu2_spkr_event(struct input - } - - if (value > 20 && value < 32767) -- count = (NSLU2_FREQ / (value*4)) - 1; -+ count = (ixp4xx_get_board_tick_rate() / (value*4)) - 1; - - spin_lock_irqsave(&beep_lock, flags); - ---- linux-2.6.15/include/asm-arm/arch-ixp4xx/nslu2.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.15/include/asm-arm/arch-ixp4xx/nslu2.h 1970-01-01 00:00:00.000000000 +0000 -@@ -38,11 +38,6 @@ - #define NSLU2_PCI_INTD_PIN 8 - - --/* NSLU2 Timer */ --#define NSLU2_FREQ 66000000 --#define NSLU2_CLOCK_TICK_RATE (((NSLU2_FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ) --#define NSLU2_CLOCK_TICKS_PER_USEC ((NSLU2_CLOCK_TICK_RATE + USEC_PER_SEC/2) / USEC_PER_SEC) -- - /* GPIO */ - - #define NSLU2_GPIO0 0 ---- linux-2.6.15/include/asm-arm/arch-ixp4xx/timex.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.15/include/asm-arm/arch-ixp4xx/timex.h 1970-01-01 00:00:00.000000000 +0000 -@@ -6,10 +6,23 @@ - #include <asm/hardware.h> - - /* -- * We use IXP425 General purpose timer for our timer needs, it runs at -- * 66.66... MHz. We do a convulted calculation of CLOCK_TICK_RATE b/c the -- * timer register ignores the bottom 2 bits of the LATCH value. -+ * In linux/timex.h 'LATCH' is defined as CLOCK_TICK_RATE/HZ and -+ * is the number of internal counts per timer interrupt. Thus -+ * CLOCK_TICK_RATE is LATCH*HZ. -+ * -+ * The actual values of these numbers do not matter, because they -+ * are only used to calculate ACTHZ (rate/latch as a 24.8 fixed -+ * point number), so the value here gives a LATCH of 1 and pretty -+ * much guarantees to flush out any off-by-one errors. -+ * -+ * ACTHZ is equal to HZ, because CLOCK_TICK_RATE is a multiple of -+ * HZ, this is checked in the ixp4xx/common.c code. - */ --#define FREQ 66666666 --#define CLOCK_TICK_RATE (((FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ) -+#define CLOCK_TICK_RATE HZ - -+/* The following allow the exact board tick rate to be set and -+ * discovered. The value should be exactly twice the frequency -+ * (in Hz) of the onboard crystal. -+ */ -+extern u32 ixp4xx_get_board_tick_rate(void); -+extern void ixp4xx_set_board_tick_rate(u32 new_rate); diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6/40-scsi-idle.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6/40-scsi-idle.patch deleted file mode 100644 index e04996e2a8..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6/40-scsi-idle.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff -ur linux-2.6.12.2/drivers/scsi/sd.c linux-2.6.12.2_scsi-idle/drivers/scsi/sd.c ---- linux-2.6.12.2/drivers/scsi/sd.c 2005-08-27 06:12:31.000000000 +0200 -+++ linux-2.6.12.2_scsi-idle/drivers/scsi/sd.c 2005-08-27 06:26:50.000000000 +0200 -@@ -266,6 +266,9 @@ - "count=%d\n", disk->disk_name, - (unsigned long long)block, this_count)); - -+ /* Update idle-since time */ -+ sdp->idle = jiffies; -+ - if (!sdp || !scsi_device_online(sdp) || - block + rq->nr_sectors > get_capacity(disk)) { - SCSI_LOG_HLQUEUE(2, printk("Finishing %ld sectors\n", -@@ -600,6 +603,8 @@ - case SCSI_IOCTL_GET_IDLUN: - case SCSI_IOCTL_GET_BUS_NUMBER: - return scsi_ioctl(sdp, cmd, p); -+ case SCSI_IOCTL_IDLE: -+ return (jiffies - sdp->idle) / HZ + 1; - default: - error = scsi_cmd_ioctl(filp, disk, cmd, p); - if (error != -ENOTTY) -diff -ur linux-2.6.12.2/include/scsi/scsi_device.h linux-2.6.12.2_scsi-idle/include/scsi/scsi_device.h ---- linux-2.6.12.2/include/scsi/scsi_device.h 2005-08-27 06:12:44.000000000 +0200 -+++ linux-2.6.12.2_scsi-idle/include/scsi/scsi_device.h 2005-08-27 06:27:09.000000000 +0200 -@@ -125,6 +125,7 @@ - atomic_t ioerr_cnt; - - int timeout; -+ unsigned long idle; /* scsi idle time in jiffers */ - - struct device sdev_gendev; - struct class_device sdev_classdev; -diff -ur linux-2.6.12.2/include/scsi/scsi_ioctl.h linux-2.6.12.2_scsi-idle/include/scsi/scsi_ioctl.h ---- linux-2.6.12.2/include/scsi/scsi_ioctl.h 2005-08-27 06:12:44.000000000 +0200 -+++ linux-2.6.12.2_scsi-idle/include/scsi/scsi_ioctl.h 2005-08-28 17:32:17.000000000 +0200 -@@ -7,6 +7,7 @@ - #define SCSI_IOCTL_SYNC 4 /* Request synchronous parameters */ - #define SCSI_IOCTL_START_UNIT 5 - #define SCSI_IOCTL_STOP_UNIT 6 -+#define SCSI_IOCTL_IDLE 4746 /* get idle time in jiffies */ - /* The door lock/unlock constants are compatible with Sun constants for - the cdrom */ - #define SCSI_IOCTL_DOORLOCK 0x5380 /* lock the eject mechanism */ diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6/91-maclist.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6/91-maclist.patch deleted file mode 100644 index 27af1ea639..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6/91-maclist.patch +++ /dev/null @@ -1,377 +0,0 @@ ---- linux-2.6.15/include/net/maclist.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.15/include/net/maclist.h 1970-01-01 00:00:00.000000000 +0000 -@@ -0,0 +1,23 @@ -+#ifndef _MACLIST_H -+#define _MACLIST_H 1 -+/* -+ * Interfaces to the MAC repository -+ */ -+/* -+ * Add a single entry, returns 0 on success else an error -+ * code. Must *not* be called from an interrupt handler. -+ */ -+extern int maclist_add(const u8 id_to_add[6]); -+ -+/* -+ * Return the current entry count (valid in any context). -+ */ -+extern int maclist_count(void); -+ -+/* -+ * Return the ID from the n'th entry (valid in any context), -+ * returns 0 on success, -EINVAL if 'n' is out of range. -+ */ -+extern int maclist_read(u8 (*buffer_for_id)[6], int index_of_id_to_return); -+ -+#endif /*_MACLIST_H*/ ---- linux-2.6.15/drivers/net/maclist.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.15/drivers/net/maclist.c 1970-01-01 00:00:00.000000000 +0000 -@@ -0,0 +1,314 @@ -+/* -+ * drivers/net/maclist.c -+ * -+ * a simple driver to remember ethernet MAC values -+ * -+ * Some Ethernet hardware implementations have no built-in -+ * storage for allocated MAC values - an example is the Intel -+ * IXP420 chip which has support for Ethernet but no defined -+ * way of storing allocated MAC values. With such hardware -+ * different board level implementations store the allocated -+ * MAC (or MACs) in different ways. Rather than put board -+ * level code into a specific Ethernet driver this driver -+ * provides a generally accessible repository for the MACs -+ * which can be written by board level code and read by the -+ * driver. -+ * -+ * The implementation also allows user level programs to -+ * access the MAC information in /proc/net/maclist. This is -+ * useful as it allows user space code to use the MAC if it -+ * is not used by a built-in driver. -+ * -+ * Copyright (C) 2005 John Bowler -+ * Author: John Bowler <jbowler@acm.org> -+ * 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. -+ * -+ * External interfaces: -+ * Interfaces to linux kernel (and modules) -+ * maclist_add: add a single MAC -+ * maclist_count: total number of MACs stored -+ * maclist_read: read a MAC 0..(maclist_count-1) -+ */ -+#include <linux/module.h> -+#include <linux/moduleparam.h> -+#include <linux/etherdevice.h> -+#include <linux/proc_fs.h> -+#include <linux/errno.h> -+ -+#include <net/maclist.h> -+ -+#define MACLIST_NAME "maclist" -+ -+MODULE_AUTHOR("John Bowler <jbowler@acm.org>"); -+MODULE_DESCRIPTION("MAC list repository"); -+MODULE_LICENSE("GPL"); -+ -+typedef struct maclist_entry { -+ struct maclist_entry *next; /* Linked list, first first */ -+ u8 id[6]; /* 6 byte Ethernet MAC */ -+} maclist_entry_t; -+ -+/* Access to this list is possible at any time - entries in -+ * the list are never destroyed. Modification of the list is -+ * safe only from the init code (i.e. modification must be -+ * single threaded), but read from an interrupt at the same -+ * time is possible and safe. -+ */ -+static maclist_entry_t *maclist_list = 0; -+ -+/* -+ * External interfaces. -+ * -+ * Add a single entry, returns 0 on success else an error -+ * code. Must be single threaded. -+ */ -+int maclist_add(const u8 new_id[6]) { -+ maclist_entry_t *new_entry, **tail; -+ -+ if (new_id == 0 || !is_valid_ether_addr(new_id)) { -+ printk(KERN_ERR MACLIST_NAME ": invalid ethernet address\n"); -+ return -EINVAL; -+ } -+ new_entry = kmalloc(sizeof *new_entry, GFP_KERNEL); -+ if (new_entry == 0) -+ return -ENOMEM; -+ new_entry->next = 0; -+ memcpy(new_entry->id, new_id, sizeof new_entry->id); -+ -+ tail = &maclist_list; -+ while (*tail != 0) -+ tail = &(*tail)->next; -+ *tail = new_entry; -+ return 0; -+} -+EXPORT_SYMBOL(maclist_add); -+ -+/* -+ * Return the current entry count (valid in any context). -+ */ -+int maclist_count(void) { -+ maclist_entry_t *tail = maclist_list; -+ int count = 0; -+ -+ while (tail != 0) { -+ tail = tail->next; -+ ++count; -+ } -+ -+ return count; -+} -+EXPORT_SYMBOL(maclist_count); -+ -+/* -+ * Return the ID from the n'th entry (valid in any context), -+ * returns 0 on success, -EINVAL if 'n' is out of range. -+ */ -+int maclist_read(u8 (*id)[6], int n) { -+ maclist_entry_t *entry = maclist_list; -+ -+ while (n > 0 && entry != 0) { -+ --n; -+ entry = entry->next; -+ } -+ -+ if (n == 0 && entry != 0) { -+ memcpy(id, entry->id, sizeof *id); -+ return 0; -+ } -+ -+ printk(KERN_ERR MACLIST_NAME ": id does not exist\n"); -+ return -EINVAL; -+} -+EXPORT_SYMBOL(maclist_read); -+ -+/* -+ * Parameter parsing. The option string is a list of MAC -+ * addresses, comma separated. (The parsing really should -+ * be somewhere central...) -+ */ -+static int __init maclist_setup(char *param) { -+ int bytes = 0, seen_a_digit = 0; -+ u8 id[6]; -+ -+ memset(id, 0, sizeof id); -+ -+ if (param) do { -+ int digit = -1; -+ switch (*param) { -+ case '0': digit = 0; break; -+ case '1': digit = 1; break; -+ case '2': digit = 2; break; -+ case '3': digit = 3; break; -+ case '4': digit = 4; break; -+ case '5': digit = 5; break; -+ case '6': digit = 6; break; -+ case '7': digit = 7; break; -+ case '8': digit = 8; break; -+ case '9': digit = 9; break; -+ case 'a': case 'A': digit = 10; break; -+ case 'b': case 'B': digit = 11; break; -+ case 'c': case 'C': digit = 12; break; -+ case 'd': case 'D': digit = 13; break; -+ case 'e': case 'E': digit = 14; break; -+ case 'f': case 'F': digit = 15; break; -+ case ':': -+ if (seen_a_digit) -+ bytes = (bytes+1) & ~1; -+ else -+ bytes += 2; /* i.e. ff::ff is ff:00:ff */ -+ seen_a_digit = 0; -+ break; -+ case 0: -+ if (bytes == 0) /* nothing new seen so far */ -+ return 0; -+ /*fall through*/ -+ case ',': case ';': -+ if (bytes > 0) -+ bytes = 12; /* i.e. all trailing bytes 0 */ -+ break; -+ default: -+ printk(KERN_ERR MACLIST_NAME ": invalid character <%c[%d]>\n", -+ *param, *param); -+ return -EINVAL; -+ } -+ -+ if (digit >= 0) { -+ id[bytes>>1] = (id[bytes>>1] << 4) + digit; break; -+ ++bytes; -+ seen_a_digit = 1; -+ } -+ -+ if (bytes >= 12) { -+ int rc = maclist_add(id); -+ if (rc) -+ return rc; -+ bytes = 0; -+ seen_a_digit = 0; -+ memset(id, 0, sizeof id); -+ if (*param == 0) -+ return 0; -+ } -+ ++param; -+ } while (1); -+ -+ return 0; -+} -+ -+/* -+ * procfs support, if compiled in. -+ */ -+#ifdef CONFIG_PROC_FS -+/* -+ * Character device read -+ */ -+static int maclist_getchar(off_t n) { -+ static char xdigit[16] = "0123456789abcdef"; -+ maclist_entry_t *head = maclist_list; -+ int b; -+ -+ do { -+ if (head == 0) -+ return -1; -+ if (n < 18) -+ break; -+ head = head->next; -+ n -= 18; -+ } while (1); -+ -+ if (n == 17) -+ return '\n'; -+ -+ b = n/3; -+ switch (n - b*3) { -+ case 0: return xdigit[head->id[b] >> 4]; -+ case 1: return xdigit[head->id[b] & 0xf]; -+ default: return ':'; -+ } -+} -+ -+/* -+ * The extensively undocumented proc_read_t callback is implemented here. -+ * Go look in fs/proc/generic.c: -+ * -+ * Prototype: -+ * int f(char *buffer, char **start, off_t offset, -+ * int count, int *peof, void *dat) -+ * -+ * Assume that the buffer is "count" bytes in size. -+ * -+ * 2) Set *start = an address within the buffer. -+ * Put the data of the requested offset at *start. -+ * Return the number of bytes of data placed there. -+ * If this number is greater than zero and you -+ * didn't signal eof and the reader is prepared to -+ * take more data you will be called again with the -+ * requested offset advanced by the number of bytes -+ * absorbed. -+ */ -+static int maclist_proc_read(char *buffer, char **start, off_t offset, -+ int count, int *peof, void *dat) { -+ int total; -+ -+ *start = buffer; -+ total = 0; -+ -+ while (total < count) { -+ int ch = maclist_getchar(offset++); -+ if (ch == -1) { -+ *peof = 1; -+ break; -+ } -+ *buffer++ = ch; -+ ++total; -+ } -+ -+ return total; -+} -+#endif -+ -+/* -+ * Finally, the init/exit functions. -+ */ -+static void __exit maclist_exit(void) -+{ -+ maclist_entry_t *list; -+ -+ remove_proc_entry(MACLIST_NAME, proc_net); -+ -+ list = maclist_list; -+ maclist_list = 0; -+ -+ while (list != 0) { -+ maclist_entry_t *head = list; -+ list = head->next; -+ kfree(head); -+ } -+} -+ -+#ifdef MODULE -+static char ids[256]; -+module_param_string(ids, ids, sizeof ids, 0); -+MODULE_PARM_DESC(ids, "comma separated list of MAC ids\n"); -+#else -+__setup("maclist_ids=", maclist_setup); -+#endif -+ -+static int __init maclist_init(void) -+{ -+# ifdef MODULE -+ if (ids[0]) -+ maclist_setup(ids); -+# endif -+ -+ /* Ignore failure, the module will still work. */ -+ (void)create_proc_read_entry(MACLIST_NAME, S_IRUGO, proc_net, maclist_proc_read, NULL); -+ -+ return 0; -+} -+ -+module_init(maclist_init); -+module_exit(maclist_exit); ---- linux-2.6.15/drivers/net/Makefile 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.15/drivers/net/Makefile 1970-01-01 00:00:00.000000000 +0000 -@@ -70,6 +70,7 @@ obj-$(CONFIG_RIONET) += rionet.o - # end link order section - # - -+obj-$(CONFIG_MACLIST) += maclist.o - obj-$(CONFIG_MII) += mii.o - obj-$(CONFIG_PHYLIB) += phy/ - ---- linux-2.6.15/drivers/net/Kconfig 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.15/drivers/net/Kconfig 1970-01-01 00:00:00.000000000 +0000 -@@ -166,6 +166,21 @@ config NET_ETHERNET - kernel: saying N will just cause the configurator to skip all - the questions about Ethernet network cards. If unsure, say N. - -+config MACLIST -+ tristate "Ethernet MAC repository" -+ depends on NET_ETHERNET -+ help -+ Some ethernet controllers have no built-in way of obtaining an -+ appropriate Ethernet MAC address. Such controllers have to be -+ initialised in a board-specific way, depending on how the allocated -+ MAC is stored. The MAC repository provides a set of APIs and a -+ proc entry (/proc/net/maclist) to store MAC values from the board -+ so that such drivers can obtain a MAC address without board-specific -+ code. You do not need to enable this device - it will be selected -+ automatically by any device which requires it. It is only useful -+ to enable it manually when building a device driver independently -+ of the kernel build. -+ - config MII - tristate "Generic Media Independent Interface device support" - depends on NET_ETHERNET diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6/92-nslu2-maclist.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6/92-nslu2-maclist.patch deleted file mode 100644 index c8b8a9bede..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6/92-nslu2-maclist.patch +++ /dev/null @@ -1,80 +0,0 @@ ---- linux-2.6.15/arch/arm/mach-ixp4xx/Kconfig 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.15/arch/arm/mach-ixp4xx/Kconfig 1970-01-01 00:00:00.000000000 +0000 -@@ -11,8 +11,8 @@ comment "IXP4xx Platforms" - # This entry is placed on top because otherwise it would have - # been shown as a submenu. - config MACH_NSLU2 -- bool -- prompt "NSLU2" if !(MACH_IXDP465 || MACH_IXDPG425 || ARCH_IXDP425 || ARCH_ADI_COYOTE || ARCH_AVILA || ARCH_IXCDP1100 || ARCH_PRPMC1100 || MACH_GTWX5715) -+ bool "NSLU2" -+ select MACLIST - help - Say 'Y' here if you want your kernel to support Linksys's - NSLU2 NAS device. For more information on this platform, ---- 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 -@@ -16,11 +16,14 @@ - #include <linux/kernel.h> - #include <linux/serial.h> - #include <linux/serial_8250.h> -+#include <linux/mtd/mtd.h> - - #include <asm/mach-types.h> - #include <asm/mach/arch.h> - #include <asm/mach/flash.h> - -+#include <net/maclist.h> -+ - static struct flash_platform_data nslu2_flash_data = { - .map_name = "cfi_probe", - .width = 2, -@@ -112,6 +115,37 @@ static void nslu2_power_off(void) - gpio_line_set(NSLU2_PO_GPIO, IXP4XX_GPIO_HIGH); - } - -+/* -+ * When the RedBoot partition is added the MAC address is read from -+ * it. -+ */ -+void flash_add(struct mtd_info *mtd) { -+ if (strcmp(mtd->name, "RedBoot") == 0) { -+ size_t retlen; -+ u_char mac[6]; -+ -+ /* The MAC is at a known offset... */ -+ if (mtd->read(mtd, 0x3FFB0, 6, &retlen, mac) == 0 && retlen == 6) { -+ printk(KERN_INFO "NSLU2 MAC: %.2x:%.2x:%.2x:%.2x:%.2x:%.2x\n", -+ mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); -+ maclist_add(mac); -+ } else { -+ printk(KERN_ERR "NSLU2 MAC: read failed\n"); -+ } -+ } -+} -+ -+/* -+ * Nothing to do on remove at present. -+ */ -+void flash_remove(struct mtd_info *mtd) { -+} -+ -+struct mtd_notifier flash_notifier = { -+ .add = flash_add, -+ .remove = flash_remove, -+}; -+ - static void __init nslu2_init(void) - { - /* The NSLU2 has a 33MHz crystal on board - 1.01% different -@@ -119,6 +153,11 @@ static void __init nslu2_init(void) - */ - ixp4xx_set_board_tick_rate(66000000); - -+ /* The flash has an ethernet MAC embedded in it which we need, -+ * that is all this notifier does. -+ */ -+ register_mtd_user(&flash_notifier); -+ - ixp4xx_sys_init(); - - pm_power_off = nslu2_power_off; diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6/compile-switches.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6/compile-switches.patch deleted file mode 100644 index 4b7a688313..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6/compile-switches.patch +++ /dev/null @@ -1,58 +0,0 @@ ---- linux-2.6.11/arch/arm/Makefile.orig 2005-03-20 15:02:07.587138712 -0800 -+++ linux-2.6.11/arch/arm/Makefile 2005-03-20 15:10:36.546765088 -0800 -@@ -33,6 +33,12 @@ - AFLAGS += -mlittle-endian - endif - -+ifeq ($(CONFIG_ARM_THUMB_INTERWORK),y) -+CFLAGS += -mthumb-interwork -+else -+CFLAGS += -mno-thumb-interwork -+endif -+ - comma = , - - # This selects which instruction set is used. -@@ -43,6 +49,8 @@ - arch-$(CONFIG_CPU_32v5) :=-D__LINUX_ARM_ARCH__=5 $(call cc-option,-march=armv5te,-march=armv4) - arch-$(CONFIG_CPU_32v4) :=-D__LINUX_ARM_ARCH__=4 -march=armv4 - arch-$(CONFIG_CPU_32v3) :=-D__LINUX_ARM_ARCH__=3 -march=armv3 -+# The following overrides the CPU_32v5 setting if specified -+arch-$(CONFIG_ARCH_XSCALE) :=-D__LINUX_ARM_ARCH__=5 $(call cc-option,-march=xscale,-march=armv5te) - - # This selects how we optimise for the processor. - tune-$(CONFIG_CPU_ARM610) :=-mtune=arm610 ---- linux-2.6.11/arch/arm/mm/Kconfig.orig 2005-03-20 14:54:07.927058128 -0800 -+++ linux-2.6.11/arch/arm/mm/Kconfig 2005-03-20 15:01:26.727350344 -0800 -@@ -366,6 +366,31 @@ - - If you don't know what this all is, saying Y is a safe choice. - -+config ARM_THUMB_INTERWORK -+ bool "Support Thumb code within the kernel" -+ depends on CPU_ARM720T || CPU_ARM920T || CPU_ARM922T || CPU_ARM925T || CPU_ARM926T || CPU_ARM1020 || CPU_ARM1020E || CPU_ARM1022 || CPU_ARM1026 || CPU_XSCALE || CPU_V6 -+ default n -+ help -+ Say Y to compile the whole kernel with support for the interworking -+ of the 16 bit thumb instruction set and 32 bit ARM instruction set. -+ -+ You only need this if some parts of the kernel will be compiled -+ as thumb code, this is not usual. It increases the total kernel -+ size by about 3%. -+ -+config ARCH_XSCALE -+ bool "Use -march=xscale in preference to -march=armv5te" -+ depends on CPU_XSCALE -+ default y -+ help -+ Say yes to ask gcc to use the xscale architecture (instruction set) -+ in preference to armv5te. This allows gcc to use the extra xscale -+ instructions but means the code will not run on a standard (non-xscale) -+ armv5te. At present this makes no difference - gcc 3.4.3 does not -+ generate any xscale specific instructions - however gcc 3.4.3 does -+ generate slightly more optimal instructions if this is specified (this -+ is an error inside gcc 3.4.3 which should be fixed in 4.1.) -+ - config CPU_BIG_ENDIAN - bool "Build big-endian kernel" - depends on ARCH_SUPPORTS_BIG_ENDIAN diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6/ixp4xx-regs.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6/ixp4xx-regs.patch deleted file mode 100644 index 32f7e3ccb8..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6/ixp4xx-regs.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- linux-2.6.11/.pc/2.6.patch/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h 2005-03-01 23:37:49.000000000 -0800 -+++ linux-2.6.11/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h 2005-06-17 17:51:32.569981939 -0700 -@@ -52,7 +52,7 @@ - * Expansion BUS Configuration registers - */ - #define IXP4XX_EXP_CFG_BASE_PHYS (0xC4000000) --#define IXP4XX_EXP_CFG_BASE_VIRT (0xFFBFD000) -+#define IXP4XX_EXP_CFG_BASE_VIRT (0xFFBFE000) - #define IXP4XX_EXP_CFG_REGION_SIZE (0x00001000) - - /* diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6/nslu2-io_rpbutton.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6/nslu2-io_rpbutton.patch deleted file mode 100644 index b5ce101d68..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6/nslu2-io_rpbutton.patch +++ /dev/null @@ -1,139 +0,0 @@ ---- nslu2-io.c.old 2da1d3f5c0aa0804c5769588337077ddcb35c5e9 -+++ linux-2.6.12.2/arch/arm/mach-ixp4xx/nslu2-io.c e895da638b4aae16a11fafe52ae0b063645a9a12 -@@ -158,6 +158,8 @@ - #define LED_DISK2 3 - #define LED_ALL 4 - -+static int nslu2_shutdown_in_progress = 0; -+ - static unsigned long init_jiffy = 0; //jiffies at init time - static unsigned long rb_presses = 0; //number of reset button presses - static unsigned long ontime = 50; -@@ -503,40 +505,20 @@ - static irqreturn_t n2pb_handler (int irq, void *dev_id, struct pt_regs *regs) - { - void *ret; -- -- wake_up(&n2pb_waitq); -- remove_proc_entry(PWR_OFF_STR, NULL); //no parent -- n2_buzz(N2_BEEP_PITCH_MED, N2_BEEP_DUR_MED); -- ret = create_proc_entry(PWR_OFF_STR, 0, NULL); -- nslu2_io_debug((KERN_DEBUG "cpe ret = %p\n", ret)); -- --// WARNING: This is RUDE...it unconditionally pulls the power plug. --// Your data will be at risk...since this is just a test system --// I am leaving it enabled...eventually userland needs to get the --// message, do an orderly shutdown and use an ioctl or something in --// /proc/powerdowm to actually have us pull the plug. -- -- machine_power_off(); -- -+ if (!nslu2_shutdown_in_progress++) { -+ wake_up(&n2pb_waitq); -+ remove_proc_entry(PWR_OFF_STR, NULL); //no parent -+ n2_buzz(N2_BEEP_PITCH_HIGH, N2_BEEP_DUR_SHORT); // Short, high-pitched "OK" -+ ret = create_proc_entry(PWR_OFF_STR, 0, NULL); -+ nslu2_io_debug((KERN_DEBUG "Powerbutton pressed. Shutting down. cpe ret = %p\n", ret)); -+ kill_proc(1,SIGINT,1); // Signal init to shut down -+ } else { -+ n2_buzz(N2_BEEP_PITCH_LOW, N2_BEEP_DUR_MED); // Make a scary noise! -+ nslu2_io_debug((KERN_DEBUG "Powerbutton pressed while already in shutdown")); // Whine! -+ } - return IRQ_HANDLED; - } - --//================================================================================================== --// --//static void do_rb_timeout(unsigned long data) --//{ --// int i; --// --// for (i = 0; i < rb_presses; i++) --// n2_buzz(N2_BEEP_PITCH_MED,N2_BEEP_DUR_SHORT); --// return; --//} --// --//================================================================================================== --// does nothing -- waiting for userland to define --// This thing is sorta braindead...edge triggered IRQs aren't available in the drivers yet...so --// we hang in a loop until the button is no longer pressed -- - struct testr { - int ctl; - long param; -@@ -544,72 +526,11 @@ - - static irqreturn_t n2rb_handler (int irq, void *dev_id, struct pt_regs *regs) - { -+// This doesn't reset the NSLU2. It powers it off. Close enough, since reset is unreliable - -- static struct testr test[] = { -- { N2LM_ALL_OFF,0 }, -- { N2LM_ON,0 }, -- { N2LM_OFF,0 }, -- { N2LM_ON,1 }, -- { N2LM_ALL_OFF,1 }, -- { N2LM_ON,2 }, -- { N2LM_OFF,2 }, -- { N2LM_ON,3 }, -- { N2LM_OFF,3 }, -- { N2LM_BLINK,0 }, -- { N2LM_OFF,0 }, -- { N2LM_BLINK,1 }, -- { N2LM_OFF,1 }, -- { N2LM_BLINK,2 }, -- { N2LM_OFF,2 }, -- { N2LM_BLINK,3 }, -- { N2LM_OFF,3 }, -- { N2LM_ALL_OFF,0 }, -- { N2LM_ALT,1 }, -- { N2LM_OFF,1 }, -- { N2LM_ALL_ON,0 } -- }; -- -- nslu2_io_debug(("Reset Entry IRQ =%d Presses = %d Jiffies = %08lx\tIO = %x\tIOW = %x\n", irq, rb_presses, jiffies, (int)_IO('M',rb_presses), (int)_IOW('M',rb_presses,long))); -- - wake_up(&n2rb_waitq); -- while ((*IXP4XX_GPIO_GPINR & GPIO_RB_BM) == 0) -- ; //wait for button release -- -- if (rb_presses > 20) -- rb_presses = 0; -- tone = (rb_presses * 50) + 200; -- ontime = (rb_presses*10) + 100; -- offtime = 500 - (rb_presses*20); -- nslu2_io_debug(("Ontime = %d\tOfftime = %d\tTone = %d\n",ontime,offtime,tone)); -- rb_presses++; -- -- n2bz_ioctl(NULL,NULL, N2BZ_BEEPS, rb_presses); -- n2lm_ioctl(NULL,NULL, test[rb_presses].ctl, test[rb_presses].param); --// if (rb_presses == 0) { --// init_jiffy = jiffies; --// init_timer (&n2rb_timer); --// n2rb_timer.function = do_rb_timeout; --// }; --// --// if (rb_presses == 8) --// rb_presses = 0; --// if (rb_presses & 1) --// n2lm_ledon(test[rb_presses]); --// else --// n2lm_ledoff(test[rb_presses]); --// --// n2rb_timer.expires = (jiffies + RB_DELAY); --// add_timer (&n2rb_timer); --// if (rb_presses < 5) { --// if (rb_presses > 0) --// n2lm_ledoff(rb_presses); --// n2lm_ledon(++rb_presses); --// n2lm_timer_start(rb_presses); --// }; -- -- nslu2_io_debug((KERN_DEBUG "Reset Exit IRQ=%d Presses= %d Jiffies= %08lx\n", irq, rb_presses, jiffies)); -- return IRQ_HANDLED; -- -+ machine_power_off(); -+ return IRQ_HANDLED; // So we don't get a nobody cared error :-P - } - - //================================================================================================== diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6/thumb-swi.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6/thumb-swi.patch deleted file mode 100644 index 2e73bb103f..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6/thumb-swi.patch +++ /dev/null @@ -1,19 +0,0 @@ -# This patch changes the thumb swi handling for any thumb swi with -# an immediate value != 0, those swis are mapped into the arm -# specific swis. This implements a thumb breakpoint swi. ---- linux-2.6.12.2/arch/arm/kernel/entry-common.S.orig 2005-09-19 12:48:42.323365573 -0700 -+++ linux-2.6.12.2/arch/arm/kernel/entry-common.S 2005-09-19 13:31:19.004247358 -0700 -@@ -137,8 +137,11 @@ - */ - #ifdef CONFIG_ARM_THUMB - tst r8, #PSR_T_BIT @ this is SPSR from save_user_regs -- addne scno, r7, #__NR_SYSCALL_BASE @ put OS number in -- ldreq scno, [lr, #-4] -+ ldrneh ip, [lr, #-2] @ thumb swi instruction -+ ldreq scno, [lr, #-4] @ arm swi instruction -+ addne scno, r7, #__NR_SYSCALL_BASE @ put OS number in to thumb r7 value -+ bicnes ip, ip, #0xff00 @ clear thumb swi bits -+ addne scno, ip, #__ARM_NR_BASE @ thumb swi0->r7, swi!0->arm swi - #else - ldr scno, [lr, #-4] @ get SWI instruction - #endif diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6/timer.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6/timer.patch deleted file mode 100644 index 6279746e64..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6/timer.patch +++ /dev/null @@ -1,24 +0,0 @@ -# Fix for the NSLU2 timer problem (tickadj 10101.01 when it should be 10000) -# Also contains a fix for the more generate problem on the ixp4xx in that the -# Intel spec says to use a 33.33MHz crystal, not 33.333333Mhz - ---- linux-2.6.12.2/include/asm-arm/arch-ixp4xx/timex.h.orig 2005-08-05 11:02:09.872690723 -0700 -+++ linux-2.6.12.2/include/asm-arm/arch-ixp4xx/timex.h 2005-08-05 11:45:08.786971567 -0700 -@@ -7,7 +7,14 @@ - - /* - * We use IXP425 General purpose timer for our timer needs, it runs at -- * 66.66... MHz -+ * 66.66 MHz (exactly) by the Intel specification. - */ --#define CLOCK_TICK_RATE (66666666) -- -+#if 0 -+#define CLOCK_TICK_RATE (66660000) -+#else -+/* -+ * Unfortunately the NSLU2 has a 33MHz crystal, so the rate is not the -+ * specified one. -+ */ -+#define CLOCK_TICK_RATE (66000000) -+#endif diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6/x1205-rtc.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6/x1205-rtc.patch deleted file mode 100644 index 913f44e2ae..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/2.6/x1205-rtc.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- linux-2.6.11/.pc/2.6.patch/drivers/i2c/chips/Kconfig 2005-06-17 17:51:28.635578329 -0700 -+++ linux-2.6.11/drivers/i2c/chips/Kconfig 2005-06-17 17:51:32.565982545 -0700 -@@ -430,6 +430,15 @@ - - This driver can also be built as a module. If so, the module - will be called isp1301_omap. -+config SENSORS_X1205 -+ tristate "Xicor X1205 RTC chip" -+ depends on I2C && EXPERIMENTAL -+ select I2C_SENSOR -+ help -+ If you say yes here you get support for the Xicor x1205 RTC chip. -+ -+ This driver can also be built as a module. If so, the module -+ will be called x1205-rtc - - config SENSORS_M41T00 - tristate "ST M41T00 RTC chip" ---- linux-2.6.11/.pc/2.6.patch/drivers/i2c/chips/Makefile 2005-06-17 17:51:28.636578177 -0700 -+++ linux-2.6.11/drivers/i2c/chips/Makefile 2005-06-17 17:51:32.566982394 -0700 -@@ -41,6 +41,7 @@ - obj-$(CONFIG_SENSORS_VIA686A) += via686a.o - obj-$(CONFIG_SENSORS_W83L785TS) += w83l785ts.o - obj-$(CONFIG_ISP1301_OMAP) += isp1301_omap.o -+obj-$(CONFIG_SENSORS_X1205) += x1205-rtc.o - - ifeq ($(CONFIG_I2C_DEBUG_CHIP),y) - EXTRA_CFLAGS += -DDEBUG ---- linux-2.6.11/.pc/2.6.patch/include/linux/i2c-id.h 2005-06-17 17:51:31.358165630 -0700 -+++ linux-2.6.11/include/linux/i2c-id.h 2005-06-17 17:51:32.569981939 -0700 -@@ -108,6 +108,7 @@ - #define I2C_DRIVERID_TDA7313 62 /* TDA7313 audio processor */ - #define I2C_DRIVERID_MAX6900 63 /* MAX6900 real-time clock */ - #define I2C_DRIVERID_SAA7114H 64 /* video decoder */ -+#define I2C_DRIVERID_X1205 0xF0 - - - #define I2C_DRIVERID_EXP0 0xF0 /* experimental use id's */ diff --git a/packages/obsolete/nslu2/nslu2-kernel/files/anonymiser.patch b/packages/obsolete/nslu2/nslu2-kernel/files/anonymiser.patch deleted file mode 100644 index 3384b15fe2..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel/files/anonymiser.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- linux-2.6.11.2/scripts/mkcompile_h.orig 2005-05-07 05:27:02.440000000 +0000 -+++ linux-2.6.11.2/scripts/mkcompile_h 2005-05-07 05:28:30.360000000 +0000 -@@ -43,16 +43,9 @@ - echo \#define UTS_VERSION \"`echo $UTS_VERSION | $UTS_TRUNCATE`\" - - echo \#define LINUX_COMPILE_TIME \"`LC_ALL=C LANG=C date +%T`\" -- echo \#define LINUX_COMPILE_BY \"`whoami`\" -- echo \#define LINUX_COMPILE_HOST \"`hostname | $UTS_TRUNCATE`\" -- -- if [ -x /bin/dnsdomainname ]; then -- echo \#define LINUX_COMPILE_DOMAIN \"`dnsdomainname | $UTS_TRUNCATE`\" -- elif [ -x /bin/domainname ]; then -- echo \#define LINUX_COMPILE_DOMAIN \"`domainname | $UTS_TRUNCATE`\" -- else -- echo \#define LINUX_COMPILE_DOMAIN -- fi -+ echo \#define LINUX_COMPILE_BY \"openslug\" -+ echo \#define LINUX_COMPILE_HOST \"openslug.org\" -+ echo \#define LINUX_COMPILE_DOMAIN \"openslug.org\" - - echo \#define LINUX_COMPILER \"`$CC -v 2>&1 | tail -n 1`\" - ) > .tmpcompile diff --git a/packages/obsolete/nslu2/nslu2-kernel_2.6.14-mm1.bb b/packages/obsolete/nslu2/nslu2-kernel_2.6.14-mm1.bb deleted file mode 100644 index dff6b0e4b0..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel_2.6.14-mm1.bb +++ /dev/null @@ -1,38 +0,0 @@ -# Kernel for NSLU2 -# -# Increment PR_CONFIG for changes to the nslu2-kernel specific -# defconfig (do *NOT* increment anything in here for changes -# to other kernel configs!) -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}" - -require nslu2-kernel.inc - -# N2K_PATCHES - full list of patches to apply -N2K_PATCHES = "\ - file://00-memory-h-page-shift.patch;patch=1 \ - file://90-ixp4xx-pci-le.patch;patch=1 \ - file://18-ixp4xx-io-h-addr.patch;patch=1 \ - file://19-jffs2-force-be.patch;patch=1 \ - file://20-timer.patch;patch=1 \ - file://29-ipv4-route-c-spinlock.patch;patch=1 \ - file://30-i2c-x1205-mm1.patch;patch=1 \ - file://50-nslu2-arch.patch;patch=1 \ - file://55-nslu2-rtc.patch;patch=1 \ - file://60-nslu2-beeper.patch;patch=1 \ - file://70-nslu2-io.patch;patch=1 \ - file://75-nslu2-leds.patch;patch=1 \ - file://80-nslu2-class-device-create.patch;patch=1 \ - file://90-pegasus.patch;patch=1 \ - file://anonymiser.patch;patch=1 \ -" - -# 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 nslu2-kernel.inc) -CMDLINE_KERNEL_OPTIONS = "x1205.hctosys=1" diff --git a/packages/obsolete/nslu2/nslu2-kernel_2.6.14.5.bb b/packages/obsolete/nslu2/nslu2-kernel_2.6.14.5.bb deleted file mode 100644 index b7790be8be..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel_2.6.14.5.bb +++ /dev/null @@ -1,42 +0,0 @@ -# Kernel for NSLU2 -# -# Increment PR_CONFIG for changes to the nslu2-kernel specific -# defconfig (do *NOT* increment anything in here for changes -# to other kernel configs!) -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 = "r0.${PR_CONFIG}" - -require nslu2-kernel.inc - -# N2K_PATCHES - full list of patches to apply -N2K_PATCHES = "\ - file://90-ixp4xx-pci-le.patch;patch=1 \ - file://10-ixp4xx-copy-from.patch;patch=1 \ - file://10-ixp4xx-le.patch;patch=1 \ - file://10-mtdpart-redboot-fis-byteswap.patch;patch=1 \ - file://15-ixp4xx-writesb-l-w.patch;patch=1 \ - file://18-ixp4xx-io-h-addr.patch;patch=1 \ - file://19-jffs2-force-be.patch;patch=1 \ - file://29-ipv4-route-c-spinlock.patch;patch=1 \ - file://30-i2c-x1205.patch;patch=1 \ - file://50-nslu2-arch.patch;patch=1 \ - file://55-nslu2-rtc.patch;patch=1 \ - file://60-nslu2-beeper.patch;patch=1 \ - file://70-nslu2-io.patch;patch=1 \ - file://75-nslu2-leds.patch;patch=1 \ - file://90-pegasus.patch;patch=1 \ - file://20-timer.patch;patch=1 \ - file://91-maclist.patch;patch=1 \ - file://92-nslu2-maclist.patch;patch=1 \ - file://anonymiser.patch;patch=1 \ -" - -# 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 nslu2-kernel.inc) -CMDLINE_KERNEL_OPTIONS = "x1205.hctosys=1" diff --git a/packages/obsolete/nslu2/nslu2-kernel_2.6.15.bb b/packages/obsolete/nslu2/nslu2-kernel_2.6.15.bb deleted file mode 100644 index 68b2b56f1a..0000000000 --- a/packages/obsolete/nslu2/nslu2-kernel_2.6.15.bb +++ /dev/null @@ -1,35 +0,0 @@ -# Kernel for NSLU2 -# -# Increment PR_CONFIG for changes to the nslu2-kernel specific -# defconfig (do *NOT* increment anything in here for changes -# to other kernel configs!) -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 = "r3.${PR_CONFIG}" - -require nslu2-kernel.inc - -# N2K_PATCHES - full list of patches to apply -N2K_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://40-scsi-idle.patch;patch=1 \ - file://60-nslu2-beeper.patch;patch=1 \ - file://75-nslu2-leds.patch;patch=1 \ - file://80-nslu2-io.patch;patch=1 \ - file://85-timer.patch;patch=1 \ - file://91-maclist.patch;patch=1 \ - file://92-nslu2-maclist.patch;patch=1 \ - file://anonymiser.patch;patch=1 \ -" - -# 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 nslu2-kernel.inc) -CMDLINE_KERNEL_OPTIONS = "rtc-x1205.hctosys=1 rtc-x1205.probe=0,0x6f" diff --git a/packages/openmoko-apps/.mtn2git_empty b/packages/openmoko-apps/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/openmoko-apps/.mtn2git_empty diff --git a/packages/openmoko-apps/openmoko-appmanager_svn.bb b/packages/openmoko-apps/openmoko-appmanager_svn.bb new file mode 100644 index 0000000000..d7a708b85c --- /dev/null +++ b/packages/openmoko-apps/openmoko-appmanager_svn.bb @@ -0,0 +1,7 @@ +DESCRIPTION = "The OpenMoko Application Manager" +SECTION = "openmoko/applications" +DEPENDS += "ipkg" +PV = "0.0.1+svn${SRCDATE}" + +inherit openmoko + diff --git a/packages/openmoko-apps/openmoko-dialer_svn.bb b/packages/openmoko-apps/openmoko-dialer_svn.bb new file mode 100644 index 0000000000..75abce2274 --- /dev/null +++ b/packages/openmoko-apps/openmoko-dialer_svn.bb @@ -0,0 +1,9 @@ +DESCRIPTION = "The OpenMoko Dialer" +SECTION = "openmoko/applications" +PV = "0.0.1+svn${SRCDATE}" + +inherit openmoko + +DEPENDS += " eds-dbus libgsmd" + + diff --git a/packages/openmoko-apps/openmoko-footer_svn.bb b/packages/openmoko-apps/openmoko-footer_svn.bb new file mode 100644 index 0000000000..fed6f99455 --- /dev/null +++ b/packages/openmoko-apps/openmoko-footer_svn.bb @@ -0,0 +1,6 @@ +DESCRIPTION = "The OpenMoko Footer" +SECTION = "openmoko/applications" +PV = "0.0.1+svn${SRCDATE}" + +inherit openmoko + diff --git a/packages/openmoko-apps/openmoko-mainmenu_svn.bb b/packages/openmoko-apps/openmoko-mainmenu_svn.bb new file mode 100644 index 0000000000..d819e60d23 --- /dev/null +++ b/packages/openmoko-apps/openmoko-mainmenu_svn.bb @@ -0,0 +1,9 @@ +DESCRIPTION = "The OpenMoko Main Menu" +SECTION = "openmoko/applications" +PV = "0.0.1+svn${SRCDATE}" + +inherit openmoko + +do_compile_prepend() { + sed -i -e 's:$(AM_LDFLAGS):$(AM_LDFLAGS)\ -lmb:' src/Makefile +} diff --git a/packages/openmoko-apps/openmoko-messages_svn.bb b/packages/openmoko-apps/openmoko-messages_svn.bb new file mode 100644 index 0000000000..d7a708b85c --- /dev/null +++ b/packages/openmoko-apps/openmoko-messages_svn.bb @@ -0,0 +1,7 @@ +DESCRIPTION = "The OpenMoko Application Manager" +SECTION = "openmoko/applications" +DEPENDS += "ipkg" +PV = "0.0.1+svn${SRCDATE}" + +inherit openmoko + diff --git a/packages/openmoko-apps/openmoko-simplemediaplayer_svn.bb b/packages/openmoko-apps/openmoko-simplemediaplayer_svn.bb new file mode 100644 index 0000000000..0d1456541d --- /dev/null +++ b/packages/openmoko-apps/openmoko-simplemediaplayer_svn.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "The OpenMoko Media Player" +SECTION = "openmoko/applications" +DEPENDS += "alsa-lib dbus-glib id3lib libvorbis" +PV = "0.0.1+svn${SRCDATE}" +PR = "r1" + +inherit openmoko + +PARALLEL_MAKE ="" + +do_install_prepend() { + touch mkinstalldirs +} + + +FILES_${PN} += " \ + ${datadir}/images \ + ${libdir}/bmp/*/*.so \ + " diff --git a/packages/openmoko-apps/openmoko-taskmanager_svn.bb b/packages/openmoko-apps/openmoko-taskmanager_svn.bb new file mode 100644 index 0000000000..5f313f170e --- /dev/null +++ b/packages/openmoko-apps/openmoko-taskmanager_svn.bb @@ -0,0 +1,6 @@ +DESCRIPTION = "The OpenMoko Task Manager" +SECTION = "openmoko/applications" +PV = "0.0.1+svn${SRCDATE}" + +inherit openmoko + diff --git a/packages/openmoko-base/.mtn2git_empty b/packages/openmoko-base/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/openmoko-base/.mtn2git_empty diff --git a/packages/openmoko-base/files/.mtn2git_empty b/packages/openmoko-base/files/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/openmoko-base/files/.mtn2git_empty diff --git a/packages/openmoko-base/files/session b/packages/openmoko-base/files/session new file mode 100644 index 0000000000..e6aeaa6c9d --- /dev/null +++ b/packages/openmoko-base/files/session @@ -0,0 +1,17 @@ +#!/bin/sh + +SHOWCURSOR="no" + +rxvt & +sleep 2 + +matchbox-desktop --icon-size 100 \ + --icon-padding 60 \ + --font sans-16 \ + --titlefont sans-20:bold \ + --bg img-tiled:/usr/share/themes/openmoko-standard/gtk-2.0/mokopanedwindow-upper-enclosing.png & +# --bg col-gradient-vertical:#000000,#aaaaaa & +matchbox-panel --orientation north -b /usr/share/openmoko/pixmaps/openmoko-header-background.png & +matchbox-panel --orientation south -b /usr/share/openmoko/pixmaps/openmoko-footer-background.png -ns -nm --id 2 & +exec matchbox-window-manager -use_titlebar no -use_cursor $SHOWCURSOR $@ + diff --git a/packages/openmoko-base/openmoko-common_svn.bb b/packages/openmoko-base/openmoko-common_svn.bb new file mode 100644 index 0000000000..15cc97d39f --- /dev/null +++ b/packages/openmoko-base/openmoko-common_svn.bb @@ -0,0 +1,21 @@ +DESCRIPTION = "Common files for the OpenMoko distribution" +SECTION = "openmoko/base" +PV = "0.0+svn${SRCDATE}" +PR = "r1" + +inherit openmoko-base + +SRC_URI = "${OPENMOKO_MIRROR}/src/target/${OPENMOKO_RELEASE}/artwork;module=images;proto=https" +S = "${WORKDIR}" + +dirs = "images/pixmaps" + +do_install() { + find ${WORKDIR} -name ".svn" | xargs rm -rf + install -d ${D}${datadir}/openmoko/ + for i in ${dirs}; do + cp -fpPR ${S}/$i ${D}${datadir}/openmoko/ + done +} + +FILES_${PN} = "${datadir}" diff --git a/packages/openmoko-base/openmoko-libs_svn.bb b/packages/openmoko-base/openmoko-libs_svn.bb new file mode 100644 index 0000000000..3ac18438b1 --- /dev/null +++ b/packages/openmoko-base/openmoko-libs_svn.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "openmoko-libs is a set of libraries implementing a Gtk+ based application framework for mobile communication applications" +SECTION = "openmoko/libs" +LICENSE = "LGPL" +DEPENDS += "gtk+" +PV = "0.0.1+svn${SRCDATE}" +PR = "r1" + +inherit openmoko + +do_configure_prepend() { + touch libmokocore/Makefile.in + touch libmokopim/Makefile.in + touch libmokonet/Makefile.in +} + +do_stage() { + autotools_stage_all +} + diff --git a/packages/openmoko-base/openmoko-session_svn.bb b/packages/openmoko-base/openmoko-session_svn.bb new file mode 100644 index 0000000000..6cf588d9dc --- /dev/null +++ b/packages/openmoko-base/openmoko-session_svn.bb @@ -0,0 +1,29 @@ +DESCRIPTION = "Matchbox session files for OpenMoko" +SECTION = "openmoko/base" +RDEPENDS = "matchbox matchbox-applet-startup-monitor gtk-theme-clearlooks" +PV = "0.0+svn${SRCDATE}" +PR = "r1" + +inherit openmoko-base + +SRC_URI = "${OPENMOKO_MIRROR}/src/target/${OPENMOKO_RELEASE};module=etc;proto=https \ + file://session" +S = "${WORKDIR}" + +do_install() { + cp -R ${S}/etc ${D}/etc + rm -fR ${D}/etc/.svn + rm -fR ${D}/etc/matchbox/.svn + chmod -R 755 ${D}/etc + # DEMO only! + install -m 0755 ${WORKDIR}/session ${D}/etc/matchbox/session +} + +pkg_postinst_openmoko-session () { +#!/bin/sh -e +if [ "x$D" != "x" ]; then + exit 1 +fi + +gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults --direct --type string --set /desktop/openmoko/interface/theme Clearlooks +} diff --git a/packages/openmoko-base/openmoko-theme-standard_svn.bb b/packages/openmoko-base/openmoko-theme-standard_svn.bb new file mode 100644 index 0000000000..d8a9ba5fa2 --- /dev/null +++ b/packages/openmoko-base/openmoko-theme-standard_svn.bb @@ -0,0 +1,24 @@ +DESCRIPTION = "Standard Gtk+ theme for the OpenMoko distribution" +SECTION = "openmoko/base" +PV = "0.0+svn${SRCDATE}" +PR = "r3" + +inherit openmoko-base + +SRC_URI = "${OPENMOKO_MIRROR}/src/target/${OPENMOKO_RELEASE}/artwork;module=themes;proto=https" +S = "${WORKDIR}" + +dirs = "themes/openmoko-standard" + +do_install() { + find ${WORKDIR} -name ".svn" | xargs rm -rf + install -d ${D}${datadir}/themes/ + for i in ${dirs}; do + cp -fpPR ${WORKDIR}/$i ${D}${datadir}/themes/ + done + + install -d ${D}${sysconfdir}/gtk-2.0 + echo 'include "${datadir}/themes/openmoko-standard/gtk-2.0/gtkrc"' >> ${D}${sysconfdir}/gtk-2.0/gtkrc +} + +FILES_${PN} = "${datadir} ${sysconfdir}" diff --git a/packages/openmoko-examples/.mtn2git_empty b/packages/openmoko-examples/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/openmoko-examples/.mtn2git_empty diff --git a/packages/openmoko-examples/openmoko-finger-demo_svn.bb b/packages/openmoko-examples/openmoko-finger-demo_svn.bb new file mode 100644 index 0000000000..e54f8c06bc --- /dev/null +++ b/packages/openmoko-examples/openmoko-finger-demo_svn.bb @@ -0,0 +1,6 @@ +DESCRIPTION = "An example finger application for OpenMoko" +SECTION = "openmoko/examples" +PV = "0.0.1+svn${SRCDATE}" + +inherit openmoko + diff --git a/packages/openmoko-examples/openmoko-panel-demo-simple_svn.bb b/packages/openmoko-examples/openmoko-panel-demo-simple_svn.bb new file mode 100644 index 0000000000..40d0f1aa8e --- /dev/null +++ b/packages/openmoko-examples/openmoko-panel-demo-simple_svn.bb @@ -0,0 +1,11 @@ +DESCRIPTION = "A simple example panel plugin for OpenMoko" +SECTION = "openmoko/examples" +DEPENDS += "libmatchbox" +PV = "0.0.1+svn${SRCDATE}" + +inherit openmoko + +do_configure_prepend() { + sed -i -e s:-Werror::g src/Makefile.am +} + diff --git a/packages/openmoko-examples/openmoko-panel-demo_svn.bb b/packages/openmoko-examples/openmoko-panel-demo_svn.bb new file mode 100644 index 0000000000..ea40dd608d --- /dev/null +++ b/packages/openmoko-examples/openmoko-panel-demo_svn.bb @@ -0,0 +1,7 @@ +DESCRIPTION = "An example panel plugin for OpenMoko" +SECTION = "openmoko/examples" +DEPENDS += "libmatchbox" +PV = "0.0.1+svn${SRCDATE}" + +inherit openmoko + diff --git a/packages/openmoko-examples/openmoko-stylus-demo-simple_svn.bb b/packages/openmoko-examples/openmoko-stylus-demo-simple_svn.bb new file mode 100644 index 0000000000..1ba2f95072 --- /dev/null +++ b/packages/openmoko-examples/openmoko-stylus-demo-simple_svn.bb @@ -0,0 +1,6 @@ +DESCRIPTION = "A simple stylus application example for OpenMoko" +SECTION = "openmoko/examples" +PV = "0.0.1+svn${SRCDATE}" + +inherit openmoko + diff --git a/packages/openmoko-examples/openmoko-stylus-demo_svn.bb b/packages/openmoko-examples/openmoko-stylus-demo_svn.bb new file mode 100644 index 0000000000..a0ec4721c2 --- /dev/null +++ b/packages/openmoko-examples/openmoko-stylus-demo_svn.bb @@ -0,0 +1,6 @@ +DESCRIPTION = "An example stylus application for OpenMoko" +SECTION = "openmoko/examples" +PV = "0.0.1+svn${SRCDATE}" + +inherit openmoko + diff --git a/packages/openmoko-panel-plugins/.mtn2git_empty b/packages/openmoko-panel-plugins/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/openmoko-panel-plugins/.mtn2git_empty diff --git a/packages/openmoko-panel-plugins/openmoko-panel-battery_svn.bb b/packages/openmoko-panel-plugins/openmoko-panel-battery_svn.bb new file mode 100644 index 0000000000..46065127f5 --- /dev/null +++ b/packages/openmoko-panel-plugins/openmoko-panel-battery_svn.bb @@ -0,0 +1,5 @@ +DESCRIPTION = "Shows the battery/AC status in the OpenMoko panel" +PV = "0.0.1+svn${SRCDATE}" + +inherit openmoko-panel-plugin + diff --git a/packages/openmoko-panel-plugins/openmoko-panel-clock_svn.bb b/packages/openmoko-panel-plugins/openmoko-panel-clock_svn.bb new file mode 100644 index 0000000000..389a6f2691 --- /dev/null +++ b/packages/openmoko-panel-plugins/openmoko-panel-clock_svn.bb @@ -0,0 +1,5 @@ +DESCRIPTION = "Shows the current time in the OpenMoko panel" +PV = "0.0.1+svn${SRCDATE}" + +inherit openmoko-panel-plugin + diff --git a/packages/openmoko-panel-plugins/openmoko-panel-gsm_svn.bb b/packages/openmoko-panel-plugins/openmoko-panel-gsm_svn.bb new file mode 100644 index 0000000000..798e94e0c4 --- /dev/null +++ b/packages/openmoko-panel-plugins/openmoko-panel-gsm_svn.bb @@ -0,0 +1,7 @@ +DESCRIPTION = "Shows the current time in the OpenMoko panel" +PV = "0.0.1+svn${SRCDATE}" + +inherit openmoko-panel-plugin + +FILES_${PN} += "${bindir}/${PN}" + diff --git a/packages/openmoko-panel-plugins/openmoko-panel-mainmenu_svn.bb b/packages/openmoko-panel-plugins/openmoko-panel-mainmenu_svn.bb new file mode 100644 index 0000000000..389a6f2691 --- /dev/null +++ b/packages/openmoko-panel-plugins/openmoko-panel-mainmenu_svn.bb @@ -0,0 +1,5 @@ +DESCRIPTION = "Shows the current time in the OpenMoko panel" +PV = "0.0.1+svn${SRCDATE}" + +inherit openmoko-panel-plugin + diff --git a/packages/openmoko-pim/.mtn2git_empty b/packages/openmoko-pim/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/openmoko-pim/.mtn2git_empty diff --git a/packages/openmoko-pim/openmoko-contacts/.mtn2git_empty b/packages/openmoko-pim/openmoko-contacts/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/openmoko-pim/openmoko-contacts/.mtn2git_empty diff --git a/packages/openmoko-pim/openmoko-contacts/index.theme b/packages/openmoko-pim/openmoko-contacts/index.theme new file mode 100644 index 0000000000..4e9cf67820 --- /dev/null +++ b/packages/openmoko-pim/openmoko-contacts/index.theme @@ -0,0 +1,654 @@ +[Icon Theme] +Name=Hicolor +Comment=Fallback icon theme +Hidden=true +Directories=192x192/apps,128x128/actions,128x128/apps,128x128/devices,128x128/filesystems,128x128/mimetypes,96x96/actions,96x96/apps,96x96/devices,96x96/filesystems,96x96/mimetypes,72x72/apps,64x64/actions,64x64/apps,64x64/devices,64x64/filesystems,64x64/mimetypes,48x48/actions,48x48/apps,48x48/devices,48x48/filesystems,48x48/mimetypes,36x36/apps,32x32/actions,32x32/apps,32x32/devices,32x32/filesystems,32x32/mimetypes,22x22/actions,22x22/apps,22x22/devices,22x22/filesystems,22x22/mimetypes,16x16/actions,16x16/apps,16x16/devices,16x16/filesystems,16x16/mimetypes,scalable/actions,scalable/apps,scalable/devices,scalable/filesystems,scalable/mimetypes,16x16/stock/chart,16x16/stock/code,16x16/stock/data,16x16/stock/document,16x16/stock/form,16x16/stock/generic,16x16/stock/image,16x16/stock/io,16x16/stock/media,16x16/stock/navigation,16x16/stock/net,16x16/stock/object,16x16/stock/table,16x16/stock/text,24x24/actions,24x24/apps,24x24/devices,24x24/filesystems,24x24/mimetypes,24x24/stock/chart,24x24/stock/code,24x24/stock/data,24x24/stock/document,24x24/stock/form,24x24/stock/generic,24x24/stock/image,24x24/stock/io,24x24/stock/media,24x24/stock/navigation,24x24/stock/net,24x24/stock/object,24x24/stock/table,24x24/stock/text,32x32/stock/chart,32x32/stock/code,32x32/stock/data,32x32/stock/document,32x32/stock/form,32x32/stock/generic,32x32/stock/image,32x32/stock/io,32x32/stock/media,32x32/stock/navigation,32x32/stock/net,32x32/stock/object,32x32/stock/table,32x32/stock/text,36x36/stock/chart,36x36/stock/code,36x36/stock/data,36x36/stock/document,36x36/stock/form,36x36/stock/generic,36x36/stock/image,36x36/stock/io,36x36/stock/media,36x36/stock/navigation,36x36/stock/net,36x36/stock/object,36x36/stock/table,36x36/stock/text,48x48/stock/chart,48x48/stock/code,48x48/stock/data,48x48/stock/document,48x48/stock/form,48x48/stock/generic,48x48/stock/image,48x48/stock/io,48x48/stock/media,48x48/stock/navigation,48x48/stock/net,48x48/stock/object,48x48/stock/table,48x48/stock/text,scalable/emblems,192x192/emblems,96x96/emblems,72x72/emblems,48x48/emblems,36x36/emblems,24x24/emblems,16x16/emblems,12x12/emblems + +[16x16/actions] +Size=16 +Context=Actions +Type=Threshold + +[16x16/apps] +Size=16 +Context=Applications +Type=Threshold + +[16x16/devices] +Size=16 +Context=Devices +Type=Threshold + +[16x16/filesystems] +Size=16 +Context=FileSystems +Type=Threshold + +[16x16/mimetypes] +Size=16 +Context=MimeTypes +Type=Threshold + +[22x22/actions] +Size=22 +Context=Actions +Type=Threshold + +[22x22/apps] +Size=22 +Context=Applications +Type=Threshold + +[22x22/devices] +Size=22 +Context=Devices +Type=Threshold + +[22x22/filesystems] +Size=22 +Context=FileSystems +Type=Threshold + +[22x22/mimetypes] +Size=22 +Context=MimeTypes +Type=Threshold + +[24x24/actions] +Size=24 +Context=Actions +Type=Threshold + +[24x24/apps] +Size=24 +Context=Applications +Type=Threshold + +[24x24/devices] +Size=24 +Context=Devices +Type=Threshold + +[24x24/filesystems] +Size=24 +Context=FileSystems +Type=Threshold + +[24x24/mimetypes] +Size=24 +Context=MimeTypes +Type=Threshold + +[32x32/actions] +Size=32 +Context=Actions +Type=Threshold + +[32x32/apps] +Size=32 +Context=Applications +Type=Threshold + +[32x32/devices] +Size=32 +Context=Devices +Type=Threshold + +[32x32/filesystems] +Size=32 +Context=FileSystems +Type=Threshold + +[32x32/mimetypes] +Size=32 +Context=MimeTypes +Type=Threshold + +[36x36/apps] +Size=36 +Context=Applications +Type=Threshold + +[48x48/actions] +Size=48 +Context=Actions +Type=Threshold + +[48x48/apps] +Size=48 +Context=Applications +Type=Threshold + +[48x48/devices] +Size=48 +Context=Devices +Type=Threshold + +[48x48/filesystems] +Size=48 +Context=FileSystems +Type=Threshold + +[48x48/mimetypes] +Size=48 +Context=MimeTypes +Type=Threshold + +[64x64/actions] +Size=64 +Context=Actions +Type=Threshold + +[64x64/apps] +Size=64 +Context=Applications +Type=Threshold + +[64x64/devices] +Size=64 +Context=Devices +Type=Threshold + +[64x64/filesystems] +Size=64 +Context=FileSystems +Type=Threshold + +[64x64/mimetypes] +Size=64 +Context=MimeTypes +Type=Threshold + +[72x72/apps] +Size=72 +Context=Applications +Type=Threshold + +[96x96/actions] +Size=96 +Context=Actions +Type=Threshold + +[96x96/apps] +Size=96 +Context=Applications +Type=Threshold + +[96x96/devices] +Size=96 +Context=Devices +Type=Threshold + +[96x96/filesystems] +Size=96 +Context=FileSystems +Type=Threshold + +[96x96/mimetypes] +Size=96 +Context=MimeTypes +Type=Threshold + +[128x128/actions] +Size=128 +Context=Actions +Type=Threshold + +[128x128/apps] +Size=128 +Context=Applications +Type=Threshold + +[128x128/devices] +Size=128 +Context=Devices +Type=Threshold + +[128x128/filesystems] +Size=128 +Context=FileSystems +Type=Threshold + +[128x128/mimetypes] +Size=128 +Context=MimeTypes +Type=Threshold + +[192x192/apps] +Size=192 +Context=Applications +Type=Threshold + + +[scalable/actions] +MinSize=1 +Size=128 +MaxSize=256 +Context=Actions +Type=Scalable + +[scalable/apps] +MinSize=1 +Size=128 +MaxSize=256 +Context=Applications +Type=Scalable + +[scalable/devices] +MinSize=1 +Size=128 +MaxSize=256 +Context=Devices +Type=Scalable + +[scalable/filesystems] +MinSize=1 +Size=128 +MaxSize=256 +Context=FileSystems +Type=Scalable + +[scalable/mimetypes] +MinSize=1 +Size=128 +MaxSize=256 +Context=MimeTypes +Type=Scalable + +[16x16/stock/chart] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/code] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/data] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/document] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/form] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/generic] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/image] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/io] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/media] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/navigation] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/net] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/object] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/table] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/text] +Size=16 +Context=Stock +Type=Threshold + +[24x24/stock/chart] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/code] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/data] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/document] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/form] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/generic] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/image] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/io] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/media] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/navigation] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/net] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/object] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/table] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/text] +Size=24 +Context=Stock +Type=Threshold + +[32x32/stock/chart] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/code] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/data] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/document] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/form] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/generic] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/image] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/io] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/media] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/navigation] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/net] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/object] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/table] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/text] +Size=32 +Context=Stock +Type=Threshold + +[36x36/stock/chart] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/code] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/data] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/document] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/form] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/generic] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/image] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/io] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/media] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/navigation] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/net] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/object] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/table] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/text] +Size=36 +Context=Stock +Type=Threshold + +[48x48/stock/chart] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/code] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/data] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/document] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/form] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/generic] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/image] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/io] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/media] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/navigation] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/net] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/object] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/table] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/text] +Size=48 +Context=Stock +Type=Threshold + +[scalable/emblems] +MinSize=1 +Size=128 +MaxSize=256 +Context=Emblems +Type=Scalable + +[192x192/emblems] +Size=192 +Context=Emblems +Type=Threshold + +[96x96/emblems] +Size=96 +Context=Emblems +Type=Threshold + +[72x72/emblems] +Size=72 +Context=Emblems +Type=Threshold + +[48x48/emblems] +Size=48 +Context=Emblems +Type=Threshold + +[36x36/emblems] +Size=36 +Context=Emblems +Type=Threshold + +[24x24/emblems] +Size=24 +Context=Emblems +Type=Threshold + +[16x16/emblems] +Size=16 +Context=Emblems +Type=Threshold + +[12x12/emblems] +Size=12 +Context=Emblems +Type=Threshold + diff --git a/packages/openmoko-pim/openmoko-contacts/intltool-update.in b/packages/openmoko-pim/openmoko-contacts/intltool-update.in new file mode 100644 index 0000000000..0342a2740c --- /dev/null +++ b/packages/openmoko-pim/openmoko-contacts/intltool-update.in @@ -0,0 +1,1089 @@ +#!@INTLTOOL_PERL@ +# -*- Mode: perl; indent-tabs-mode: nil; c-basic-offset: 4 -*- + +# +# The Intltool Message Updater +# +# Copyright (C) 2000-2003 Free Software Foundation. +# +# Intltool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# version 2 published by the Free Software Foundation. +# +# Intltool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. +# +# Authors: Kenneth Christiansen <kenneth@gnu.org> +# Maciej Stachowiak +# Darin Adler <darin@bentspoon.com> + +## Release information +my $PROGRAM = "intltool-update"; +my $VERSION = "0.35.0"; +my $PACKAGE = "intltool"; + +## Loaded modules +use strict; +use Getopt::Long; +use Cwd; +use File::Copy; +use File::Find; + +## Scalars used by the option stuff +my $HELP_ARG = 0; +my $VERSION_ARG = 0; +my $DIST_ARG = 0; +my $POT_ARG = 0; +my $HEADERS_ARG = 0; +my $MAINTAIN_ARG = 0; +my $REPORT_ARG = 0; +my $VERBOSE = 0; +my $GETTEXT_PACKAGE = ""; +my $OUTPUT_FILE = ""; + +my @languages; +my %varhash = (); +my %po_files_by_lang = (); + +# Regular expressions to categorize file types. +# FIXME: Please check if the following is correct + +my $xml_support = +"xml(?:\\.in)*|". # http://www.w3.org/XML/ (Note: .in is not required) +"ui|". # Bonobo specific - User Interface desc. files +"lang|". # ? +"glade2?(?:\\.in)*|". # Glade specific - User Interface desc. files (Note: .in is not required) +"scm(?:\\.in)*|". # ? (Note: .in is not required) +"oaf(?:\\.in)+|". # DEPRECATED: Replaces by Bonobo .server files +"etspec|". # ? +"server(?:\\.in)+|". # Bonobo specific +"sheet(?:\\.in)+|". # ? +"schemas(?:\\.in)+|". # GConf specific +"pong(?:\\.in)+|". # DEPRECATED: PONG is not used [by GNOME] any longer. +"kbd(?:\\.in)+"; # GOK specific. + +my $ini_support = +"icon(?:\\.in)+|". # http://www.freedesktop.org/Standards/icon-theme-spec +"desktop(?:\\.in)+|". # http://www.freedesktop.org/Standards/menu-spec +"caves(?:\\.in)+|". # GNOME Games specific +"directory(?:\\.in)+|". # http://www.freedesktop.org/Standards/menu-spec +"soundlist(?:\\.in)+|". # GNOME specific +"keys(?:\\.in)+|". # GNOME Mime database specific +"theme(?:\\.in)+|". # http://www.freedesktop.org/Standards/icon-theme-spec +"service(?:\\.in)+"; # DBus specific + +my $buildin_gettext_support = +"c|y|cs|cc|cpp|c\\+\\+|h|hh|gob|py"; + +## Always flush buffer when printing +$| = 1; + +## Sometimes the source tree will be rooted somewhere else. +my $SRCDIR = "."; +my $POTFILES_in; + +$SRCDIR = $ENV{"srcdir"} if $ENV{"srcdir"}; +$POTFILES_in = "<$SRCDIR/POTFILES.in"; + +my $devnull = ($^O eq 'MSWin32' ? 'NUL:' : '/dev/null'); + +## Handle options +GetOptions +( + "help" => \$HELP_ARG, + "version" => \$VERSION_ARG, + "dist|d" => \$DIST_ARG, + "pot|p" => \$POT_ARG, + "headers|s" => \$HEADERS_ARG, + "maintain|m" => \$MAINTAIN_ARG, + "report|r" => \$REPORT_ARG, + "verbose|x" => \$VERBOSE, + "gettext-package|g=s" => \$GETTEXT_PACKAGE, + "output-file|o=s" => \$OUTPUT_FILE, + ) or &Console_WriteError_InvalidOption; + +&Console_Write_IntltoolHelp if $HELP_ARG; +&Console_Write_IntltoolVersion if $VERSION_ARG; + +my $arg_count = ($DIST_ARG > 0) + + ($POT_ARG > 0) + + ($HEADERS_ARG > 0) + + ($MAINTAIN_ARG > 0) + + ($REPORT_ARG > 0); + +&Console_Write_IntltoolHelp if $arg_count > 1; + +# --version and --help don't require a module name +my $MODULE = $GETTEXT_PACKAGE || &FindPackageName || "unknown"; + +if ($POT_ARG) +{ + &GenerateHeaders; + &GeneratePOTemplate; +} +elsif ($HEADERS_ARG) +{ + &GenerateHeaders; +} +elsif ($MAINTAIN_ARG) +{ + &FindLeftoutFiles; +} +elsif ($REPORT_ARG) +{ + &GenerateHeaders; + &GeneratePOTemplate; + &Console_Write_CoverageReport; +} +elsif ((defined $ARGV[0]) && $ARGV[0] =~ /^[a-z]/) +{ + my $lang = $ARGV[0]; + + ## Report error if the language file supplied + ## to the command line is non-existent + &Console_WriteError_NotExisting("$SRCDIR/$lang.po") + if ! -s "$SRCDIR/$lang.po"; + + if (!$DIST_ARG) + { + print "Working, please wait..." if $VERBOSE; + &GenerateHeaders; + &GeneratePOTemplate; + } + &POFile_Update ($lang, $OUTPUT_FILE); + &Console_Write_TranslationStatus ($lang, $OUTPUT_FILE); +} +else +{ + &Console_Write_IntltoolHelp; +} + +exit; + +######### + +sub Console_Write_IntltoolVersion +{ + print <<_EOF_; +${PROGRAM} (${PACKAGE}) $VERSION +Written by Kenneth Christiansen, Maciej Stachowiak, and Darin Adler. + +Copyright (C) 2000-2003 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +_EOF_ + exit; +} + +sub Console_Write_IntltoolHelp +{ + print <<_EOF_; +Usage: ${PROGRAM} [OPTION]... LANGCODE +Updates PO template files and merge them with the translations. + +Mode of operation (only one is allowed): + -p, --pot generate the PO template only + -s, --headers generate the header files in POTFILES.in + -m, --maintain search for left out files from POTFILES.in + -r, --report display a status report for the module + -d, --dist merge LANGCODE.po with existing PO template + +Extra options: + -g, --gettext-package=NAME override PO template name, useful with --pot + -o, --output-file=FILE write merged translation to FILE + -x, --verbose display lots of feedback + --help display this help and exit + --version output version information and exit + +Examples of use: +${PROGRAM} --pot just create a new PO template +${PROGRAM} xy create new PO template and merge xy.po with it + +Report bugs to http://bugzilla.gnome.org/ (product name "$PACKAGE") +or send email to <xml-i18n-tools\@gnome.org>. +_EOF_ + exit; +} + +sub echo_n +{ + my $str = shift; + my $ret = `echo "$str"`; + + $ret =~ s/\n$//; # do we need the "s" flag? + + return $ret; +} + +sub POFile_DetermineType ($) +{ + my $type = $_; + my $gettext_type; + + my $xml_regex = "(?:" . $xml_support . ")"; + my $ini_regex = "(?:" . $ini_support . ")"; + my $buildin_regex = "(?:" . $buildin_gettext_support . ")"; + + if ($type =~ /\[type: gettext\/([^\]].*)]/) + { + $gettext_type=$1; + } + elsif ($type =~ /schemas(\.in)+$/) + { + $gettext_type="schemas"; + } + elsif ($type =~ /glade2?(\.in)*$/) + { + $gettext_type="glade"; + } + elsif ($type =~ /scm(\.in)*$/) + { + $gettext_type="scheme"; + } + elsif ($type =~ /keys(\.in)+$/) + { + $gettext_type="keys"; + } + + # bucket types + + elsif ($type =~ /$xml_regex$/) + { + $gettext_type="xml"; + } + elsif ($type =~ /$ini_regex$/) + { + $gettext_type="ini"; + } + elsif ($type =~ /$buildin_regex$/) + { + $gettext_type="buildin"; + } + else + { + $gettext_type="unknown"; + } + + return "gettext\/$gettext_type"; +} + +sub TextFile_DetermineEncoding ($) +{ + my $gettext_code="ASCII"; # All files are ASCII by default + my $filetype=`file $_ | cut -d ' ' -f 2`; + + if ($? eq "0") + { + if ($filetype =~ /^(ISO|UTF)/) + { + chomp ($gettext_code = $filetype); + } + elsif ($filetype =~ /^XML/) + { + $gettext_code="UTF-8"; # We asume that .glade and other .xml files are UTF-8 + } + } + + return $gettext_code; +} + +sub isNotValidMissing +{ + my ($file) = @_; + + return if $file =~ /^\{arch\}\/.*$/; + return if $file =~ /^$varhash{"PACKAGE"}-$varhash{"VERSION"}\/.*$/; +} + +sub FindLeftoutFiles +{ + my (@buf_i18n_plain, + @buf_i18n_xml, + @buf_i18n_xml_unmarked, + @buf_i18n_ini, + @buf_potfiles, + @buf_potfiles_ignore, + @buf_allfiles, + @buf_allfiles_sorted, + @buf_potfiles_sorted + ); + + ## Search and find all translatable files + find sub { + push @buf_i18n_plain, "$File::Find::name" if /\.($buildin_gettext_support)$/; + push @buf_i18n_xml, "$File::Find::name" if /\.($xml_support)$/; + push @buf_i18n_ini, "$File::Find::name" if /\.($ini_support)$/; + push @buf_i18n_xml_unmarked, "$File::Find::name" if /\.(schemas(\.in)+)$/; + }, ".."; + + + open POTFILES, $POTFILES_in or die "$PROGRAM: there's no POTFILES.in!\n"; + @buf_potfiles = grep !/^(#|\s*$)/, <POTFILES>; + close POTFILES; + + foreach (@buf_potfiles) { + s/^\[.*]\s*//; + } + + print "Searching for missing translatable files...\n" if $VERBOSE; + + ## Check if we should ignore some found files, when + ## comparing with POTFILES.in + foreach my $ignore ("POTFILES.skip", "POTFILES.ignore") + { + (-s $ignore) or next; + + if ("$ignore" eq "POTFILES.ignore") + { + print "The usage of POTFILES.ignore is deprecated. Please consider moving the\n". + "content of this file to POTFILES.skip.\n"; + } + + print "Found $ignore: Ignoring files...\n" if $VERBOSE; + open FILE, "<$ignore" or die "ERROR: Failed to open $ignore!\n"; + + while (<FILE>) + { + push @buf_potfiles_ignore, $_ unless /^(#|\s*$)/; + } + close FILE; + + @buf_potfiles = (@buf_potfiles_ignore, @buf_potfiles); + } + + foreach my $file (@buf_i18n_plain) + { + my $in_comment = 0; + my $in_macro = 0; + + open FILE, "<$file"; + while (<FILE>) + { + # Handle continued multi-line comment. + if ($in_comment) + { + next unless s-.*\*/--; + $in_comment = 0; + } + + # Handle continued macro. + if ($in_macro) + { + $in_macro = 0 unless /\\$/; + next; + } + + # Handle start of macro (or any preprocessor directive). + if (/^\s*\#/) + { + $in_macro = 1 if /^([^\\]|\\.)*\\$/; + next; + } + + # Handle comments and quoted text. + while (m-(/\*|//|\'|\")-) # \' and \" keep emacs perl mode happy + { + my $match = $1; + if ($match eq "/*") + { + if (!s-/\*.*?\*/--) + { + s-/\*.*--; + $in_comment = 1; + } + } + elsif ($match eq "//") + { + s-//.*--; + } + else # ' or " + { + if (!s-$match([^\\]|\\.)*?$match-QUOTEDTEXT-) + { + warn "mismatched quotes at line $. in $file\n"; + s-$match.*--; + } + } + } + + if (/\.GetString ?\(QUOTEDTEXT/) + { + if (defined isNotValidMissing (unpack("x3 A*", $file))) { + ## Remove the first 3 chars and add newline + push @buf_allfiles, unpack("x3 A*", $file) . "\n"; + } + last; + } + + if (/_\(QUOTEDTEXT/) + { + if (defined isNotValidMissing (unpack("x3 A*", $file))) { + ## Remove the first 3 chars and add newline + push @buf_allfiles, unpack("x3 A*", $file) . "\n"; + } + last; + } + } + close FILE; + } + + foreach my $file (@buf_i18n_xml) + { + open FILE, "<$file"; + + while (<FILE>) + { + # FIXME: share the pattern matching code with intltool-extract + if (/\s_[-A-Za-z0-9._:]+\s*=\s*\"([^"]+)\"/ || /<_[^>]+>/ || /translatable=\"yes\"/) + { + if (defined isNotValidMissing (unpack("x3 A*", $file))) { + push @buf_allfiles, unpack("x3 A*", $file) . "\n"; + } + last; + } + } + close FILE; + } + + foreach my $file (@buf_i18n_ini) + { + open FILE, "<$file"; + while (<FILE>) + { + if (/_(.*)=/) + { + if (defined isNotValidMissing (unpack("x3 A*", $file))) { + push @buf_allfiles, unpack("x3 A*", $file) . "\n"; + } + last; + } + } + close FILE; + } + + foreach my $file (@buf_i18n_xml_unmarked) + { + if (defined isNotValidMissing (unpack("x3 A*", $file))) { + push @buf_allfiles, unpack("x3 A*", $file) . "\n"; + } + } + + + @buf_allfiles_sorted = sort (@buf_allfiles); + @buf_potfiles_sorted = sort (@buf_potfiles); + + my %in2; + foreach (@buf_potfiles_sorted) + { + $in2{$_} = 1; + } + + my @result; + + foreach (@buf_allfiles_sorted) + { + if (!exists($in2{$_})) + { + push @result, $_ + } + } + + my @buf_potfiles_notexist; + + foreach (@buf_potfiles_sorted) + { + chomp (my $dummy = $_); + if ("$dummy" ne "" and ! -f "../$dummy") + { + push @buf_potfiles_notexist, $_; + } + } + + ## Save file with information about the files missing + ## if any, and give information about this procedure. + if (@result + @buf_potfiles_notexist > 0) + { + if (@result) + { + print "\n" if $VERBOSE; + unlink "missing"; + open OUT, ">missing"; + print OUT @result; + close OUT; + warn "\e[1mThe following files contain translations and are currently not in use. Please\e[0m\n". + "\e[1mconsider adding these to the POTFILES.in file, located in the po/ directory.\e[0m\n\n"; + print STDERR @result, "\n"; + warn "If some of these files are left out on purpose then please add them to\n". + "POTFILES.skip instead of POTFILES.in. A file \e[1m'missing'\e[0m containing this list\n". + "of left out files has been written in the current directory.\n"; + } + if (@buf_potfiles_notexist) + { + unlink "notexist"; + open OUT, ">notexist"; + print OUT @buf_potfiles_notexist; + close OUT; + warn "\n" if ($VERBOSE or @result); + warn "\e[1mThe following files do not exist anymore:\e[0m\n\n"; + warn @buf_potfiles_notexist, "\n"; + warn "Please remove them from POTFILES.in or POTFILES.skip. A file \e[1m'notexist'\e[0m\n". + "containing this list of absent files has been written in the current directory.\n"; + } + } + + ## If there is nothing to complain about, notify the user + else { + print "\nAll files containing translations are present in POTFILES.in.\n" if $VERBOSE; + } +} + +sub Console_WriteError_InvalidOption +{ + ## Handle invalid arguments + print STDERR "Try `${PROGRAM} --help' for more information.\n"; + exit 1; +} + +sub GenerateHeaders +{ + my $EXTRACT = "@INTLTOOL_EXTRACT@"; + chomp $EXTRACT; + + $EXTRACT = $ENV{"INTLTOOL_EXTRACT"} if $ENV{"INTLTOOL_EXTRACT"}; + + ## Generate the .h header files, so we can allow glade and + ## xml translation support + if (! -x "$EXTRACT") + { + print STDERR "\n *** The intltool-extract script wasn't found!" + ."\n *** Without it, intltool-update can not generate files.\n"; + exit; + } + else + { + open (FILE, $POTFILES_in) or die "$PROGRAM: POTFILES.in not found.\n"; + + while (<FILE>) + { + chomp; + next if /^\[\s*encoding/; + + ## Find xml files in POTFILES.in and generate the + ## files with help from the extract script + + my $gettext_type= &POFile_DetermineType ($1); + + if (/\.($xml_support|$ini_support)$/ || /^\[/) + { + s/^\[[^\[].*]\s*//; + + my $filename = "../$_"; + + if ($VERBOSE) + { + system ($EXTRACT, "--update", "--srcdir=$SRCDIR", + "--type=$gettext_type", $filename); + } + else + { + system ($EXTRACT, "--update", "--type=$gettext_type", + "--srcdir=$SRCDIR", "--quiet", $filename); + } + } + } + close FILE; + } +} + +# +# Generate .pot file from POTFILES.in +# +sub GeneratePOTemplate +{ + my $XGETTEXT = $ENV{"XGETTEXT"} || "@INTLTOOL_XGETTEXT@"; + my $XGETTEXT_ARGS = $ENV{"XGETTEXT_ARGS"} || ''; + chomp $XGETTEXT; + + if (! -x $XGETTEXT) + { + print STDERR " *** xgettext is not found on this system!\n". + " *** Without it, intltool-update can not extract strings.\n"; + exit; + } + + print "Building $MODULE.pot...\n" if $VERBOSE; + + open INFILE, $POTFILES_in; + unlink "POTFILES.in.temp"; + open OUTFILE, ">POTFILES.in.temp" or die("Cannot open POTFILES.in.temp for writing"); + + my $gettext_support_nonascii = 0; + + # checks for GNU gettext >= 0.12 + my $dummy = `$XGETTEXT --version --from-code=UTF-8 >$devnull 2>$devnull`; + if ($? == 0) + { + $gettext_support_nonascii = 1; + } + else + { + # urge everybody to upgrade gettext + print STDERR "WARNING: This version of gettext does not support extracting non-ASCII\n". + " strings. That means you should install a version of gettext\n". + " that supports non-ASCII strings (such as GNU gettext >= 0.12),\n". + " or have to let non-ASCII strings untranslated. (If there is any)\n"; + } + + my $encoding = "ASCII"; + my $forced_gettext_code; + my @temp_headers; + my $encoding_problem_is_reported = 0; + + while (<INFILE>) + { + next if (/^#/ or /^\s*$/); + + chomp; + + my $gettext_code; + + if (/^\[\s*encoding:\s*(.*)\s*\]/) + { + $forced_gettext_code=$1; + } + elsif (/\.($xml_support|$ini_support)$/ || /^\[/) + { + s/^\[.*]\s*//; + print OUTFILE "../$_.h\n"; + push @temp_headers, "../$_.h"; + $gettext_code = &TextFile_DetermineEncoding ("../$_.h") if ($gettext_support_nonascii and not defined $forced_gettext_code); + } + else + { + if ($SRCDIR eq ".") { + print OUTFILE "../$_\n"; + } else { + print OUTFILE "$SRCDIR/../$_\n"; + } + $gettext_code = &TextFile_DetermineEncoding ("../$_") if ($gettext_support_nonascii and not defined $forced_gettext_code); + } + + next if (! $gettext_support_nonascii); + + if (defined $forced_gettext_code) + { + $encoding=$forced_gettext_code; + } + elsif (defined $gettext_code and "$encoding" ne "$gettext_code") + { + if ($encoding eq "ASCII") + { + $encoding=$gettext_code; + } + elsif ($gettext_code ne "ASCII") + { + # Only report once because the message is quite long + if (! $encoding_problem_is_reported) + { + print STDERR "WARNING: You should use the same file encoding for all your project files,\n". + " but $PROGRAM thinks that most of the source files are in\n". + " $encoding encoding, while \"$_\" is (likely) in\n". + " $gettext_code encoding. If you are sure that all translatable strings\n". + " are in same encoding (say UTF-8), please \e[1m*prepend*\e[0m the following\n". + " line to POTFILES.in:\n\n". + " [encoding: UTF-8]\n\n". + " and make sure that configure.in/ac checks for $PACKAGE >= 0.27 .\n". + "(such warning message will only be reported once.)\n"; + $encoding_problem_is_reported = 1; + } + } + } + } + + close OUTFILE; + close INFILE; + + unlink "$MODULE.pot"; + my @xgettext_argument=("$XGETTEXT", + "--add-comments", + "--directory\=\.", + "--output\=$MODULE\.pot", + "--files-from\=\.\/POTFILES\.in\.temp"); + my $XGETTEXT_KEYWORDS = &FindPOTKeywords; + push @xgettext_argument, $XGETTEXT_KEYWORDS; + my $MSGID_BUGS_ADDRESS = &FindMakevarsBugAddress; + push @xgettext_argument, "--msgid-bugs-address\=$MSGID_BUGS_ADDRESS" if $MSGID_BUGS_ADDRESS; + push @xgettext_argument, "--from-code\=$encoding" if ($gettext_support_nonascii); + push @xgettext_argument, $XGETTEXT_ARGS if $XGETTEXT_ARGS; + my $xgettext_command = join ' ', @xgettext_argument; + + # intercept xgettext error message + print "Running $xgettext_command\n" if $VERBOSE; + my $xgettext_error_msg = `$xgettext_command 2>\&1`; + my $command_failed = $?; + + unlink "POTFILES.in.temp"; + + print "Removing generated header (.h) files..." if $VERBOSE; + unlink foreach (@temp_headers); + print "done.\n" if $VERBOSE; + + if (! $command_failed) + { + if (! -e "$MODULE.pot") + { + print "None of the files in POTFILES.in contain strings marked for translation.\n" if $VERBOSE; + } + else + { + print "Wrote $MODULE.pot\n" if $VERBOSE; + } + } + else + { + if ($xgettext_error_msg =~ /--from-code/) + { + # replace non-ASCII error message with a more useful one. + print STDERR "ERROR: xgettext failed to generate PO template file because there is non-ASCII\n". + " string marked for translation. Please make sure that all strings marked\n". + " for translation are in uniform encoding (say UTF-8), then \e[1m*prepend*\e[0m the\n". + " following line to POTFILES.in and rerun $PROGRAM:\n\n". + " [encoding: UTF-8]\n\n"; + } + else + { + print STDERR "$xgettext_error_msg"; + if (-e "$MODULE.pot") + { + # is this possible? + print STDERR "ERROR: xgettext failed but still managed to generate PO template file.\n". + " Please consult error message above if there is any.\n"; + } + else + { + print STDERR "ERROR: xgettext failed to generate PO template file. Please consult\n". + " error message above if there is any.\n"; + } + } + exit (1); + } +} + +sub POFile_Update +{ + -f "$MODULE.pot" or die "$PROGRAM: $MODULE.pot does not exist.\n"; + + my $MSGMERGE = $ENV{"MSGMERGE"} || "@INTLTOOL_MSGMERGE@"; + my ($lang, $outfile) = @_; + + print "Merging $SRCDIR/$lang.po with $MODULE.pot..." if $VERBOSE; + + my $infile = "$SRCDIR/$lang.po"; + $outfile = "$SRCDIR/$lang.po" if ($outfile eq ""); + + # I think msgmerge won't overwrite old file if merge is not successful + system ("$MSGMERGE", "-o", $outfile, $infile, "$MODULE.pot"); +} + +sub Console_WriteError_NotExisting +{ + my ($file) = @_; + + ## Report error if supplied language file is non-existing + print STDERR "$PROGRAM: $file does not exist!\n"; + print STDERR "Try '$PROGRAM --help' for more information.\n"; + exit; +} + +sub GatherPOFiles +{ + my @po_files = glob ("./*.po"); + + @languages = map (&POFile_GetLanguage, @po_files); + + foreach my $lang (@languages) + { + $po_files_by_lang{$lang} = shift (@po_files); + } +} + +sub POFile_GetLanguage ($) +{ + s/^(.*\/)?(.+)\.po$/$2/; + return $_; +} + +sub Console_Write_TranslationStatus +{ + my ($lang, $output_file) = @_; + my $MSGFMT = $ENV{"MSGFMT"} || "@INTLTOOL_MSGFMT@"; + + $output_file = "$SRCDIR/$lang.po" if ($output_file eq ""); + + system ("$MSGFMT", "-o", "$devnull", "--verbose", $output_file); +} + +sub Console_Write_CoverageReport +{ + my $MSGFMT = $ENV{"MSGFMT"} || "@INTLTOOL_MSGFMT@"; + + &GatherPOFiles; + + foreach my $lang (@languages) + { + print "$lang: "; + &POFile_Update ($lang, ""); + } + + print "\n\n * Current translation support in $MODULE \n\n"; + + foreach my $lang (@languages) + { + print "$lang: "; + system ("$MSGFMT", "-o", "$devnull", "--verbose", "$SRCDIR/$lang.po"); + } +} + +sub SubstituteVariable +{ + my ($str) = @_; + + # always need to rewind file whenever it has been accessed + seek (CONF, 0, 0); + + # cache each variable. varhash is global to we can add + # variables elsewhere. + while (<CONF>) + { + if (/^(\w+)=(.*)$/) + { + ($varhash{$1} = $2) =~ s/^["'](.*)["']$/$1/; + } + } + + if ($str =~ /^(.*)\${?([A-Z_]+)}?(.*)$/) + { + my $rest = $3; + my $untouched = $1; + my $sub = ""; + # Ignore recursive definitions of variables + $sub = $varhash{$2} if defined $varhash{$2} and $varhash{$2} !~ /\${?$2}?/; + + return SubstituteVariable ("$untouched$sub$rest"); + } + + # We're using Perl backticks ` and "echo -n" here in order to + # expand any shell escapes (such as backticks themselves) in every variable + return echo_n ($str); +} + +sub CONF_Handle_Open +{ + my $base_dirname = getcwd(); + $base_dirname =~ s@.*/@@; + + my ($conf_in, $src_dir); + + if ($base_dirname =~ /^po(-.+)?$/) + { + if (-f "Makevars") + { + my $makefile_source; + + local (*IN); + open (IN, "<Makevars") || die "can't open Makevars: $!"; + + while (<IN>) + { + if (/^top_builddir[ \t]*=/) + { + $src_dir = $_; + $src_dir =~ s/^top_builddir[ \t]*=[ \t]*([^ \t\n\r]*)/$1/; + + chomp $src_dir; + if (-f "$src_dir" . "/configure.ac") { + $conf_in = "$src_dir" . "/configure.ac" . "\n"; + } else { + $conf_in = "$src_dir" . "/configure.in" . "\n"; + } + last; + } + } + close IN; + + $conf_in || die "Cannot find top_builddir in Makevars."; + } + elsif (-f "../configure.ac") + { + $conf_in = "../configure.ac"; + } + elsif (-f "../configure.in") + { + $conf_in = "../configure.in"; + } + else + { + my $makefile_source; + + local (*IN); + open (IN, "<Makefile") || return; + + while (<IN>) + { + if (/^top_srcdir[ \t]*=/) + { + $src_dir = $_; + $src_dir =~ s/^top_srcdir[ \t]*=[ \t]*([^ \t\n\r]*)/$1/; + + chomp $src_dir; + $conf_in = "$src_dir" . "/configure.in" . "\n"; + + last; + } + } + close IN; + + $conf_in || die "Cannot find top_srcdir in Makefile."; + } + + open (CONF, "<$conf_in"); + } + else + { + print STDERR "$PROGRAM: Unable to proceed.\n" . + "Make sure to run this script inside the po directory.\n"; + exit; + } +} + +sub FindPackageName +{ + my $version; + my $domain = &FindMakevarsDomain; + my $name = $domain || "untitled"; + + &CONF_Handle_Open; + + my $conf_source; { + local (*IN); + open (IN, "<&CONF") || return $name; + seek (IN, 0, 0); + local $/; # slurp mode + $conf_source = <IN>; + close IN; + } + + # priority for getting package name: + # 1. GETTEXT_PACKAGE + # 2. first argument of AC_INIT (with >= 2 arguments) + # 3. first argument of AM_INIT_AUTOMAKE (with >= 2 argument) + + # /^AM_INIT_AUTOMAKE\([\s\[]*([^,\)\s\]]+)/m + # the \s makes this not work, why? + if ($conf_source =~ /^AM_INIT_AUTOMAKE\(([^,\)]+),([^,\)]+)/m) + { + ($name, $version) = ($1, $2); + $name =~ s/[\[\]\s]//g; + $version =~ s/[\[\]\s]//g; + $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\${?AC_PACKAGE_NAME}?/); + $varhash{"PACKAGE"} = $name if (not $name =~ /\${?PACKAGE}?/); + $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\${?AC_PACKAGE_VERSION}?/); + $varhash{"VERSION"} = $version if (not $name =~ /\${?VERSION}?/); + } + + if ($conf_source =~ /^AC_INIT\(([^,\)]+),([^,\)]+)/m) + { + ($name, $version) = ($1, $2); + $name =~ s/[\[\]\s]//g; + $version =~ s/[\[\]\s]//g; + $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\${?AC_PACKAGE_NAME}?/); + $varhash{"PACKAGE"} = $name if (not $name =~ /\${?PACKAGE}?/); + $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\${?AC_PACKAGE_VERSION}?/); + $varhash{"VERSION"} = $version if (not $name =~ /\${?VERSION}?/); + } + + # \s makes this not work, why? + $name = $1 if $conf_source =~ /^GETTEXT_PACKAGE=\[?([^\n\]]+)/m; + + # m4 macros AC_PACKAGE_NAME, AC_PACKAGE_VERSION etc. have same value + # as corresponding $PACKAGE_NAME, $PACKAGE_VERSION etc. shell variables. + $name =~ s/\bAC_PACKAGE_/\$PACKAGE_/g; + + $name = $domain if $domain; + + $name = SubstituteVariable ($name); + $name =~ s/^["'](.*)["']$/$1/; + + return $name if $name; +} + + +sub FindPOTKeywords +{ + + my $keywords = "--keyword\=\_ --keyword\=N\_ --keyword\=U\_ --keyword\=Q\_"; + my $varname = "XGETTEXT_OPTIONS"; + my $make_source; { + local (*IN); + open (IN, "<Makevars") || (open(IN, "<Makefile.in.in") && ($varname = "XGETTEXT_KEYWORDS")) || return $keywords; + seek (IN, 0, 0); + local $/; # slurp mode + $make_source = <IN>; + close IN; + } + + $keywords = $1 if $make_source =~ /^$varname[ ]*=\[?([^\n\]]+)/m; + + return $keywords; +} + +sub FindMakevarsDomain +{ + + my $domain = ""; + my $makevars_source; { + local (*IN); + open (IN, "<Makevars") || return $domain; + seek (IN, 0, 0); + local $/; # slurp mode + $makevars_source = <IN>; + close IN; + } + + $domain = $1 if $makevars_source =~ /^DOMAIN[ ]*=\[?([^\n\]\$]+)/m; + $domain =~ s/^\s+//; + $domain =~ s/\s+$//; + + return $domain; +} + +sub FindMakevarsBugAddress +{ + + my $address = ""; + my $makevars_source; { + local (*IN); + open (IN, "<Makevars") || return undef; + seek (IN, 0, 0); + local $/; # slurp mode + $makevars_source = <IN>; + close IN; + } + + $address = $1 if $makevars_source =~ /^MSGID_BUGS_ADDRESS[ ]*=\[?([^\n\]\$]+)/m; + $address =~ s/^\s+//; + $address =~ s/\s+$//; + + return $address; +} diff --git a/packages/openmoko-pim/openmoko-contacts/stock_contact.png b/packages/openmoko-pim/openmoko-contacts/stock_contact.png Binary files differnew file mode 100644 index 0000000000..123b4485ac --- /dev/null +++ b/packages/openmoko-pim/openmoko-contacts/stock_contact.png diff --git a/packages/openmoko-pim/openmoko-contacts/stock_person.png b/packages/openmoko-pim/openmoko-contacts/stock_person.png Binary files differnew file mode 100644 index 0000000000..2b1328b4e2 --- /dev/null +++ b/packages/openmoko-pim/openmoko-contacts/stock_person.png diff --git a/packages/openmoko-pim/openmoko-contacts_svn.bb b/packages/openmoko-pim/openmoko-contacts_svn.bb new file mode 100644 index 0000000000..b1b7815a5a --- /dev/null +++ b/packages/openmoko-pim/openmoko-contacts_svn.bb @@ -0,0 +1,31 @@ +DESCRIPTION = "The OpenMoko address book" +LICENSE = "GPL" +SECTION = "openmoko/pim" +DEPENDS += "glib-2.0 gtk+ libglade eds-dbus gnome-vfs openmoko-libs" +RDEPENDS = "gnome-vfs-plugin-file" +RRECOMMENDS = "gnome-vfs-plugin-http" +PV = "0.1+svn${SRCDATE}" +PR = "r2" + +inherit openmoko + +SRC_URI += "\ + file://intltool-update.in \ + file://stock_contact.png \ + file://stock_person.png" + +EXTRA_OECONF = "--enable-gnome-vfs" + +do_configure_prepend() { + install -m 644 ${WORKDIR}/intltool-update.in ${S} +} + +do_install_append () { + install -d ${D}/${datadir}/pixmaps + install -m 0644 ${WORKDIR}/stock_contact.png ${D}/${datadir}/pixmaps + install -m 0644 ${WORKDIR}/stock_person.png ${D}/${datadir}/pixmaps +} + +FILES_${PN} += "${datadir}/pixmaps/stock_contact.png \ + ${datadir}/pixmaps/stock_person.png" + diff --git a/packages/openmoko-pim/openmoko-dates/.mtn2git_empty b/packages/openmoko-pim/openmoko-dates/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/openmoko-pim/openmoko-dates/.mtn2git_empty diff --git a/packages/openmoko-pim/openmoko-dates/compile-fix.patch b/packages/openmoko-pim/openmoko-dates/compile-fix.patch new file mode 100644 index 0000000000..41b1f173c2 --- /dev/null +++ b/packages/openmoko-pim/openmoko-dates/compile-fix.patch @@ -0,0 +1,12 @@ +Index: omoko/src/dates_navigator.c +=================================================================== +--- omoko.orig/src/dates_navigator.c 2007-02-06 16:49:45.000000000 +0100 ++++ omoko/src/dates_navigator.c 2007-02-06 16:51:18.000000000 +0100 +@@ -18,7 +18,6 @@ + + #include <string.h> + +-#include <libedataserver/e-data-server-util.h> + #include <libecal/e-cal.h> + #include <libecal/e-cal-time-util.h> + #include <libical/ical.h> diff --git a/packages/openmoko-pim/openmoko-dates/intltool-update.in b/packages/openmoko-pim/openmoko-dates/intltool-update.in new file mode 100644 index 0000000000..661d8fe6ac --- /dev/null +++ b/packages/openmoko-pim/openmoko-dates/intltool-update.in @@ -0,0 +1,1089 @@ +#!@INTLTOOL_PERL@ -w +# -*- Mode: perl; indent-tabs-mode: nil; c-basic-offset: 4 -*- + +# +# The Intltool Message Updater +# +# Copyright (C) 2000-2003 Free Software Foundation. +# +# Intltool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# version 2 published by the Free Software Foundation. +# +# Intltool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. +# +# Authors: Kenneth Christiansen <kenneth@gnu.org> +# Maciej Stachowiak +# Darin Adler <darin@bentspoon.com> + +## Release information +my $PROGRAM = "intltool-update"; +my $VERSION = "0.35.0"; +my $PACKAGE = "intltool"; + +## Loaded modules +use strict; +use Getopt::Long; +use Cwd; +use File::Copy; +use File::Find; + +## Scalars used by the option stuff +my $HELP_ARG = 0; +my $VERSION_ARG = 0; +my $DIST_ARG = 0; +my $POT_ARG = 0; +my $HEADERS_ARG = 0; +my $MAINTAIN_ARG = 0; +my $REPORT_ARG = 0; +my $VERBOSE = 0; +my $GETTEXT_PACKAGE = ""; +my $OUTPUT_FILE = ""; + +my @languages; +my %varhash = (); +my %po_files_by_lang = (); + +# Regular expressions to categorize file types. +# FIXME: Please check if the following is correct + +my $xml_support = +"xml(?:\\.in)*|". # http://www.w3.org/XML/ (Note: .in is not required) +"ui|". # Bonobo specific - User Interface desc. files +"lang|". # ? +"glade2?(?:\\.in)*|". # Glade specific - User Interface desc. files (Note: .in is not required) +"scm(?:\\.in)*|". # ? (Note: .in is not required) +"oaf(?:\\.in)+|". # DEPRECATED: Replaces by Bonobo .server files +"etspec|". # ? +"server(?:\\.in)+|". # Bonobo specific +"sheet(?:\\.in)+|". # ? +"schemas(?:\\.in)+|". # GConf specific +"pong(?:\\.in)+|". # DEPRECATED: PONG is not used [by GNOME] any longer. +"kbd(?:\\.in)+"; # GOK specific. + +my $ini_support = +"icon(?:\\.in)+|". # http://www.freedesktop.org/Standards/icon-theme-spec +"desktop(?:\\.in)+|". # http://www.freedesktop.org/Standards/menu-spec +"caves(?:\\.in)+|". # GNOME Games specific +"directory(?:\\.in)+|". # http://www.freedesktop.org/Standards/menu-spec +"soundlist(?:\\.in)+|". # GNOME specific +"keys(?:\\.in)+|". # GNOME Mime database specific +"theme(?:\\.in)+|". # http://www.freedesktop.org/Standards/icon-theme-spec +"service(?:\\.in)+"; # DBus specific + +my $buildin_gettext_support = +"c|y|cs|cc|cpp|c\\+\\+|h|hh|gob|py"; + +## Always flush buffer when printing +$| = 1; + +## Sometimes the source tree will be rooted somewhere else. +my $SRCDIR = "."; +my $POTFILES_in; + +$SRCDIR = $ENV{"srcdir"} if $ENV{"srcdir"}; +$POTFILES_in = "<$SRCDIR/POTFILES.in"; + +my $devnull = ($^O eq 'MSWin32' ? 'NUL:' : '/dev/null'); + +## Handle options +GetOptions +( + "help" => \$HELP_ARG, + "version" => \$VERSION_ARG, + "dist|d" => \$DIST_ARG, + "pot|p" => \$POT_ARG, + "headers|s" => \$HEADERS_ARG, + "maintain|m" => \$MAINTAIN_ARG, + "report|r" => \$REPORT_ARG, + "verbose|x" => \$VERBOSE, + "gettext-package|g=s" => \$GETTEXT_PACKAGE, + "output-file|o=s" => \$OUTPUT_FILE, + ) or &Console_WriteError_InvalidOption; + +&Console_Write_IntltoolHelp if $HELP_ARG; +&Console_Write_IntltoolVersion if $VERSION_ARG; + +my $arg_count = ($DIST_ARG > 0) + + ($POT_ARG > 0) + + ($HEADERS_ARG > 0) + + ($MAINTAIN_ARG > 0) + + ($REPORT_ARG > 0); + +&Console_Write_IntltoolHelp if $arg_count > 1; + +# --version and --help don't require a module name +my $MODULE = $GETTEXT_PACKAGE || &FindPackageName || "unknown"; + +if ($POT_ARG) +{ + &GenerateHeaders; + &GeneratePOTemplate; +} +elsif ($HEADERS_ARG) +{ + &GenerateHeaders; +} +elsif ($MAINTAIN_ARG) +{ + &FindLeftoutFiles; +} +elsif ($REPORT_ARG) +{ + &GenerateHeaders; + &GeneratePOTemplate; + &Console_Write_CoverageReport; +} +elsif ((defined $ARGV[0]) && $ARGV[0] =~ /^[a-z]/) +{ + my $lang = $ARGV[0]; + + ## Report error if the language file supplied + ## to the command line is non-existent + &Console_WriteError_NotExisting("$SRCDIR/$lang.po") + if ! -s "$SRCDIR/$lang.po"; + + if (!$DIST_ARG) + { + print "Working, please wait..." if $VERBOSE; + &GenerateHeaders; + &GeneratePOTemplate; + } + &POFile_Update ($lang, $OUTPUT_FILE); + &Console_Write_TranslationStatus ($lang, $OUTPUT_FILE); +} +else +{ + &Console_Write_IntltoolHelp; +} + +exit; + +######### + +sub Console_Write_IntltoolVersion +{ + print <<_EOF_; +${PROGRAM} (${PACKAGE}) $VERSION +Written by Kenneth Christiansen, Maciej Stachowiak, and Darin Adler. + +Copyright (C) 2000-2003 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +_EOF_ + exit; +} + +sub Console_Write_IntltoolHelp +{ + print <<_EOF_; +Usage: ${PROGRAM} [OPTION]... LANGCODE +Updates PO template files and merge them with the translations. + +Mode of operation (only one is allowed): + -p, --pot generate the PO template only + -s, --headers generate the header files in POTFILES.in + -m, --maintain search for left out files from POTFILES.in + -r, --report display a status report for the module + -d, --dist merge LANGCODE.po with existing PO template + +Extra options: + -g, --gettext-package=NAME override PO template name, useful with --pot + -o, --output-file=FILE write merged translation to FILE + -x, --verbose display lots of feedback + --help display this help and exit + --version output version information and exit + +Examples of use: +${PROGRAM} --pot just create a new PO template +${PROGRAM} xy create new PO template and merge xy.po with it + +Report bugs to http://bugzilla.gnome.org/ (product name "$PACKAGE") +or send email to <xml-i18n-tools\@gnome.org>. +_EOF_ + exit; +} + +sub echo_n +{ + my $str = shift; + my $ret = `echo "$str"`; + + $ret =~ s/\n$//; # do we need the "s" flag? + + return $ret; +} + +sub POFile_DetermineType ($) +{ + my $type = $_; + my $gettext_type; + + my $xml_regex = "(?:" . $xml_support . ")"; + my $ini_regex = "(?:" . $ini_support . ")"; + my $buildin_regex = "(?:" . $buildin_gettext_support . ")"; + + if ($type =~ /\[type: gettext\/([^\]].*)]/) + { + $gettext_type=$1; + } + elsif ($type =~ /schemas(\.in)+$/) + { + $gettext_type="schemas"; + } + elsif ($type =~ /glade2?(\.in)*$/) + { + $gettext_type="glade"; + } + elsif ($type =~ /scm(\.in)*$/) + { + $gettext_type="scheme"; + } + elsif ($type =~ /keys(\.in)+$/) + { + $gettext_type="keys"; + } + + # bucket types + + elsif ($type =~ /$xml_regex$/) + { + $gettext_type="xml"; + } + elsif ($type =~ /$ini_regex$/) + { + $gettext_type="ini"; + } + elsif ($type =~ /$buildin_regex$/) + { + $gettext_type="buildin"; + } + else + { + $gettext_type="unknown"; + } + + return "gettext\/$gettext_type"; +} + +sub TextFile_DetermineEncoding ($) +{ + my $gettext_code="ASCII"; # All files are ASCII by default + my $filetype=`file $_ | cut -d ' ' -f 2`; + + if ($? eq "0") + { + if ($filetype =~ /^(ISO|UTF)/) + { + chomp ($gettext_code = $filetype); + } + elsif ($filetype =~ /^XML/) + { + $gettext_code="UTF-8"; # We asume that .glade and other .xml files are UTF-8 + } + } + + return $gettext_code; +} + +sub isNotValidMissing +{ + my ($file) = @_; + + return if $file =~ /^\{arch\}\/.*$/; + return if $file =~ /^$varhash{"PACKAGE"}-$varhash{"VERSION"}\/.*$/; +} + +sub FindLeftoutFiles +{ + my (@buf_i18n_plain, + @buf_i18n_xml, + @buf_i18n_xml_unmarked, + @buf_i18n_ini, + @buf_potfiles, + @buf_potfiles_ignore, + @buf_allfiles, + @buf_allfiles_sorted, + @buf_potfiles_sorted + ); + + ## Search and find all translatable files + find sub { + push @buf_i18n_plain, "$File::Find::name" if /\.($buildin_gettext_support)$/; + push @buf_i18n_xml, "$File::Find::name" if /\.($xml_support)$/; + push @buf_i18n_ini, "$File::Find::name" if /\.($ini_support)$/; + push @buf_i18n_xml_unmarked, "$File::Find::name" if /\.(schemas(\.in)+)$/; + }, ".."; + + + open POTFILES, $POTFILES_in or die "$PROGRAM: there's no POTFILES.in!\n"; + @buf_potfiles = grep !/^(#|\s*$)/, <POTFILES>; + close POTFILES; + + foreach (@buf_potfiles) { + s/^\[.*]\s*//; + } + + print "Searching for missing translatable files...\n" if $VERBOSE; + + ## Check if we should ignore some found files, when + ## comparing with POTFILES.in + foreach my $ignore ("POTFILES.skip", "POTFILES.ignore") + { + (-s $ignore) or next; + + if ("$ignore" eq "POTFILES.ignore") + { + print "The usage of POTFILES.ignore is deprecated. Please consider moving the\n". + "content of this file to POTFILES.skip.\n"; + } + + print "Found $ignore: Ignoring files...\n" if $VERBOSE; + open FILE, "<$ignore" or die "ERROR: Failed to open $ignore!\n"; + + while (<FILE>) + { + push @buf_potfiles_ignore, $_ unless /^(#|\s*$)/; + } + close FILE; + + @buf_potfiles = (@buf_potfiles_ignore, @buf_potfiles); + } + + foreach my $file (@buf_i18n_plain) + { + my $in_comment = 0; + my $in_macro = 0; + + open FILE, "<$file"; + while (<FILE>) + { + # Handle continued multi-line comment. + if ($in_comment) + { + next unless s-.*\*/--; + $in_comment = 0; + } + + # Handle continued macro. + if ($in_macro) + { + $in_macro = 0 unless /\\$/; + next; + } + + # Handle start of macro (or any preprocessor directive). + if (/^\s*\#/) + { + $in_macro = 1 if /^([^\\]|\\.)*\\$/; + next; + } + + # Handle comments and quoted text. + while (m-(/\*|//|\'|\")-) # \' and \" keep emacs perl mode happy + { + my $match = $1; + if ($match eq "/*") + { + if (!s-/\*.*?\*/--) + { + s-/\*.*--; + $in_comment = 1; + } + } + elsif ($match eq "//") + { + s-//.*--; + } + else # ' or " + { + if (!s-$match([^\\]|\\.)*?$match-QUOTEDTEXT-) + { + warn "mismatched quotes at line $. in $file\n"; + s-$match.*--; + } + } + } + + if (/\.GetString ?\(QUOTEDTEXT/) + { + if (defined isNotValidMissing (unpack("x3 A*", $file))) { + ## Remove the first 3 chars and add newline + push @buf_allfiles, unpack("x3 A*", $file) . "\n"; + } + last; + } + + if (/_\(QUOTEDTEXT/) + { + if (defined isNotValidMissing (unpack("x3 A*", $file))) { + ## Remove the first 3 chars and add newline + push @buf_allfiles, unpack("x3 A*", $file) . "\n"; + } + last; + } + } + close FILE; + } + + foreach my $file (@buf_i18n_xml) + { + open FILE, "<$file"; + + while (<FILE>) + { + # FIXME: share the pattern matching code with intltool-extract + if (/\s_[-A-Za-z0-9._:]+\s*=\s*\"([^"]+)\"/ || /<_[^>]+>/ || /translatable=\"yes\"/) + { + if (defined isNotValidMissing (unpack("x3 A*", $file))) { + push @buf_allfiles, unpack("x3 A*", $file) . "\n"; + } + last; + } + } + close FILE; + } + + foreach my $file (@buf_i18n_ini) + { + open FILE, "<$file"; + while (<FILE>) + { + if (/_(.*)=/) + { + if (defined isNotValidMissing (unpack("x3 A*", $file))) { + push @buf_allfiles, unpack("x3 A*", $file) . "\n"; + } + last; + } + } + close FILE; + } + + foreach my $file (@buf_i18n_xml_unmarked) + { + if (defined isNotValidMissing (unpack("x3 A*", $file))) { + push @buf_allfiles, unpack("x3 A*", $file) . "\n"; + } + } + + + @buf_allfiles_sorted = sort (@buf_allfiles); + @buf_potfiles_sorted = sort (@buf_potfiles); + + my %in2; + foreach (@buf_potfiles_sorted) + { + $in2{$_} = 1; + } + + my @result; + + foreach (@buf_allfiles_sorted) + { + if (!exists($in2{$_})) + { + push @result, $_ + } + } + + my @buf_potfiles_notexist; + + foreach (@buf_potfiles_sorted) + { + chomp (my $dummy = $_); + if ("$dummy" ne "" and ! -f "../$dummy") + { + push @buf_potfiles_notexist, $_; + } + } + + ## Save file with information about the files missing + ## if any, and give information about this procedure. + if (@result + @buf_potfiles_notexist > 0) + { + if (@result) + { + print "\n" if $VERBOSE; + unlink "missing"; + open OUT, ">missing"; + print OUT @result; + close OUT; + warn "\e[1mThe following files contain translations and are currently not in use. Please\e[0m\n". + "\e[1mconsider adding these to the POTFILES.in file, located in the po/ directory.\e[0m\n\n"; + print STDERR @result, "\n"; + warn "If some of these files are left out on purpose then please add them to\n". + "POTFILES.skip instead of POTFILES.in. A file \e[1m'missing'\e[0m containing this list\n". + "of left out files has been written in the current directory.\n"; + } + if (@buf_potfiles_notexist) + { + unlink "notexist"; + open OUT, ">notexist"; + print OUT @buf_potfiles_notexist; + close OUT; + warn "\n" if ($VERBOSE or @result); + warn "\e[1mThe following files do not exist anymore:\e[0m\n\n"; + warn @buf_potfiles_notexist, "\n"; + warn "Please remove them from POTFILES.in or POTFILES.skip. A file \e[1m'notexist'\e[0m\n". + "containing this list of absent files has been written in the current directory.\n"; + } + } + + ## If there is nothing to complain about, notify the user + else { + print "\nAll files containing translations are present in POTFILES.in.\n" if $VERBOSE; + } +} + +sub Console_WriteError_InvalidOption +{ + ## Handle invalid arguments + print STDERR "Try `${PROGRAM} --help' for more information.\n"; + exit 1; +} + +sub GenerateHeaders +{ + my $EXTRACT = "@INTLTOOL_EXTRACT@"; + chomp $EXTRACT; + + $EXTRACT = $ENV{"INTLTOOL_EXTRACT"} if $ENV{"INTLTOOL_EXTRACT"}; + + ## Generate the .h header files, so we can allow glade and + ## xml translation support + if (! -x "$EXTRACT") + { + print STDERR "\n *** The intltool-extract script wasn't found!" + ."\n *** Without it, intltool-update can not generate files.\n"; + exit; + } + else + { + open (FILE, $POTFILES_in) or die "$PROGRAM: POTFILES.in not found.\n"; + + while (<FILE>) + { + chomp; + next if /^\[\s*encoding/; + + ## Find xml files in POTFILES.in and generate the + ## files with help from the extract script + + my $gettext_type= &POFile_DetermineType ($1); + + if (/\.($xml_support|$ini_support)$/ || /^\[/) + { + s/^\[[^\[].*]\s*//; + + my $filename = "../$_"; + + if ($VERBOSE) + { + system ($EXTRACT, "--update", "--srcdir=$SRCDIR", + "--type=$gettext_type", $filename); + } + else + { + system ($EXTRACT, "--update", "--type=$gettext_type", + "--srcdir=$SRCDIR", "--quiet", $filename); + } + } + } + close FILE; + } +} + +# +# Generate .pot file from POTFILES.in +# +sub GeneratePOTemplate +{ + my $XGETTEXT = $ENV{"XGETTEXT"} || "@INTLTOOL_XGETTEXT@"; + my $XGETTEXT_ARGS = $ENV{"XGETTEXT_ARGS"} || ''; + chomp $XGETTEXT; + + if (! -x $XGETTEXT) + { + print STDERR " *** xgettext is not found on this system!\n". + " *** Without it, intltool-update can not extract strings.\n"; + exit; + } + + print "Building $MODULE.pot...\n" if $VERBOSE; + + open INFILE, $POTFILES_in; + unlink "POTFILES.in.temp"; + open OUTFILE, ">POTFILES.in.temp" or die("Cannot open POTFILES.in.temp for writing"); + + my $gettext_support_nonascii = 0; + + # checks for GNU gettext >= 0.12 + my $dummy = `$XGETTEXT --version --from-code=UTF-8 >$devnull 2>$devnull`; + if ($? == 0) + { + $gettext_support_nonascii = 1; + } + else + { + # urge everybody to upgrade gettext + print STDERR "WARNING: This version of gettext does not support extracting non-ASCII\n". + " strings. That means you should install a version of gettext\n". + " that supports non-ASCII strings (such as GNU gettext >= 0.12),\n". + " or have to let non-ASCII strings untranslated. (If there is any)\n"; + } + + my $encoding = "ASCII"; + my $forced_gettext_code; + my @temp_headers; + my $encoding_problem_is_reported = 0; + + while (<INFILE>) + { + next if (/^#/ or /^\s*$/); + + chomp; + + my $gettext_code; + + if (/^\[\s*encoding:\s*(.*)\s*\]/) + { + $forced_gettext_code=$1; + } + elsif (/\.($xml_support|$ini_support)$/ || /^\[/) + { + s/^\[.*]\s*//; + print OUTFILE "../$_.h\n"; + push @temp_headers, "../$_.h"; + $gettext_code = &TextFile_DetermineEncoding ("../$_.h") if ($gettext_support_nonascii and not defined $forced_gettext_code); + } + else + { + if ($SRCDIR eq ".") { + print OUTFILE "../$_\n"; + } else { + print OUTFILE "$SRCDIR/../$_\n"; + } + $gettext_code = &TextFile_DetermineEncoding ("../$_") if ($gettext_support_nonascii and not defined $forced_gettext_code); + } + + next if (! $gettext_support_nonascii); + + if (defined $forced_gettext_code) + { + $encoding=$forced_gettext_code; + } + elsif (defined $gettext_code and "$encoding" ne "$gettext_code") + { + if ($encoding eq "ASCII") + { + $encoding=$gettext_code; + } + elsif ($gettext_code ne "ASCII") + { + # Only report once because the message is quite long + if (! $encoding_problem_is_reported) + { + print STDERR "WARNING: You should use the same file encoding for all your project files,\n". + " but $PROGRAM thinks that most of the source files are in\n". + " $encoding encoding, while \"$_\" is (likely) in\n". + " $gettext_code encoding. If you are sure that all translatable strings\n". + " are in same encoding (say UTF-8), please \e[1m*prepend*\e[0m the following\n". + " line to POTFILES.in:\n\n". + " [encoding: UTF-8]\n\n". + " and make sure that configure.in/ac checks for $PACKAGE >= 0.27 .\n". + "(such warning message will only be reported once.)\n"; + $encoding_problem_is_reported = 1; + } + } + } + } + + close OUTFILE; + close INFILE; + + unlink "$MODULE.pot"; + my @xgettext_argument=("$XGETTEXT", + "--add-comments", + "--directory\=\.", + "--output\=$MODULE\.pot", + "--files-from\=\.\/POTFILES\.in\.temp"); + my $XGETTEXT_KEYWORDS = &FindPOTKeywords; + push @xgettext_argument, $XGETTEXT_KEYWORDS; + my $MSGID_BUGS_ADDRESS = &FindMakevarsBugAddress; + push @xgettext_argument, "--msgid-bugs-address\=$MSGID_BUGS_ADDRESS" if $MSGID_BUGS_ADDRESS; + push @xgettext_argument, "--from-code\=$encoding" if ($gettext_support_nonascii); + push @xgettext_argument, $XGETTEXT_ARGS if $XGETTEXT_ARGS; + my $xgettext_command = join ' ', @xgettext_argument; + + # intercept xgettext error message + print "Running $xgettext_command\n" if $VERBOSE; + my $xgettext_error_msg = `$xgettext_command 2>\&1`; + my $command_failed = $?; + + unlink "POTFILES.in.temp"; + + print "Removing generated header (.h) files..." if $VERBOSE; + unlink foreach (@temp_headers); + print "done.\n" if $VERBOSE; + + if (! $command_failed) + { + if (! -e "$MODULE.pot") + { + print "None of the files in POTFILES.in contain strings marked for translation.\n" if $VERBOSE; + } + else + { + print "Wrote $MODULE.pot\n" if $VERBOSE; + } + } + else + { + if ($xgettext_error_msg =~ /--from-code/) + { + # replace non-ASCII error message with a more useful one. + print STDERR "ERROR: xgettext failed to generate PO template file because there is non-ASCII\n". + " string marked for translation. Please make sure that all strings marked\n". + " for translation are in uniform encoding (say UTF-8), then \e[1m*prepend*\e[0m the\n". + " following line to POTFILES.in and rerun $PROGRAM:\n\n". + " [encoding: UTF-8]\n\n"; + } + else + { + print STDERR "$xgettext_error_msg"; + if (-e "$MODULE.pot") + { + # is this possible? + print STDERR "ERROR: xgettext failed but still managed to generate PO template file.\n". + " Please consult error message above if there is any.\n"; + } + else + { + print STDERR "ERROR: xgettext failed to generate PO template file. Please consult\n". + " error message above if there is any.\n"; + } + } + exit (1); + } +} + +sub POFile_Update +{ + -f "$MODULE.pot" or die "$PROGRAM: $MODULE.pot does not exist.\n"; + + my $MSGMERGE = $ENV{"MSGMERGE"} || "@INTLTOOL_MSGMERGE@"; + my ($lang, $outfile) = @_; + + print "Merging $SRCDIR/$lang.po with $MODULE.pot..." if $VERBOSE; + + my $infile = "$SRCDIR/$lang.po"; + $outfile = "$SRCDIR/$lang.po" if ($outfile eq ""); + + # I think msgmerge won't overwrite old file if merge is not successful + system ("$MSGMERGE", "-o", $outfile, $infile, "$MODULE.pot"); +} + +sub Console_WriteError_NotExisting +{ + my ($file) = @_; + + ## Report error if supplied language file is non-existing + print STDERR "$PROGRAM: $file does not exist!\n"; + print STDERR "Try '$PROGRAM --help' for more information.\n"; + exit; +} + +sub GatherPOFiles +{ + my @po_files = glob ("./*.po"); + + @languages = map (&POFile_GetLanguage, @po_files); + + foreach my $lang (@languages) + { + $po_files_by_lang{$lang} = shift (@po_files); + } +} + +sub POFile_GetLanguage ($) +{ + s/^(.*\/)?(.+)\.po$/$2/; + return $_; +} + +sub Console_Write_TranslationStatus +{ + my ($lang, $output_file) = @_; + my $MSGFMT = $ENV{"MSGFMT"} || "@INTLTOOL_MSGFMT@"; + + $output_file = "$SRCDIR/$lang.po" if ($output_file eq ""); + + system ("$MSGFMT", "-o", "$devnull", "--verbose", $output_file); +} + +sub Console_Write_CoverageReport +{ + my $MSGFMT = $ENV{"MSGFMT"} || "@INTLTOOL_MSGFMT@"; + + &GatherPOFiles; + + foreach my $lang (@languages) + { + print "$lang: "; + &POFile_Update ($lang, ""); + } + + print "\n\n * Current translation support in $MODULE \n\n"; + + foreach my $lang (@languages) + { + print "$lang: "; + system ("$MSGFMT", "-o", "$devnull", "--verbose", "$SRCDIR/$lang.po"); + } +} + +sub SubstituteVariable +{ + my ($str) = @_; + + # always need to rewind file whenever it has been accessed + seek (CONF, 0, 0); + + # cache each variable. varhash is global to we can add + # variables elsewhere. + while (<CONF>) + { + if (/^(\w+)=(.*)$/) + { + ($varhash{$1} = $2) =~ s/^["'](.*)["']$/$1/; + } + } + + if ($str =~ /^(.*)\${?([A-Z_]+)}?(.*)$/) + { + my $rest = $3; + my $untouched = $1; + my $sub = ""; + # Ignore recursive definitions of variables + $sub = $varhash{$2} if defined $varhash{$2} and $varhash{$2} !~ /\${?$2}?/; + + return SubstituteVariable ("$untouched$sub$rest"); + } + + # We're using Perl backticks ` and "echo -n" here in order to + # expand any shell escapes (such as backticks themselves) in every variable + return echo_n ($str); +} + +sub CONF_Handle_Open +{ + my $base_dirname = getcwd(); + $base_dirname =~ s@.*/@@; + + my ($conf_in, $src_dir); + + if ($base_dirname =~ /^po(-.+)?$/) + { + if (-f "Makevars") + { + my $makefile_source; + + local (*IN); + open (IN, "<Makevars") || die "can't open Makevars: $!"; + + while (<IN>) + { + if (/^top_builddir[ \t]*=/) + { + $src_dir = $_; + $src_dir =~ s/^top_builddir[ \t]*=[ \t]*([^ \t\n\r]*)/$1/; + + chomp $src_dir; + if (-f "$src_dir" . "/configure.ac") { + $conf_in = "$src_dir" . "/configure.ac" . "\n"; + } else { + $conf_in = "$src_dir" . "/configure.in" . "\n"; + } + last; + } + } + close IN; + + $conf_in || die "Cannot find top_builddir in Makevars."; + } + elsif (-f "../configure.ac") + { + $conf_in = "../configure.ac"; + } + elsif (-f "../configure.in") + { + $conf_in = "../configure.in"; + } + else + { + my $makefile_source; + + local (*IN); + open (IN, "<Makefile") || return; + + while (<IN>) + { + if (/^top_srcdir[ \t]*=/) + { + $src_dir = $_; + $src_dir =~ s/^top_srcdir[ \t]*=[ \t]*([^ \t\n\r]*)/$1/; + + chomp $src_dir; + $conf_in = "$src_dir" . "/configure.in" . "\n"; + + last; + } + } + close IN; + + $conf_in || die "Cannot find top_srcdir in Makefile."; + } + + open (CONF, "<$conf_in"); + } + else + { + print STDERR "$PROGRAM: Unable to proceed.\n" . + "Make sure to run this script inside the po directory.\n"; + exit; + } +} + +sub FindPackageName +{ + my $version; + my $domain = &FindMakevarsDomain; + my $name = $domain || "untitled"; + + &CONF_Handle_Open; + + my $conf_source; { + local (*IN); + open (IN, "<&CONF") || return $name; + seek (IN, 0, 0); + local $/; # slurp mode + $conf_source = <IN>; + close IN; + } + + # priority for getting package name: + # 1. GETTEXT_PACKAGE + # 2. first argument of AC_INIT (with >= 2 arguments) + # 3. first argument of AM_INIT_AUTOMAKE (with >= 2 argument) + + # /^AM_INIT_AUTOMAKE\([\s\[]*([^,\)\s\]]+)/m + # the \s makes this not work, why? + if ($conf_source =~ /^AM_INIT_AUTOMAKE\(([^,\)]+),([^,\)]+)/m) + { + ($name, $version) = ($1, $2); + $name =~ s/[\[\]\s]//g; + $version =~ s/[\[\]\s]//g; + $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\${?AC_PACKAGE_NAME}?/); + $varhash{"PACKAGE"} = $name if (not $name =~ /\${?PACKAGE}?/); + $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\${?AC_PACKAGE_VERSION}?/); + $varhash{"VERSION"} = $version if (not $name =~ /\${?VERSION}?/); + } + + if ($conf_source =~ /^AC_INIT\(([^,\)]+),([^,\)]+)/m) + { + ($name, $version) = ($1, $2); + $name =~ s/[\[\]\s]//g; + $version =~ s/[\[\]\s]//g; + $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\${?AC_PACKAGE_NAME}?/); + $varhash{"PACKAGE"} = $name if (not $name =~ /\${?PACKAGE}?/); + $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\${?AC_PACKAGE_VERSION}?/); + $varhash{"VERSION"} = $version if (not $name =~ /\${?VERSION}?/); + } + + # \s makes this not work, why? + $name = $1 if $conf_source =~ /^GETTEXT_PACKAGE=\[?([^\n\]]+)/m; + + # m4 macros AC_PACKAGE_NAME, AC_PACKAGE_VERSION etc. have same value + # as corresponding $PACKAGE_NAME, $PACKAGE_VERSION etc. shell variables. + $name =~ s/\bAC_PACKAGE_/\$PACKAGE_/g; + + $name = $domain if $domain; + + $name = SubstituteVariable ($name); + $name =~ s/^["'](.*)["']$/$1/; + + return $name if $name; +} + + +sub FindPOTKeywords +{ + + my $keywords = "--keyword\=\_ --keyword\=N\_ --keyword\=U\_ --keyword\=Q\_"; + my $varname = "XGETTEXT_OPTIONS"; + my $make_source; { + local (*IN); + open (IN, "<Makevars") || (open(IN, "<Makefile.in.in") && ($varname = "XGETTEXT_KEYWORDS")) || return $keywords; + seek (IN, 0, 0); + local $/; # slurp mode + $make_source = <IN>; + close IN; + } + + $keywords = $1 if $make_source =~ /^$varname[ ]*=\[?([^\n\]]+)/m; + + return $keywords; +} + +sub FindMakevarsDomain +{ + + my $domain = ""; + my $makevars_source; { + local (*IN); + open (IN, "<Makevars") || return $domain; + seek (IN, 0, 0); + local $/; # slurp mode + $makevars_source = <IN>; + close IN; + } + + $domain = $1 if $makevars_source =~ /^DOMAIN[ ]*=\[?([^\n\]\$]+)/m; + $domain =~ s/^\s+//; + $domain =~ s/\s+$//; + + return $domain; +} + +sub FindMakevarsBugAddress +{ + + my $address = ""; + my $makevars_source; { + local (*IN); + open (IN, "<Makevars") || return undef; + seek (IN, 0, 0); + local $/; # slurp mode + $makevars_source = <IN>; + close IN; + } + + $address = $1 if $makevars_source =~ /^MSGID_BUGS_ADDRESS[ ]*=\[?([^\n\]\$]+)/m; + $address =~ s/^\s+//; + $address =~ s/\s+$//; + + return $address; +} diff --git a/packages/openmoko-pim/openmoko-dates/remove-bogus-include.patch b/packages/openmoko-pim/openmoko-dates/remove-bogus-include.patch new file mode 100644 index 0000000000..4740612a8b --- /dev/null +++ b/packages/openmoko-pim/openmoko-dates/remove-bogus-include.patch @@ -0,0 +1,10 @@ +--- /tmp/dates_navigator.c 2007-02-15 13:36:27.000000000 +0100 ++++ omoko/src/dates_navigator.c 2007-02-15 13:36:35.435251000 +0100 +@@ -21,7 +21,6 @@ + #include <libecal/e-cal.h> + #include <libecal/e-cal-time-util.h> + #include <libical/ical.h> +-#include <libedataserver/e-data-server-util.h> + + #include <gtk/gtk.h> + #include <glib/gi18n.h> diff --git a/packages/openmoko-pim/openmoko-dates_svn.bb b/packages/openmoko-pim/openmoko-dates_svn.bb new file mode 100644 index 0000000000..6f3a41602b --- /dev/null +++ b/packages/openmoko-pim/openmoko-dates_svn.bb @@ -0,0 +1,24 @@ +DESCRIPTION = "Dates is a calendar application." +SECTION = "openmoko/pim" +LICENSE = "GPL" +DEPENDS = "glib-2.0 gtk+ libglade eds-dbus openmoko-libs" +PV = "0.1+svn${SRCDATE}" +PR = "r4" + +inherit gnome autotools pkgconfig gtk-icon-cache + +SRC_URI = "svn://svn.o-hand.com/repos/dates/branches/private;module=omoko;proto=http \ + " + +S = "${WORKDIR}/omoko" + +EXTRA_OECONF = "--enable-omoko" + +do_install_append () { + install -d ${D}/${datadir}/pixmaps + install -m 0644 ${D}/${datadir}/icons/hicolor/48x48/apps/dates.png ${D}/${datadir}/pixmaps/ +} + +FILES_${PN} += "${datadir}/pixmaps/dates.png \ + ${datadir}/dates/" + diff --git a/packages/openmoko-tools/.mtn2git_empty b/packages/openmoko-tools/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/openmoko-tools/.mtn2git_empty diff --git a/packages/openmoko-tools/openmoko-chordmaster_svn.bb b/packages/openmoko-tools/openmoko-chordmaster_svn.bb new file mode 100644 index 0000000000..5dd6056239 --- /dev/null +++ b/packages/openmoko-tools/openmoko-chordmaster_svn.bb @@ -0,0 +1,6 @@ +DESCRIPTION = "A guitar chord database for OpenMoko" +SECTION = "openmoko/tools" +PV = "0.0.1+svn${SRCDATE}" + +inherit openmoko + diff --git a/packages/openocd/openocd-native_svn.bb b/packages/openocd/openocd-native_svn.bb new file mode 100644 index 0000000000..a1953dbac2 --- /dev/null +++ b/packages/openocd/openocd-native_svn.bb @@ -0,0 +1,11 @@ +require openocd_${PV}.bb + +inherit native + +DEPENDS = "libftdi-native" +EXTRA_OECONF = "--enable-ft2232_libftdi --enable-parport-ppdev" + +do_stage() { + install -m 0755 src/openocd ${STAGING_BINDIR} +} + diff --git a/packages/openocd/openocd_svn.bb b/packages/openocd/openocd_svn.bb index 3523cfce33..7df20d2b6b 100644 --- a/packages/openocd/openocd_svn.bb +++ b/packages/openocd/openocd_svn.bb @@ -1,14 +1,12 @@ -HOMEPAGE = "http://openocd.berlios.de/" DESCRIPTION = "Free and Open On-Chip Debugging, In-System Programming and Boundary-Scan Testing" +HOMEPAGE = "http://openocd.berlios.de/" LICENSE = "GPL" - PV = "0.0+svn${SRCDATE}" -inherit autotools - -SRC_URI = "svn://svn.berlios.de/;module=${PN}" +SRC_URI = "svn://svn.berlios.de/;module=openocd" -S = "${WORKDIR}/${PN}/trunk" -EXTRA_OECONF = " --disable-ftdi2232 --disable-ftd2xx" +S = "${WORKDIR}/openocd/trunk" +inherit autotools +EXTRA_OECONF = " --disable-ftdi2232 --disable-ftd2xx" diff --git a/packages/ossie/ossie-channeldemo_svn.bb b/packages/ossie/ossie-channeldemo_svn.bb index ddfab221de..c7b6ffebff 100644 --- a/packages/ossie/ossie-channeldemo_svn.bb +++ b/packages/ossie/ossie-channeldemo_svn.bb @@ -3,11 +3,10 @@ SECTION = "apps" PRIORITY = "optional" LICENSE = "GPL" PV = "0.0.0+svn${SRCDATE}" -PR = "r0" DEPENDS = "ossiecf" -S="${WORKDIR}/ChannelDemo" +S = "${WORKDIR}/ChannelDemo" SRC_URI = "svn://oe:oe@ossie-dev.mprg.org/repos/ossie/components/ChannelDemo/trunk;module=ChannelDemo;proto=https" diff --git a/packages/ossie/ossie-demo_svn.bb b/packages/ossie/ossie-demo_svn.bb index c83ec256e8..cef94f40a2 100644 --- a/packages/ossie/ossie-demo_svn.bb +++ b/packages/ossie/ossie-demo_svn.bb @@ -3,12 +3,11 @@ SECTION = "apps" PRIORITY = "optional" LICENSE = "GPL" PV = "0.0.0+svn${SRCDATE}" -PR = "r0" DEPENDS = "ossiecf ossie-channeldemo ossie-rxdemo" RDEPENDS = "ossie-channeldemo ossie-rxdemo" -S="${WORKDIR}/ossie_demo" +S = "${WORKDIR}/ossie_demo" SRC_URI = "svn://oe:oe@ossie-dev.mprg.org/repos/ossie/waveforms/ossie_demo/trunk;module=ossie_demo;proto=https" diff --git a/packages/ossie/ossie-gpp-device_svn.bb b/packages/ossie/ossie-gpp-device_svn.bb index f2a563624c..24099746b0 100644 --- a/packages/ossie/ossie-gpp-device_svn.bb +++ b/packages/ossie/ossie-gpp-device_svn.bb @@ -4,11 +4,10 @@ PRIORITY = "optional" MAINTAINER = "Philip Balister philip@balister.org" LICENSE = "GPL" PV = "0.0.0+svn${SRCDATE}" -PR = "r0" DEPENDS = "ossiecf" -S="${WORKDIR}/GPP" +S = "${WORKDIR}/GPP" SRC_URI = "svn://oe:oe@ossie-dev.mprg.org/repos/ossie/platform/GPP/trunk;module=GPP;proto=https" diff --git a/packages/ossie/ossie-interpolator_svn.bb b/packages/ossie/ossie-interpolator_svn.bb index 5efca0b229..24d641d0a2 100644 --- a/packages/ossie/ossie-interpolator_svn.bb +++ b/packages/ossie/ossie-interpolator_svn.bb @@ -3,11 +3,10 @@ SECTION = "apps" PRIORITY = "optional" LICENSE = "GPL" PV = "0.0.0+svn${SRCDATE}" -PR = "r0" DEPENDS = "ossiecf ossie-standardinterfaces ossie-sigproc" -S="${WORKDIR}/Interpolator" +S = "${WORKDIR}/Interpolator" SRC_URI = "svn://oe:oe@ossie-dev.mprg.org/repos/ossie/components/Interpolator/trunk;module=Interpolator;proto=https" diff --git a/packages/ossie/ossie-modulator_svn.bb b/packages/ossie/ossie-modulator_svn.bb index 4090b671d6..bead988782 100644 --- a/packages/ossie/ossie-modulator_svn.bb +++ b/packages/ossie/ossie-modulator_svn.bb @@ -3,11 +3,10 @@ SECTION = "apps" PRIORITY = "optional" LICENSE = "GPL" PV = "0.0.0+svn${SRCDATE}" -PR = "r0" DEPENDS = "ossiecf ossie-standardinterfaces ossie-sigproc" -S="${WORKDIR}/Modulator" +S = "${WORKDIR}/Modulator" SRC_URI = "svn://oe:oe@ossie-dev.mprg.org/repos/ossie/components/Modulator/trunk;module=Modulator;proto=https" diff --git a/packages/ossie/ossie-nodebooter_svn.bb b/packages/ossie/ossie-nodebooter_svn.bb index 0e4a4611d2..f37df3da74 100644 --- a/packages/ossie/ossie-nodebooter_svn.bb +++ b/packages/ossie/ossie-nodebooter_svn.bb @@ -3,11 +3,10 @@ SECTION = "apps" PRIORITY = "optional" LICENSE = "GPL" PV = "0.0.0+svn${SRCDATE}" -PR = "r0" DEPENDS = "ossiecf" -S="${WORKDIR}/nodebooter" +S = "${WORKDIR}/nodebooter" SRC_URI = "svn://oe:oe@ossie-dev.mprg.org/repos/ossie/platform/nodebooter/trunk;module=nodebooter;proto=https" diff --git a/packages/ossie/ossie-randombits_svn.bb b/packages/ossie/ossie-randombits_svn.bb index 7e9854641a..6f9185910a 100644 --- a/packages/ossie/ossie-randombits_svn.bb +++ b/packages/ossie/ossie-randombits_svn.bb @@ -3,12 +3,10 @@ SECTION = "apps" PRIORITY = "optional" LICENSE = "GPL" PV = "0.0.0+svn${SRCDATE}" -PR = "r0" DEPENDS = "ossiecf ossie-standardinterfaces ossie-sigproc" -S="${WORKDIR}/RandomBits" - +S = "${WORKDIR}/RandomBits" SRC_URI = "svn://oe:oe@ossie-dev.mprg.org/repos/ossie/components/RandomBits/trunk;module=RandomBits;proto=https" diff --git a/packages/ossie/ossie-rxdemo_svn.bb b/packages/ossie/ossie-rxdemo_svn.bb index 8a0d4355d9..2260cb9956 100644 --- a/packages/ossie/ossie-rxdemo_svn.bb +++ b/packages/ossie/ossie-rxdemo_svn.bb @@ -3,11 +3,10 @@ SECTION = "apps" PRIORITY = "optional" LICENSE = "GPL" PV = "0.0.0+svn${SRCDATE}" -PR = "r0" DEPENDS = "ossiecf" -S="${WORKDIR}/RxDemo" +S = "${WORKDIR}/RxDemo" SRC_URI = "svn://oe:oe@ossie-dev.mprg.org/repos/ossie/components/RxDemo/trunk;module=RxDemo;proto=https" diff --git a/packages/ossie/ossie-sigproc_svn.bb b/packages/ossie/ossie-sigproc_svn.bb index a8fa03052f..20fe0b6460 100644 --- a/packages/ossie/ossie-sigproc_svn.bb +++ b/packages/ossie/ossie-sigproc_svn.bb @@ -3,11 +3,10 @@ SECTION = "libs" PRIORITY = "optional" LICENSE = "LGPL" PV = "0.0.0+svn${SRCDATE}" -PR = "r0" DEPENDS = "ossiecf" -S="${WORKDIR}/SigProc" +S = "${WORKDIR}/SigProc" SRCDATE = "now" SRC_URI = "svn://oe:oe@ossie-dev.mprg.org/repos/ossie/SigProc/trunk;module=SigProc;proto=https" diff --git a/packages/ossie/ossie-soundout-device_svn.bb b/packages/ossie/ossie-soundout-device_svn.bb index 111a96f493..83daa5b013 100644 --- a/packages/ossie/ossie-soundout-device_svn.bb +++ b/packages/ossie/ossie-soundout-device_svn.bb @@ -4,11 +4,10 @@ PRIORITY = "optional" MAINTAINER = "Philip Balister philip@balister.org" LICENSE = "GPL" PV = "0.0.0+svn${SRCDATE}" -PR = "r0" DEPENDS = "alsa-lib ossiecf ossie-standardinterfaces" -S="${WORKDIR}/Sound_out" +S = "${WORKDIR}/Sound_out" SRC_URI = "svn://oe:oe@ossie-dev.mprg.org/repos/ossie/platform/Sound_out/trunk;module=Sound_out;proto=https" diff --git a/packages/ossie/ossie-standardinterfaces_svn.bb b/packages/ossie/ossie-standardinterfaces_svn.bb index c00bcd5c6b..44e2f3899e 100644 --- a/packages/ossie/ossie-standardinterfaces_svn.bb +++ b/packages/ossie/ossie-standardinterfaces_svn.bb @@ -3,11 +3,10 @@ SECTION = "libs" PRIORITY = "optional" LICENSE = "LGPL" PV = "0.0.0+svn${SRCDATE}" -PR = "r0" DEPENDS = "ossiecf" -S="${WORKDIR}/standardInterfaces" +S = "${WORKDIR}/standardInterfaces" SRCDATE = "now" SRC_URI = "svn://ossie-dev.mprg.org/repos/ossie/standardInterfaces/trunk;module=standardInterfaces;proto=https" diff --git a/packages/ossie/ossie-tx-random-data_svn.bb b/packages/ossie/ossie-tx-random-data_svn.bb index 89ffe27a84..744e505679 100644 --- a/packages/ossie/ossie-tx-random-data_svn.bb +++ b/packages/ossie/ossie-tx-random-data_svn.bb @@ -3,12 +3,11 @@ SECTION = "apps" PRIORITY = "optional" LICENSE = "GPL" PV = "0.0.0+svn${SRCDATE}" -PR = "r0" DEPENDS = "ossiecf ossie-randombits ossie-modulator ossie-interpolator ossie-usrp-tx-control ossie-usrp-device ossie-gpp-device" RDEPENDS = "ossie-randombits ossie-modulator ossie-interpolator ossie-usrp-tx-control ossie-usrp-device ossie-gpp-device" -S="${WORKDIR}/TX_Random_data" +S = "${WORKDIR}/TX_Random_data" SRC_URI = "svn://oe:oe@ossie-dev.mprg.org/repos/ossie/waveforms/TX_Random_data/trunk;module=TX_Random_data;proto=https" diff --git a/packages/ossie/ossie-usrp-device_svn.bb b/packages/ossie/ossie-usrp-device_svn.bb index 3f29c2c4f2..e28996ce15 100644 --- a/packages/ossie/ossie-usrp-device_svn.bb +++ b/packages/ossie/ossie-usrp-device_svn.bb @@ -4,11 +4,10 @@ PRIORITY = "optional" MAINTAINER = "Philip Balister philip@balister.org" LICENSE = "GPL" PV = "0.0.0+svn${SRCDATE}" -PR = "r0" DEPENDS = "ossiecf usrp ossie-standardinterfaces" -S="${WORKDIR}/USRP" +S = "${WORKDIR}/USRP" SRC_URI = "svn://oe:oe@ossie-dev.mprg.org/repos/ossie/platform/USRP/trunk;module=USRP;proto=https" diff --git a/packages/ossie/ossie-usrp-tx-control_svn.bb b/packages/ossie/ossie-usrp-tx-control_svn.bb index c3af96c2a3..0171b2d9f2 100644 --- a/packages/ossie/ossie-usrp-tx-control_svn.bb +++ b/packages/ossie/ossie-usrp-tx-control_svn.bb @@ -3,11 +3,10 @@ SECTION = "apps" PRIORITY = "optional" LICENSE = "GPL" PV = "0.0.0+svn${SRCDATE}" -PR = "r0" DEPENDS = "ossiecf ossie-standardinterfaces" -S="${WORKDIR}/USRP_TX_Control" +S = "${WORKDIR}/USRP_TX_Control" SRC_URI = "svn://oe:oe@ossie-dev.mprg.org/repos/ossie/waveforms/USRP_TX_Control/trunk;module=USRP_TX_Control;proto=https" diff --git a/packages/ossie/ossiecf_svn.bb b/packages/ossie/ossiecf_svn.bb index 2c7b27ef7c..35bf7523f0 100644 --- a/packages/ossie/ossiecf_svn.bb +++ b/packages/ossie/ossiecf_svn.bb @@ -4,9 +4,8 @@ PRIORITY = "optional" LICENSE = "LGPL" DEPENDS = "xerces-c omniorb libtool-cross" PV = "0.0.0+svn${SRCDATE}" -PR = "r0" -S="${WORKDIR}/ossie" +S = "${WORKDIR}/ossie" SRC_URI = "svn://oe:oe@ossie-dev.mprg.org/repos/ossie/ossie/trunk;module=ossie;proto=https" diff --git a/packages/pam/libpam_0.79.bb b/packages/pam/libpam_0.79.bb index c19d0ff9c8..14dab423f8 100644 --- a/packages/pam/libpam_0.79.bb +++ b/packages/pam/libpam_0.79.bb @@ -17,7 +17,7 @@ Administrators' Guide." HOMEPAGE = "http://www.kernel.org/pub/linux/libs/pam" SECTION = "libs" PRIORITY = "optional" -LICENSE = "GPL-2" +LICENSE = "GPLv2" PR = "r1" # The project is actually called Linux-PAM but that gives diff --git a/packages/pciutils/pciutils-2.2.4/configure-uclibc.patch b/packages/pciutils/pciutils-2.2.4/configure-uclibc.patch new file mode 100644 index 0000000000..0e6e774f91 --- /dev/null +++ b/packages/pciutils/pciutils-2.2.4/configure-uclibc.patch @@ -0,0 +1,14 @@ +--- /lib/orig-configure 2007-02-13 16:36:54.000000000 +0200 ++++ /lib/configure 2007-02-13 16:37:33.000000000 +0200 +@@ -39,6 +39,11 @@ + sys=linux + fi + ++if [ "$host" = "linux--uclibc" ] ++then ++ sys=linux ++fi ++ + c=config.h + m=config.mk + echo >$c "#define PCI_ARCH_`echo $cpu | tr 'a-z' 'A-Z'`" diff --git a/packages/pciutils/pciutils_2.2.4.bb b/packages/pciutils/pciutils_2.2.4.bb index 57d9e2089f..0cd335eb32 100644 --- a/packages/pciutils/pciutils_2.2.4.bb +++ b/packages/pciutils/pciutils_2.2.4.bb @@ -6,12 +6,15 @@ HOMEPAGE = "http://atrey.karlin.mff.cuni.cz/~mj/pciutils.shtml" LICENSE = "GPLv2" DEPENDS = "zlib" -SRC_URI = "${KERNELORG_MIRROR}/pub/software/utils/pciutils/pciutils-${PV}.tar.bz2 \ +SRC_URI = "ftp://ftp.kernel.org/pub/software/utils/pciutils/pciutils-${PV}.tar.bz2 \ file://configure.patch;patch=1 \ + file://configure-uclibc.patch;patch=1 \ file://pcimodules-pciutils.diff;patch=1" PARALLEL_MAKE = "" +PR="r1" + do_configure () { (cd lib && ./configure ${datadir} ${PV} ${TARGET_OS} 2.4.21 ${TARGET_ARCH}) } diff --git a/packages/poptop/poptop_1.3.0.bb b/packages/poptop/poptop_1.3.0.bb index 0ad4588ac4..da7ebe6a24 100644 --- a/packages/poptop/poptop_1.3.0.bb +++ b/packages/poptop/poptop_1.3.0.bb @@ -6,7 +6,7 @@ For more info visit http://www.poptop.org/" HOMEPAGE = "http://www.poptop.org/" LICENSE = "GPL" -SECTION = "network" +SECTION = "network" PRIORITY = "optional" DEPENDS = "ppp" RDEPENDS = "ppp" diff --git a/packages/pptp-linux/pptp-linux_1.5.0.bb b/packages/pptp-linux/pptp-linux_1.5.0.bb index 7fdcd4d316..68551443fa 100644 --- a/packages/pptp-linux/pptp-linux_1.5.0.bb +++ b/packages/pptp-linux/pptp-linux_1.5.0.bb @@ -4,7 +4,7 @@ Tunneling Protocol, PPTP. Allows connection to a PPTP based \ Virtual Private Network (VPN) as used by employers and some \ cable and ADSL internet service providers." LICENSE = "GPL" -SECTION = "network" +SECTION = "network" PRIORITY = "optional" DEPENDS = "ppp " diff --git a/packages/qpe-games/hexatrolic_1.0beta3.bb b/packages/qpe-games/hexatrolic_1.0beta3.bb index 123810cfef..241693504e 100644 --- a/packages/qpe-games/hexatrolic_1.0beta3.bb +++ b/packages/qpe-games/hexatrolic_1.0beta3.bb @@ -1,5 +1,5 @@ DESCRIPTION = "Hexatrolic a Ball Game" -SECTION = "opie/games" +SECTION = "opie/games" PRIORITY = "optional" LICENSE = "GPL" AUTHOR = "Helge Plehn" diff --git a/packages/qpe-games/labyrinth_0.7.bb b/packages/qpe-games/labyrinth_0.7.bb index 9075b010eb..f6e9299b3d 100644 --- a/packages/qpe-games/labyrinth_0.7.bb +++ b/packages/qpe-games/labyrinth_0.7.bb @@ -1,5 +1,5 @@ DESCRIPTION = "A traditional (german?) boardgame" -SECTION = "opie/games" +SECTION = "opie/games" PRIORITY = "optional" LICENSE = "GPL" AUTHOR = "Helge Plehn" diff --git a/packages/qpf-fonts/terminus.bb b/packages/qpf-fonts/terminus.bb index 23c00e1ac2..6d2e4ab85f 100644 --- a/packages/qpf-fonts/terminus.bb +++ b/packages/qpf-fonts/terminus.bb @@ -6,7 +6,8 @@ LICENSE = "GPL" PACKAGE_ARCH = "all" PR = "r2" -SRC_URI = "http://www.mn-solutions.de/downloads/mnci/terminus-fonts.tar.bz2" +#SRC_URI = "http://www.mn-solutions.de/downloads/mnci/terminus-fonts.tar.bz2" -> 404 error +SRC_URI = "http://openzaurus.linuxtogo.org/download/3.5.4/sources/terminus-fonts.tar.bz2" S = "${WORKDIR}/terminus-fonts" do_install() { diff --git a/packages/radlib/radlib-common.inc b/packages/radlib/radlib-common.inc index bb289bf74a..1eb9bc0d5f 100644 --- a/packages/radlib/radlib-common.inc +++ b/packages/radlib/radlib-common.inc @@ -1,7 +1,7 @@ -SECTION = "libs" -LICENSE = "BSD" DESCRIPTION = "radlib is a rapid application development library for unix interprocess communications, sockets, SHA utilities, CRC utilities and much more." HOMEPAGE = "http://www.radlib.teel.ws/" +SECTION = "libs" +LICENSE = "BSD" SRC_URI = "${SOURCEFORGE_MIRROR}/radlib/radlib-${PV}.tar.gz \ file://Makefile.am.patch;patch=1" @@ -17,32 +17,32 @@ do_compile_prepend() { rm -f ${STAGING_LIBDIR}/librad.so.0.0.0 } -headers = "radbuffers.h \ - radconffile.h \ - radcrc.h \ - raddebug.h \ - radevents.h \ - radlist.h \ - radmsgLog.h \ - radmsgRouter.h \ - radprocess.h \ - radproclist.h \ - radprocutils.h \ - radqueue.h \ - radsemaphores.h \ - radsha.h \ - radshmem.h \ - radsocket.h \ - radsortlist.h \ - radstack.h \ - radstates.h \ - radsysdefs.h \ - radsystem.h \ - radsysutils.h \ - radtimers.h \ - radtimeUtils.h \ - raddatabase.h \ - radUDPsocket.h" +headers = "radbuffers.h \ + radconffile.h \ + radcrc.h \ + raddebug.h \ + radevents.h \ + radlist.h \ + radmsgLog.h \ + radmsgRouter.h \ + radprocess.h \ + radproclist.h \ + radprocutils.h \ + radqueue.h \ + radsemaphores.h \ + radsha.h \ + radshmem.h \ + radsocket.h \ + radsortlist.h \ + radstack.h \ + radstates.h \ + radsysdefs.h \ + radsystem.h \ + radsysutils.h \ + radtimers.h \ + radtimeUtils.h \ + raddatabase.h \ + radUDPsocket.h" do_stage () { cd ${S}/src/.libs diff --git a/packages/reiser4progs/reiser4progs_1.0.4.bb b/packages/reiser4progs/reiser4progs_1.0.4.bb index 8185b8df89..c54b2f1ba4 100644 --- a/packages/reiser4progs/reiser4progs_1.0.4.bb +++ b/packages/reiser4progs/reiser4progs_1.0.4.bb @@ -5,7 +5,7 @@ PR = "r1" DESCRIPTION = "User-level tools for Reiser4 filesystems" HOMEPAGE = "http://www.namesys.com" SECTION = "base" -LICENSE = "GPL-2" +LICENSE = "GPLv2" SRC_URI = "ftp://ftp.namesys.com/pub/${PN}/old-versions/${P}.tar.gz \ file://oid40.c.patch;patch=1 \ diff --git a/packages/s3c2410-utils/.mtn2git_empty b/packages/s3c2410-utils/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/s3c2410-utils/.mtn2git_empty diff --git a/packages/s3c2410-utils/files/.mtn2git_empty b/packages/s3c2410-utils/files/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/s3c2410-utils/files/.mtn2git_empty diff --git a/packages/s3c2410-utils/files/s3c2410_boot_usb-20060807.tar.bz2 b/packages/s3c2410-utils/files/s3c2410_boot_usb-20060807.tar.bz2 Binary files differnew file mode 100644 index 0000000000..8ddb3cc83d --- /dev/null +++ b/packages/s3c2410-utils/files/s3c2410_boot_usb-20060807.tar.bz2 diff --git a/packages/s3c2410-utils/files/sjf2410-linux-20060807.tar.bz2 b/packages/s3c2410-utils/files/sjf2410-linux-20060807.tar.bz2 Binary files differnew file mode 100644 index 0000000000..3458364699 --- /dev/null +++ b/packages/s3c2410-utils/files/sjf2410-linux-20060807.tar.bz2 diff --git a/packages/s3c2410-utils/s3c2410-boot-usb-native_20060807.bb b/packages/s3c2410-utils/s3c2410-boot-usb-native_20060807.bb new file mode 100644 index 0000000000..ee8534dc01 --- /dev/null +++ b/packages/s3c2410-utils/s3c2410-boot-usb-native_20060807.bb @@ -0,0 +1,31 @@ +DESCRIPTION = "Boots a S3C2410 device with a user supplied kernel zImage" +DEPENDS = "libusb-native" +SECTION = "devel" +AUTHOR = "Harald Welte" +MAINTAINER = "Michael 'Mickey' Lauer <mickey@Vanille.de>" +LICENSE = "GPL" +PR = "r0" + +SRC_URI = "file://s3c2410_boot_usb-20060807.tar.bz2" +S = "${WORKDIR}/s3c2410_boot_usb" + +inherit native + +do_compile() { + ${CC} ${CFLAGS} ${LDFLAGS} -lusb -o s3c2410-boot-usb boot_usb.c +} + +do_deploy() { + install -d ${DEPLOY_DIR_IMAGE} + install -m 0755 s3c2410-boot-usb ${DEPLOY_DIR_IMAGE} +} + +do_stage() { + : +} + +do_install() { + : +} + +addtask deploy before do_build after do_compile diff --git a/packages/s3c2410-utils/s3c2410-boot-usb-native_svn.bb b/packages/s3c2410-utils/s3c2410-boot-usb-native_svn.bb new file mode 100644 index 0000000000..c7b89647f5 --- /dev/null +++ b/packages/s3c2410-utils/s3c2410-boot-usb-native_svn.bb @@ -0,0 +1,31 @@ +DESCRIPTION = "Boots a S3C2410 device with a user supplied kernel zImage" +DEPENDS = "libusb-native" +SECTION = "devel" +AUTHOR = "Harald Welte" +LICENSE = "GPL" +PV = "0.1.0+svn${SRCDATE}" +PR = "r0" + +SRC_URI = "svn://svn.openmoko.org/trunk/src/host/;module=s3c2410_boot_usb;proto=https" +S = "${WORKDIR}/s3c2410_boot_usb" + +inherit native + +do_compile() { + ${CC} ${CFLAGS} ${LDFLAGS} -lusb -o s3c2410-boot-usb boot_usb.c +} + +do_deploy() { + install -d ${DEPLOY_DIR_IMAGE} + install -m 0755 s3c2410-boot-usb ${DEPLOY_DIR_IMAGE} +} + +do_stage() { + : +} + +do_install() { + : +} + +addtask deploy before do_build after do_compile diff --git a/packages/s3c2410-utils/sjf2410-linux-native_20060807.bb b/packages/s3c2410-utils/sjf2410-linux-native_20060807.bb new file mode 100644 index 0000000000..70cc6c7424 --- /dev/null +++ b/packages/s3c2410-utils/sjf2410-linux-native_20060807.bb @@ -0,0 +1,32 @@ +DESCRIPTION = "Jtag utility to interface w/ a S3C2410 device" +SECTION = "devel" +AUTHOR = "Harald Welte" +MAINTAINER = "Michael 'Mickey' Lauer <mickey@Vanille.de>" +LICENSE = "GPL" +PR = "r1" + +SRC_URI = "file://sjf2410-linux-20060807.tar.bz2" +S = "${WORKDIR}/sjf2410-linux" + +inherit native + +CFLAGS += "-DLINUX_PPDEV" + +do_compile() { + oe_runmake +} + +do_deploy() { + install -d ${DEPLOY_DIR_IMAGE} + install -m 0755 sjf2410 ${DEPLOY_DIR_IMAGE}/sjf2410 +} + +do_stage() { + : +} + +do_install() { + : +} + +addtask deploy before do_build after do_compile diff --git a/packages/s3c2410-utils/sjf2410-linux-native_svn.bb b/packages/s3c2410-utils/sjf2410-linux-native_svn.bb new file mode 100644 index 0000000000..55176029ab --- /dev/null +++ b/packages/s3c2410-utils/sjf2410-linux-native_svn.bb @@ -0,0 +1,32 @@ +DESCRIPTION = "JTAG utility to interface w/ a S3C2410 device" +SECTION = "devel" +AUTHOR = "Harald Welte" +LICENSE = "GPL" +PV = "0.1+svn${SRCDATE}" +PR = "r0" + +SRC_URI = "svn://svn.openmoko.org/trunk/src/host/;module=sjf2410-linux;proto=https" +S = "${WORKDIR}/sjf2410-linux" + +inherit native + +CFLAGS += "-DLINUX_PPDEV" + +do_compile() { + oe_runmake +} + +do_deploy() { + install -d ${DEPLOY_DIR_IMAGE} + install -m 0755 sjf2410 ${DEPLOY_DIR_IMAGE}/sjf2410 +} + +do_stage() { + : +} + +do_install() { + : +} + +addtask deploy before do_build after do_compile diff --git a/packages/shared-mime-info/shared-mime-info_0.16.bb b/packages/shared-mime-info/shared-mime-info_0.20.bb index fe68d3167d..60993adcc2 100644 --- a/packages/shared-mime-info/shared-mime-info_0.16.bb +++ b/packages/shared-mime-info/shared-mime-info_0.20.bb @@ -1,17 +1,17 @@ SECTION = "base" -PR = "r1" - +LICENSE = "GPL" DEPENDS = "libxml2 intltool-native" +PR = "r0" -SRC_URI = "http://freedesktop.org/~jrb/shared-mime-info-${PV}.tar.gz" -LICENSE = "GPL" -inherit autotools pkgconfig gettext +SRC_URI = "http://freedesktop.org/~hadess/shared-mime-info-${PV}.tar.bz2" -FILES_${PN} += "${datadir}/mime" -#FILES_${PN}-doc += " ${datadir}/gtk-doc" +inherit autotools pkgconfig gettext EXTRA_OECONF = "--disable-update-mimedb" +FILES_${PN} += "${datadir}/mime" +FILES_${PN}-dev += "${datadir}/pkgconfig/shared-mime-info.pc" + pkg_postinst () { echo "Updating MIME database... this may take a while." ${bindir}/update-mime-database ${datadir}/mime diff --git a/packages/slugos-init/slugos-init_0.10.bb b/packages/slugos-init/slugos-init_0.10.bb index b75511ec67..0e32c06b34 100644 --- a/packages/slugos-init/slugos-init_0.10.bb +++ b/packages/slugos-init/slugos-init_0.10.bb @@ -4,7 +4,7 @@ PRIORITY = "required" LICENSE = "GPL" DEPENDS = "base-files devio" RDEPENDS = "busybox devio" -PR = "r77" +PR = "r78" SRC_URI = "file://boot/flash \ file://boot/disk \ @@ -29,7 +29,6 @@ SRC_URI = "file://boot/flash \ file://leds \ file://turnup \ file://reflash \ - file://links.conf \ " SBINPROGS = "" @@ -97,10 +96,6 @@ do_install() { done # - # Udev configuration files - install -m 0644 links.conf ${D}${sysconfdir}/udev - - # # Boot scripts for p in ${BOOTSCRIPTS} do diff --git a/packages/sqlite/sqlite3-3.3.12/.mtn2git_empty b/packages/sqlite/sqlite3-3.3.12/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/sqlite/sqlite3-3.3.12/.mtn2git_empty diff --git a/packages/sqlite/sqlite3-3.3.7/cross-compile.patch b/packages/sqlite/sqlite3-3.3.12/cross-compile.patch index 31d4f0d162..31d4f0d162 100644 --- a/packages/sqlite/sqlite3-3.3.7/cross-compile.patch +++ b/packages/sqlite/sqlite3-3.3.12/cross-compile.patch diff --git a/packages/sqlite/sqlite3-3.3.9/ldflags.patch b/packages/sqlite/sqlite3-3.3.12/ldflags.patch index fb78ab9d87..fb78ab9d87 100644 --- a/packages/sqlite/sqlite3-3.3.9/ldflags.patch +++ b/packages/sqlite/sqlite3-3.3.12/ldflags.patch diff --git a/packages/sqlite/sqlite3-3.3.7/libtool.patch b/packages/sqlite/sqlite3-3.3.12/libtool.patch index ccf9993ed2..ccf9993ed2 100644 --- a/packages/sqlite/sqlite3-3.3.7/libtool.patch +++ b/packages/sqlite/sqlite3-3.3.12/libtool.patch diff --git a/packages/sqlite/sqlite3-3.3.7/ldflags.patch b/packages/sqlite/sqlite3-3.3.7/ldflags.patch deleted file mode 100644 index ee5105ffff..0000000000 --- a/packages/sqlite/sqlite3-3.3.7/ldflags.patch +++ /dev/null @@ -1,67 +0,0 @@ ---- sqlite-3.3.7/Makefile.in.orig 2006-08-20 23:05:36.000000000 +0200 -+++ sqlite-3.3.7/Makefile.in 2006-08-20 23:42:49.000000000 +0200 -@@ -31,6 +31,10 @@ - # - TCC = @TARGET_CC@ @TARGET_CFLAGS@ -I. -I${TOP}/src - -+# OE overrides -+# -+TARGET_LFLAGS = @TARGET_LFLAGS@ -+ - # Define -DNDEBUG to compile without debugging (i.e., for production usage) - # Omitting the define will cause extra debugging code to be inserted and - # includes extra comments when "EXPLAIN stmt" is used. -@@ -257,17 +261,17 @@ - | $(NAWK) '{print $$5,$$6}' >last_change - - libsqlite3.la: $(LIBOBJ) -- $(LTLINK) -o libsqlite3.la $(LIBOBJ) $(LIBPTHREAD) \ -+ $(LTLINK) -o libsqlite3.la $(LIBOBJ) $(TARGET_LFLAGS) $(LIBPTHREAD) \ - ${ALLOWRELEASE} -rpath $(libdir) -version-info "8:6:8" - - libtclsqlite3.la: tclsqlite.lo libsqlite3.la - $(LTLINK) -o libtclsqlite3.la tclsqlite.lo \ -- $(LIBOBJ) @TCL_STUB_LIB_SPEC@ $(LIBPTHREAD) \ -+ $(LIBOBJ) @TCL_STUB_LIB_SPEC@ $(TARGET_LFLAGS) $(LIBPTHREAD) \ - -rpath $(libdir)/sqlite \ - -version-info "8:6:8" - - sqlite3$(TEXE): $(TOP)/src/shell.c libsqlite3.la sqlite3.h -- $(LTLINK) $(READLINE_FLAGS) $(LIBPTHREAD) \ -+ $(LTLINK) $(TARGET_LFLAGS) $(READLINE_FLAGS) $(LIBPTHREAD) \ - -o $@ $(TOP)/src/shell.c libsqlite3.la \ - $(LIBREADLINE) $(TLIBS) - -@@ -456,12 +460,12 @@ - - tclsqlite3: tclsqlite-shell.lo libsqlite3.la - $(LTLINK) -o tclsqlite3 tclsqlite-shell.lo \ -- libsqlite3.la $(LIBTCL) -+ libsqlite3.la $(TARGET_LFLAGS) $(LIBTCL) - - testfixture$(TEXE): $(TOP)/src/tclsqlite.c libsqlite3.la $(TESTSRC) - $(LTLINK) -DTCLSH=1 -DSQLITE_TEST=1 -DSQLITE_CRASH_TEST=1 \ - $(TEMP_STORE) -o testfixture $(TESTSRC) $(TOP)/src/tclsqlite.c \ -- libsqlite3.la $(LIBTCL) -+ libsqlite3.la $(TARGET_LFLAGS) $(LIBTCL) - - - fulltest: testfixture$(TEXE) sqlite3$(TEXE) -@@ -471,7 +475,7 @@ - ./testfixture $(TOP)/test/quick.test - - sqlite3_analyzer$(TEXE): $(TOP)/src/tclsqlite.c libtclsqlite3.la \ -- $(TESTSRC) $(TOP)/tool/spaceanal.tcl -+ $(TARGET_LFLAGS) $(TESTSRC) $(TOP)/tool/spaceanal.tcl - sed \ - -e '/^#/d' \ - -e 's,\\,\\\\,g' \ -@@ -481,7 +485,7 @@ - $(TOP)/tool/spaceanal.tcl >spaceanal_tcl.h - $(LTLINK) -DTCLSH=2 -DSQLITE_TEST=1 $(TEMP_STORE)\ - -o sqlite3_analyzer$(EXE) $(TESTSRC) $(TOP)/src/tclsqlite.c \ -- libtclsqlite3.la $(LIBTCL) -+ libtclsqlite3.la $(TARGET_LFLAGS) $(LIBTCL) - - # Rules used to build documentation - # diff --git a/packages/sqlite/sqlite3-3.3.9/cross-compile.patch b/packages/sqlite/sqlite3-3.3.9/cross-compile.patch deleted file mode 100644 index 31d4f0d162..0000000000 --- a/packages/sqlite/sqlite3-3.3.9/cross-compile.patch +++ /dev/null @@ -1,92 +0,0 @@ ---- sqlite-3.3.7/configure.ac.orig 2006-08-21 00:20:50.000000000 +0200 -+++ sqlite-3.3.7/configure.ac 2006-08-21 00:22:35.000000000 +0200 -@@ -187,10 +187,11 @@ - default_build_cflags="-g" - if test "$config_BUILD_CC" = ""; then - AC_PROG_CC -- if test "$cross_compiling" = "yes"; then -- AC_MSG_ERROR([unable to find a compiler for building build tools]) -- fi -- BUILD_CC=$CC -+# if test "$cross_compiling" = "yes"; then -+# AC_MSG_ERROR([unable to find a compiler for building build tools]) -+# fi -+# BUILD_CC=$CC -+BUILD_CC=gcc - default_build_cflags=$CFLAGS - else - BUILD_CC=$config_BUILD_CC -@@ -238,6 +239,12 @@ - TARGET_LINK=$config_TARGET_LINK - fi - AC_MSG_RESULT($TARGET_LINK) -+if test "$config_TARGET_LFLAGS" != ""; then -+ TARGET_LFLAGS=$config_TARGET_LFLAGS -+ else -+ TARGET_LFLAGS=$BUILD_LFLAGS -+ fi -+AC_MSG_RESULT($TARGET_LFLAGS) - AC_MSG_CHECKING([switches on the target compiler]) - if test "$config_TARGET_TFLAGS" != ""; then - TARGET_TFLAGS=$config_TARGET_TFLAGS -@@ -592,15 +599,7 @@ - # Figure out what C libraries are required to compile programs - # that use "readline()" library. - # --if test "$config_TARGET_READLINE_LIBS" != ""; then -- TARGET_READLINE_LIBS="$config_TARGET_READLINE_LIBS" --else -- CC=$TARGET_CC -- LIBS="" -- AC_SEARCH_LIBS(tgetent, [readline ncurses curses termcap]) -- AC_CHECK_LIB([readline], [readline]) -- TARGET_READLINE_LIBS="$LIBS" --fi -+TARGET_READLINE_LIBS="-lreadline" - AC_SUBST(TARGET_READLINE_LIBS) - - ########## -@@ -615,41 +614,8 @@ - ########## - # Figure out where to get the READLINE header files. - # --AC_MSG_CHECKING([readline header files]) --found=no --if test "$config_TARGET_READLINE_INC" != ""; then -- TARGET_READLINE_INC=$config_TARGET_READLINE_INC -- found=yes --fi --if test "$found" = "yes"; then -- AC_MSG_RESULT($TARGET_READLINE_INC) --else -- AC_MSG_RESULT(not specified: still searching...) -- AC_CHECK_HEADER(readline.h, [found=yes]) --fi --if test "$found" = "no"; then -- for dir in /usr /usr/local /usr/local/readline /usr/contrib /mingw; do -- AC_CHECK_FILE($dir/include/readline.h, found=yes) -- if test "$found" = "yes"; then -- TARGET_READLINE_INC="-I$dir/include" -- break -- fi -- AC_CHECK_FILE($dir/include/readline/readline.h, found=yes) -- if test "$found" = "yes"; then -- TARGET_READLINE_INC="-I$dir/include/readline" -- break -- fi -- done --fi --if test "$found" = "yes"; then -- if test "$TARGET_READLINE_LIBS" = ""; then -- TARGET_HAVE_READLINE=0 -- else -- TARGET_HAVE_READLINE=1 -- fi --else -- TARGET_HAVE_READLINE=0 --fi -+TARGET_READLINE_INC="" -+TARGET_HAVE_READLINE=1 - AC_SUBST(TARGET_READLINE_INC) - AC_SUBST(TARGET_HAVE_READLINE) - diff --git a/packages/sqlite/sqlite3-3.3.9/libtool.patch b/packages/sqlite/sqlite3-3.3.9/libtool.patch deleted file mode 100644 index ccf9993ed2..0000000000 --- a/packages/sqlite/sqlite3-3.3.9/libtool.patch +++ /dev/null @@ -1,25 +0,0 @@ -Index: sqlite-3.2.1/Makefile.in -=================================================================== ---- sqlite-3.2.1.orig/Makefile.in 2005-03-23 17:09:39.000000000 +0100 -+++ sqlite-3.2.1/Makefile.in 2005-04-25 23:11:20.000000000 +0200 -@@ -15,7 +15,10 @@ - # The toplevel directory of the source tree. This is the directory - # that contains this "Makefile.in" and the "configure.in" script. - # --TOP = @srcdir@ -+TOP = $(srcdir) -+srcdir = @srcdir@ -+top_srcdir = @top_srcdir@ -+top_builddir = . - - # C Compiler and options for use in building executables that - # will run on the platform that is doing the build. -@@ -96,7 +99,7 @@ - exec_prefix = @exec_prefix@ - libdir = @libdir@ - INSTALL = @INSTALL@ --LIBTOOL = ./libtool -+LIBTOOL = @LIBTOOL@ - ALLOWRELEASE = @ALLOWRELEASE@ - - # libtool compile/link/install diff --git a/packages/sqlite/sqlite3_3.3.7.bb b/packages/sqlite/sqlite3_3.3.12.bb index d21fb6ad3e..59c13ee01f 100644 --- a/packages/sqlite/sqlite3_3.3.7.bb +++ b/packages/sqlite/sqlite3_3.3.12.bb @@ -1,2 +1,2 @@ require sqlite3.inc -PR = "r2" +PR = "r0" diff --git a/packages/sqlite/sqlite3_3.3.9.bb b/packages/sqlite/sqlite3_3.3.9.bb deleted file mode 100644 index d21fb6ad3e..0000000000 --- a/packages/sqlite/sqlite3_3.3.9.bb +++ /dev/null @@ -1,2 +0,0 @@ -require sqlite3.inc -PR = "r2" diff --git a/packages/suspend-desktop/suspend-desktop_1.0.bb b/packages/suspend-desktop/suspend-desktop_1.0.bb index ba74337116..fa9efba84b 100644 --- a/packages/suspend-desktop/suspend-desktop_1.0.bb +++ b/packages/suspend-desktop/suspend-desktop_1.0.bb @@ -1,4 +1,4 @@ -SECTION = "gpe" +SECTION = "gpe" PRIORITY = "optional" DESCRIPTION = "Suspend feature for the application launcher menu." LICENSE = "GPL" diff --git a/packages/tasks/task-openmoko.bb b/packages/tasks/task-openmoko.bb new file mode 100644 index 0000000000..7400fc679e --- /dev/null +++ b/packages/tasks/task-openmoko.bb @@ -0,0 +1,248 @@ +DESCRIPTION = "OpenMoko: Tasks for the OpenMoko Linux Distribution" +SECTION = "openmoko/base" +ALLOW_EMPTY = "1" +PACKAGE_ARCH = "all" +LICENSE = "MIT" +PROVIDES = "task-openmoko-everything" + +PR = "r26" + +PACKAGES = "\ + task-openmoko-linux \ + task-openmoko-ui \ + task-openmoko-base \ + task-openmoko-phone \ + task-openmoko-finger \ + task-openmoko-pim \ + task-openmoko-net \ + \ + task-openmoko-demo \ + task-openmoko-examples \ + task-openmoko-debug \ + task-openmoko-native-sdk \ +" + +RDEPENDS_task-openmoko-everything := "${PACKAGES}" + +# +# task-openmoko-core +# +DESCRIPTION_task-openmoko-linux = "OpenMoko: Linux Core Services" +RDEPENDS_task-openmoko-linux = "\ + task-base \ + base-files \ + base-passwd \ + busybox \ + dropbear \ + fuser \ + initscripts \ + netbase \ + sysfsutils \ + setserial \ + sysvinit \ + sysvinit-pidof \ + tinylogin \ + modutils-initscripts \ + module-init-tools-depmod \ + udev \ + rsync \ +# update-alternatives \ +" + +# +# task-openmoko-base +# +DESCRIPTION_task-openmoko-base = "OpenMoko: Main-Menu Launcher, and Panel" +RDEPENDS_task-openmoko-base = "\ +" + +# +# task-openmoko-phone +# +DESCRIPTION_task-openmoko-phone = "OpenMoko: GSM Phone Services" +RDEPENDS_task-openmoko-phone = "\ + gsmd \ + libgsmd-tools \ + openmoko-dialer \ +" + +# +# task-openmoko-ui +# +DESCRIPTION_task-openmoko-ui = "OpenMoko: The X11/Gtk+2 based native User Interface" +RDEPENDS_task-openmoko-ui = "\ + gdk-pixbuf-loader-png \ + gdk-pixbuf-loader-gif \ + gdk-pixbuf-loader-xpm \ + gdk-pixbuf-loader-jpeg \ + pango-module-basic-x \ + pango-module-basic-fc \ + gtk+ \ + matchbox-common \ + matchbox-wm \ + matchbox-panel-2 \ + xserver-kdrive-fbdev \ + xserver-kdrive-common \ + xserver-nodm-init \ + ttf-bitstream-vera \ + xauth \ + xhost \ + xset \ + xrandr \ + openmoko-common \ + openmoko-session \ + openmoko-theme-standard \ +# psplash \ +" + +# +# task-openmoko-base +# +DESCRIPTION_task-openmoko-base = "OpenMoko: Main-Menu Launcher, Top Panel, and Footer" +RDEPENDS_task-openmoko-base = "\ + openmoko-mainmenu \ + matchbox-panel-2 \ + openmoko-footer \ + openmoko-taskmanager \ + openmoko-panel-mainmenu \ +" + +# +# task-openmoko-phone +# +DESCRIPTION_task-openmoko-phone = "OpenMoko: GSM and GPRS Phone Services" +RDEPENDS_task-openmoko-phone = "\ + gsmd \ + libgsmd-tools \ + openmoko-dialer \ + openmoko-panel-gsm \ +# ppp \ +" + +# +# task-openmoko-finger +# +DESCRIPTION_task-openmoko-finger = "OpenMoko: Finger UI Applications" +RDEPENDS_task-openmoko-finger = "\ +" + +# +# task-openmoko-pim +# +DESCRIPTION_task-openmoko-pim = "OpenMoko: PIM Applications" +RDEPENDS_task-openmoko-pim = "\ + eds-dbus \ + openmoko-contacts \ + openmoko-dates \ +" + +# +# task-openmoko-net +# +DESCRIPTION_task-openmoko-net = "OpenMoko: Linux Advanced Networking" +RDEPENDS_task-openmoko-net = "\ + bluez-utils \ +" + +# +# task-openmoko-demo +# +DESCRIPTION_task-openmoko-demo = "OpenMoko: Demo Applications" +RDEPENDS_task-openmoko-demo = "\ + matchbox-desktop \ + matchbox-keyboard \ + matchbox-stroke \ + matchbox-config-gtk \ + matchbox-panel-manager \ + matchbox-panel-hacks \ + matchbox-themes-extra \ + matchbox-themes-gtk \ + matchbox-applet-inputmanager \ + matchbox-applet-startup-monitor \ + xcursor-transparent-theme \ + settings-daemon \ + web \ + rxvt-unicode \ + mtpaint \ +" + +# +# task-openmoko-examples +# +DESCRIPTION_task-openmoko-examples = "OpenMoko: Example Applications" +RDEPENDS_task-openmoko-examples = "\ + openmoko-stylus-demo-simple \ + openmoko-stylus-demo \ + openmoko-finger-demo \ + openmoko-panel-demo-simple \ + openmoko-panel-demo \ + openmoko-chordmaster" + +# +# task-openmoko-debug +# +DESCRIPTION_task-openmoko-debug = "OpenMoko: Debugging Tools" +RDEPENDS_task-openmoko-debug = "\ + alsa-utils-amixer \ + alsa-utils-aplay \ + alsa-utils-aconnect \ + alsa-utils-alsamixer \ + alsa-utils-speakertest \ + madplay \ + vorbis-tools \ + strace \ +# ltrace \ + gdb \ + gdbserver \ + tcpdump \ + tslib-calibrate \ + tslib-tests \ + fstests \ + lsof \ + lrzsz \ + udev-utils \ + usbutils \ + uucp \ + cu \ + sensors-i2cdetect sensors-i2cdump sensors-i2cset \ + xev \ +" + +# +# task-openmoko-sdk-native +# +DESCRIPTION_task-openmoko-native-sdk = "OpenMoko: Native SDK" +RDEPENDS_task-openmoko-native-sdk = "\ + binutils \ + binutils-symlinks \ + gcc \ + gcc-symlinks \ + cpp \ + cpp-symlinks \ + libc6-dev \ + libgcc-dev \ + libgcc-s-dev \ + glibc-utils \ + ldd \ + g++ \ + g++-symlinks \ + libstdc++-dev \ + \ + make \ + flex \ + flex-dev \ + bison \ + gawk \ + grep \ + sed \ + automake \ + autoconf \ + patch \ + patchutils \ + diffstat \ + diffutils \ + libtool \ + pkgconfig \ + \ + xoo \ +" diff --git a/packages/tasks/task-slugos.bb b/packages/tasks/task-slugos.bb new file mode 100644 index 0000000000..c25dcd973f --- /dev/null +++ b/packages/tasks/task-slugos.bb @@ -0,0 +1,51 @@ +# This describes a generic SlugOS image, even though the bb file is +# called 'slugos-image.bb' the distro specific configuration is +# done in conf/distro/${DISTRO}.conf (which should always include +# conf/distro/slugos.conf to get the standard settings). +# +DESCRIPTION = "Task packages for the SlugOS distribution" +HOMEPAGE = "http://www.nslu2-linux.org" +LICENSE = "MIT" +PR = "r2" +PACKAGE_ARCH = "${MACHINE_ARCH}" +ALLOW_EMPTY = "1" + +# CONFIG: +# SLUGOS_EXTRA_RDEPENDS: set in conf, things to add to the image +# SLUGOS_SUPPORT: set here, see below, added to the image. +# SLUGOS_KERNEL: set here, kernel modules added to the image +# +# Do not override the last two unless you really know what you +# are doing - there is more information below. + +# diff, cpio and find are required for reflash and turnup ram. +# Removing these probably leaves the system bootable, but standard +# openslug and ucslugc stuff won't work, so only take these out in +# very non-standard turnkey slugos builds. +# +# udev is the default way of handling devices, there is no guarantee +# that the static device table is completely correct (it is just +# known to be sufficient for boot.) +SLUGOS_SUPPORT ?= "diffutils cpio findutils udev" + +SLUGOS_KERNEL ?= "" + +SLUGOS_EXTRA_RDEPENDS ?= "" + +RDEPENDS = "kernel ixp4xx-npe \ + base-files base-passwd netbase \ + busybox initscripts-slugos slugos-init \ + update-modules sysvinit tinylogin \ + module-init-tools modutils-initscripts \ + ipkg-collateral ipkg ipkg-link \ + portmap \ + dropbear \ + beep \ + e2fsprogs-blkid \ + util-linux-mount \ + util-linux-umount \ + util-linux-swaponoff \ + util-linux-losetup \ + ${SLUGOS_SUPPORT} \ + ${SLUGOS_KERNEL} \ + ${SLUGOS_EXTRA_RDEPENDS}" diff --git a/packages/texmaker/texmaker_1.3.bb b/packages/texmaker/texmaker_1.3.bb index 7f14e90b34..5682338f31 100644 --- a/packages/texmaker/texmaker_1.3.bb +++ b/packages/texmaker/texmaker_1.3.bb @@ -1,6 +1,6 @@ DESCRIPTION = "TeXmaker is a free cross-platform LaTeX editor" HOMEPAGE = "http://www.xm1math.net/texmaker" -SECTION = "x11/apps" +SECTION = "x11/applications" LICENSE = "GPL" SRC_URI = "http://www.xm1math.net/texmaker/texmaker-${PV}.tar.bz2" diff --git a/packages/tinymail/tinymail_svn.bb b/packages/tinymail/tinymail_svn.bb index 9019ffc1a9..f48c84bbaa 100644 --- a/packages/tinymail/tinymail_svn.bb +++ b/packages/tinymail/tinymail_svn.bb @@ -1,8 +1,7 @@ -SECTION = "x11/utils" -DEPENDS = "gtk+ glib-2.0 gnome-vfs gconf-dbus libgnomeui" DESCRIPTION = "TinyMail is an attempt to create an E-mail framework for mobile devices" +SECTION = "x11/utils" LICENSE = "GPL" - +DEPENDS = "gtk+ glib-2.0 gnome-vfs gconf-dbus libgnomeui" PV = "0.0+svn${SRCDATE}" PR = "r3" diff --git a/packages/treecc/treecc_0.3.6.bb b/packages/treecc/treecc_0.3.6.bb index 9a6c7c8eda..e54beb4810 100644 --- a/packages/treecc/treecc_0.3.6.bb +++ b/packages/treecc/treecc_0.3.6.bb @@ -1,6 +1,6 @@ DESCRIPTION = "Tree Compiler-Compiler from dotGNU" SECTION = "devel" -LICENSE = "GPL-2" +LICENSE = "GPLv2" HOMEPAGE = "http://www.southern-storm.com.au/treecc.html" PRIORITY = "optional" diff --git a/packages/uboot-utils/uboot-utils_1.1.2.bb b/packages/uboot-utils/uboot-utils_1.1.2.bb index 638f1cb713..3bcf1eba6c 100644 --- a/packages/uboot-utils/uboot-utils_1.1.2.bb +++ b/packages/uboot-utils/uboot-utils_1.1.2.bb @@ -1,4 +1,5 @@ DESCRIPTION = "U-boot bootloader OS env. access tools for PPC" +SECTION = "bootloaders" PRIORITY = "optional" LICENSE = "GPL" DEPENDS = "mtd-utils" diff --git a/packages/uboot/files/fix-arm920t-eabi.patch b/packages/uboot/files/fix-arm920t-eabi.patch new file mode 100644 index 0000000000..9896388c8f --- /dev/null +++ b/packages/uboot/files/fix-arm920t-eabi.patch @@ -0,0 +1,9 @@ +--- /tmp/config.mk 2007-02-14 17:23:15.000000000 +0100 ++++ git/cpu/arm920t/config.mk 2007-02-14 17:23:38.475251000 +0100 +@@ -30,5 +30,5 @@ + # Supply options according to compiler version + # + # ========================================================================= +-PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) ++PLATFORM_CPPFLAGS +=$(call cc-option) + PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) diff --git a/packages/uboot/files/gta01_nand.h b/packages/uboot/files/gta01_nand.h new file mode 100644 index 0000000000..04cb743158 --- /dev/null +++ b/packages/uboot/files/gta01_nand.h @@ -0,0 +1,233 @@ +/* + * (C) Copyright 2006 Harald Welte <hwelte@hmw-consulting.de> + * + * Configuation settings for the FIC GTA01 Linux GSM phone + * + * See file CREDITS for list of people who contributed to this + * project. + * + * 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. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#ifndef __CONFIG_H +#define __CONFIG_H + +/* we want to start u-boot directly from within NAND flash */ +#define CONFIG_S3C2410_NAND_BOOT 1 + +/* + * High Level Configuration Options + * (easy to change) + */ +#define CONFIG_ARM920T 1 /* This is an ARM920T Core */ +#define CONFIG_S3C2410 1 /* in a SAMSUNG S3C2410 SoC */ +#define CONFIG_SMDK2410 1 /* on a SAMSUNG SMDK2410 Board */ + +/* input clock of PLL */ +#define CONFIG_SYS_CLK_FREQ 12000000/* the GTA01 has 12MHz input clock */ + + +#define USE_920T_MMU 1 +#define CONFIG_USE_IRQ 1 + +/* + * Size of malloc() pool + */ +#define CFG_MALLOC_LEN (CFG_ENV_SIZE + 128*1024) +#define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */ + +/* + * Hardware drivers + */ + +/* + * select serial console configuration + */ +#define CONFIG_SERIAL1 1 /* we use SERIAL 1 on GTA01 */ +//#define CONFIG_HWFLOW 1 + +/************************************************************ + * RTC + ************************************************************/ +#define CONFIG_RTC_S3C24X0 1 + +/* allow to overwrite serial and ethaddr */ +#define CONFIG_ENV_OVERWRITE + +#define CONFIG_BAUDRATE 115200 + +/*********************************************************** + * Command definition + ***********************************************************/ +#define CONFIG_COMMANDS (\ + CFG_CMD_BDI | \ + CFG_CMD_LOADS | \ + CFG_CMD_LAODB | \ + CFG_CMD_IMI | \ + CFG_CMD_CACHE | \ + CFG_CMD_MEMORY | \ + CFG_CMD_ENV | \ + /* CFG_CMD_IRQ | */ \ + CFG_CMD_BOOTD | \ + CFG_CMD_CONSOLE | \ + CFG_CMD_ASKENV | \ + CFG_CMD_RUN | \ + CFG_CMD_ECHO | \ + CFG_CMD_I2C | \ + CFG_CMD_REGINFO | \ + CFG_CMD_IMMAP | \ + CFG_CMD_DATE | \ + CFG_CMD_AUTOSCRIPT | \ + CFG_CMD_BSP | \ + CFG_CMD_ELF | \ + CFG_CMD_MISC | \ + CFG_CMD_USB | \ + CFG_CMD_JFFS2 | \ + CFG_CMD_DIAG | \ + /* CFG_CMD_HWFLOW | */ \ + CFG_CMD_SAVES | \ + CFG_CMD_NAND | \ + CFG_CMD_PORTIO | \ + CFG_CMD_MMC | \ + CFG_CMD_FAT | \ + CFG_CMD_EXT2 | \ + 0) +/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */ +#include <cmd_confdefs.h> + +#define CONFIG_BOOTDELAY 3 +#define CONFIG_BOOTARGS "rootfstype=jffs2 root=/dev/mtdblock4 console=ttySAC0,115200 console=tty0 loglevel=8" +/*#define CONFIG_BOOTFILE "elinos-lart" */ +#define CONFIG_BOOTCOMMAND "nand load 0x32000000 0x34000 0x200000; bootm 0x32000000" + +#define CONFIG_DOS_PARTITION 1 + +#if (CONFIG_COMMANDS & CFG_CMD_KGDB) +#define CONFIG_KGDB_BAUDRATE 115200 /* speed to run kgdb serial port */ +/* what's this ? it's not used anywhere */ +#define CONFIG_KGDB_SER_INDEX 1 /* which serial port to use */ +#endif + +/* + * Miscellaneous configurable options + */ +#define CFG_LONGHELP /* undef to save memory */ +#define CFG_PROMPT "GTA01 # " /* Monitor Command Prompt */ +#define CFG_CBSIZE 256 /* Console I/O Buffer Size */ +#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ +#define CFG_MAXARGS 16 /* max number of command args */ +#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */ + +#define CFG_MEMTEST_START 0x30000000 /* memtest works on */ +#define CFG_MEMTEST_END 0x33F00000 /* 63 MB in DRAM */ + +#undef CFG_CLKS_IN_HZ /* everything, incl board info, in Hz */ + +#define CFG_LOAD_ADDR 0x33000000 /* default load address */ + +/* the PWM TImer 4 uses a counter of 15625 for 10 ms, so we need */ +/* it to wrap 100 times (total 1562500) to get 1 sec. */ +#define CFG_HZ 1562500 + +/* valid baudrates */ +#define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } + +/*----------------------------------------------------------------------- + * Stack sizes + * + * The stack sizes are set up in start.S using the settings below + */ +#define CONFIG_STACKSIZE (128*1024) /* regular stack */ +#ifdef CONFIG_USE_IRQ +#define CONFIG_STACKSIZE_IRQ (4*1024) /* IRQ stack */ +#define CONFIG_STACKSIZE_FIQ (4*1024) /* FIQ stack */ +#endif + +#define CONFIG_USB_OHCI 1 + +/*----------------------------------------------------------------------- + * Physical Memory Map + */ +#define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of DRAM */ +#define PHYS_SDRAM_1 0x30000000 /* SDRAM Bank #1 */ +#define PHYS_SDRAM_1_SIZE 0x04000000 /* 64 MB */ +#define PHYS_SDRAM_RES_SIZE 0x00200000 /* 2 MB for frame buffer */ + +/*----------------------------------------------------------------------- + * FLASH and environment organization + */ + +#if 1 +#define CFG_NO_FLASH 1 +#else +#define CFG_MAX_FLASH_SECT 1 +#define CFG_MAX_FLASH_BANKS 1 +#endif + +#define CFG_ENV_IS_IN_NAND 1 +#define CFG_ENV_SIZE 0x4000 /* 16k Total Size of Environment Sector */ +#define CFG_ENV_OFFSET 0x30000 /* environment after bootloader */ + +#define NAND_MAX_CHIPS 1 +#define CFG_NAND_BASE 0x4e000000 +#define CFG_MAX_NAND_DEVICE 1 + +#define CONFIG_MMC 1 +#define CFG_MMC_BASE 0xff000000 + +/* EXT2 driver */ +#define CONFIG_EXT2 1 + +/* FAT driver in u-boot is broken currently */ +#define CONFIG_FAT 1 +#define CONFIG_SUPPORT_VFAT 1 + +/* JFFS2 driver */ +#define CONFIG_JFFS2_NAND 1 +#define CONFIG_JFFS2_NAND_DEV 0 +#define CONFIG_JFFS2_NAND_OFF 0x634000 +#define CONFIG_JFFS2_NAND_SIZE 0x39cc000 + +/* ATAG configuration */ +#define CONFIG_INITRD_TAG 1 +#define CONFIG_SETUP_MEMORY_TAGS 1 +#define CONFIG_CMDLINE_TAG 1 +#if 0 +#define CONFIG_SERIAL_TAG 1 +#define CONFIG_REVISION_TAG 1 +#endif + +#define CONFIG_DRIVER_S3C24X0_I2C 1 +#define CONFIG_HARD_I2C 1 +#define CFG_I2C_SPEED 400000 /* 400kHz according to PCF50707 data sheet */ +#define CFG_I2C_SLAVE 0x7f + + +#if 0 +#define CONFIG_VIDEO +#define CONFIG_VIDEO_S3C2410 +#define CONFIG_CFB_CONSOLE +#define CONFIG_VIDEO_LOGO +#define CONFIG_VGA_AS_SINGLE_DEVICE + +#define VIDEO_KBD_INIT_FCT 0 +#define VIDEO_TSTC_FCT serial_tstc +#define VIDEO_GETC_FCT serial_getc + +#define LCD_VIDEO_ADDR 0x33d00000 +#endif + +#endif /* __CONFIG_H */ diff --git a/packages/uboot/files/qt2410.h b/packages/uboot/files/qt2410.h new file mode 100644 index 0000000000..627f365f86 --- /dev/null +++ b/packages/uboot/files/qt2410.h @@ -0,0 +1,256 @@ +/* + * (C) Copyright 2002 + * Sysgo Real-Time Solutions, GmbH <www.elinos.com> + * Marius Groeger <mgroeger@sysgo.de> + * Gary Jennejohn <gj@denx.de> + * David Mueller <d.mueller@elsoft.ch> + * + * Configuation settings for the SAMSUNG SMDK2410 board. + * + * See file CREDITS for list of people who contributed to this + * project. + * + * 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. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#ifndef __CONFIG_H +#define __CONFIG_H + +#if 0 +/* If we want to start u-boot from usb bootloader in NOR flash */ +#define CONFIG_SKIP_RELOCATE_UBOOT 1 +#define CONFIG_SKIP_LOWLEVEL_INIT 1 +#else +/* If we want to start u-boot directly from within NAND flash */ +#define CONFIG_S3C2410_NAND_BOOT 1 +#endif + +/* + * High Level Configuration Options + * (easy to change) + */ +#define CONFIG_ARM920T 1 /* This is an ARM920T Core */ +#define CONFIG_S3C2410 1 /* in a SAMSUNG S3C2410 SoC */ +#define CONFIG_SMDK2410 1 /* on a SAMSUNG SMDK2410 Board */ + +/* input clock of PLL */ +#define CONFIG_SYS_CLK_FREQ 12000000/* the SMDK2410 has 12MHz input clock */ + + +#define USE_920T_MMU 1 +#define CONFIG_USE_IRQ 1 +//#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */ + +/* + * Size of malloc() pool + */ +#define CFG_MALLOC_LEN (CFG_ENV_SIZE + 128*1024) +#define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */ + +/* + * Hardware drivers + */ +#define CONFIG_DRIVER_CS8900 1 /* we have a CS8900 on-board */ +#define CS8900_BASE 0x19000300 +#define CS8900_BUS16 1 /* the Linux driver does accesses as shorts */ + +/* + * select serial console configuration + */ +#define CONFIG_SERIAL1 1 /* we use SERIAL 1 on SMDK2410 */ +#define CONFIG_HWFLOW 1 + +/************************************************************ + * RTC + ************************************************************/ +#define CONFIG_RTC_S3C24X0 1 + +/* allow to overwrite serial and ethaddr */ +#define CONFIG_ENV_OVERWRITE + +#define CONFIG_BAUDRATE 115200 + +/*********************************************************** + * Command definition + ***********************************************************/ +#define CONFIG_COMMANDS \ + (CONFIG_CMD_DFL | \ + CFG_CMD_BSP | \ + CFG_CMD_CACHE | \ + CFG_CMD_DATE | \ + CFG_CMD_DHCP | \ + CFG_CMD_DIAG | \ + CFG_CMD_ELF | \ + CFG_CMD_EXT2 | \ + CFG_CMD_FAT | \ + CFG_CMD_HWFLOW | \ + /* CFG_CMD_IDE | */ \ + /* CFG_CMD_IRQ | */ \ + CFG_CMD_JFFS2 | \ + CFG_CMD_MMC | \ + CFG_CMD_NAND | \ + CFG_CMD_PING | \ + CFG_CMD_PORTIO | \ + CFG_CMD_REGINFO | \ + CFG_CMD_SAVES | \ + CFG_CMD_USB) + +/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */ +#include <cmd_confdefs.h> + +#define CONFIG_BOOTDELAY 3 +#define CONFIG_BOOTARGS "root=/dev/sda1 console=ttySAC0,115200 loglevel=8 rootdelay=10" +/*#define CONFIG_ETHADDR 08:00:3e:26:0a:5b */ +#define CONFIG_NETMASK 255.255.255.0 +#define CONFIG_IPADDR 10.0.0.110 +#define CONFIG_SERVERIP 10.0.0.1 +/*#define CONFIG_BOOTFILE "elinos-lart" */ +#define CONFIG_BOOTCOMMAND "mmcinit; ext2load mmc 0 0x32000000 uImage; bootm 0x32000000" + +#define CONFIG_DOS_PARTITION 1 + +#if (CONFIG_COMMANDS & CFG_CMD_KGDB) +#define CONFIG_KGDB_BAUDRATE 115200 /* speed to run kgdb serial port */ +/* what's this ? it's not used anywhere */ +#define CONFIG_KGDB_SER_INDEX 1 /* which serial port to use */ +#endif + +/* + * Miscellaneous configurable options + */ +#define CFG_LONGHELP /* undef to save memory */ +#define CFG_PROMPT "QT2410 # " /* Monitor Command Prompt */ +#define CFG_CBSIZE 256 /* Console I/O Buffer Size */ +#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ +#define CFG_MAXARGS 16 /* max number of command args */ +#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */ + +#define CFG_MEMTEST_START 0x30000000 /* memtest works on */ +#define CFG_MEMTEST_END 0x33F00000 /* 63 MB in DRAM */ + +#undef CFG_CLKS_IN_HZ /* everything, incl board info, in Hz */ + +#define CFG_LOAD_ADDR 0x33000000 /* default load address */ + +/* the PWM TImer 4 uses a counter of 15625 for 10 ms, so we need */ +/* it to wrap 100 times (total 1562500) to get 1 sec. */ +#define CFG_HZ 1562500 + +/* valid baudrates */ +#define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } + +/*----------------------------------------------------------------------- + * Stack sizes + * + * The stack sizes are set up in start.S using the settings below + */ +#define CONFIG_STACKSIZE (128*1024) /* regular stack */ +#ifdef CONFIG_USE_IRQ +#define CONFIG_STACKSIZE_IRQ (4*1024) /* IRQ stack */ +#define CONFIG_STACKSIZE_FIQ (4*1024) /* FIQ stack */ +#endif + +/* IDE/ATA config */ + +#if 0 +#define CFG_IDE_MAXBUS 1 +#define CFG_IDE_MAXDEVICE 2 +#define CFG_IDE_PREINIT 0 + +#define CFG_ATA_BASE_ADDR +#endif + +#define CONFIG_USB_OHCI 1 + +/*----------------------------------------------------------------------- + * Physical Memory Map + */ +#define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of DRAM */ +#define PHYS_SDRAM_1 0x30000000 /* SDRAM Bank #1 */ +#define PHYS_SDRAM_1_SIZE 0x04000000 /* 64 MB */ +#define PHYS_SDRAM_RES_SIZE 0x00200000 /* 2 MB for frame buffer */ + +#define PHYS_FLASH_1 0x00000000 /* Flash Bank #1 */ + +#define CFG_FLASH_BASE PHYS_FLASH_1 + +/*----------------------------------------------------------------------- + * FLASH and environment organization + */ + +#define CONFIG_AMD_LV400 1 /* uncomment this if you have a LV400 flash */ +#if 0 +#define CONFIG_AMD_LV800 1 /* uncomment this if you have a LV800 flash */ +#endif + +#define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */ +#ifdef CONFIG_AMD_LV800 +#define PHYS_FLASH_SIZE 0x00100000 /* 1MB */ +#define CFG_MAX_FLASH_SECT (19) /* max number of sectors on one chip */ +#define CFG_ENV_ADDR (CFG_FLASH_BASE + 0x0F0000) /* addr of environment */ +#endif +#ifdef CONFIG_AMD_LV400 +#define PHYS_FLASH_SIZE 0x00080000 /* 512KB */ +#define CFG_MAX_FLASH_SECT (11) /* max number of sectors on one chip */ +#define CFG_ENV_ADDR (CFG_FLASH_BASE + 0x070000) /* addr of environment */ +#endif + +/* timeout values are in ticks */ +#define CFG_FLASH_ERASE_TOUT (5*CFG_HZ) /* Timeout for Flash Erase */ +#define CFG_FLASH_WRITE_TOUT (5*CFG_HZ) /* Timeout for Flash Write */ + +#define CFG_ENV_IS_IN_NAND 1 +#define CFG_ENV_SIZE 0x4000 /* 16k Total Size of Environment Sector */ +#define CFG_ENV_OFFSET 0x30000 /* environment after bootloader */ + +#define NAND_MAX_CHIPS 1 +#define CFG_NAND_BASE 0x4e000000 +#define CFG_MAX_NAND_DEVICE 1 + +#define CONFIG_MMC 1 +#define CFG_MMC_BASE 0xff000000 + +#define CONFIG_EXT2 1 + +/* FAT driver in u-boot is broken currently */ +#define CONFIG_FAT 1 +#define CONFIG_SUPPORT_VFAT + +/* ATAG configuration */ +#define CONFIG_INITRD_TAG 1 +#define CONFIG_SETUP_MEMORY_TAGS 1 +#define CONFIG_CMDLINE_TAG 1 +#if 0 +#define CONFIG_SERIAL_TAG 1 +#define CONFIG_REVISION_TAG 1 +#endif + + +#if 0 +#define CONFIG_VIDEO +#define CONFIG_VIDEO_S3C2410 +#define CONFIG_CFB_CONSOLE +#define CONFIG_VIDEO_LOGO +#define CONFIG_VGA_AS_SINGLE_DEVICE + +#define VIDEO_KBD_INIT_FCT 0 +#define VIDEO_TSTC_FCT serial_tstc +#define VIDEO_GETC_FCT serial_getc + +#define LCD_VIDEO_ADDR 0x33d00000 +#endif + +#endif /* __CONFIG_H */ diff --git a/packages/uboot/files/qt2410_nand.h b/packages/uboot/files/qt2410_nand.h new file mode 100644 index 0000000000..627f365f86 --- /dev/null +++ b/packages/uboot/files/qt2410_nand.h @@ -0,0 +1,256 @@ +/* + * (C) Copyright 2002 + * Sysgo Real-Time Solutions, GmbH <www.elinos.com> + * Marius Groeger <mgroeger@sysgo.de> + * Gary Jennejohn <gj@denx.de> + * David Mueller <d.mueller@elsoft.ch> + * + * Configuation settings for the SAMSUNG SMDK2410 board. + * + * See file CREDITS for list of people who contributed to this + * project. + * + * 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. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#ifndef __CONFIG_H +#define __CONFIG_H + +#if 0 +/* If we want to start u-boot from usb bootloader in NOR flash */ +#define CONFIG_SKIP_RELOCATE_UBOOT 1 +#define CONFIG_SKIP_LOWLEVEL_INIT 1 +#else +/* If we want to start u-boot directly from within NAND flash */ +#define CONFIG_S3C2410_NAND_BOOT 1 +#endif + +/* + * High Level Configuration Options + * (easy to change) + */ +#define CONFIG_ARM920T 1 /* This is an ARM920T Core */ +#define CONFIG_S3C2410 1 /* in a SAMSUNG S3C2410 SoC */ +#define CONFIG_SMDK2410 1 /* on a SAMSUNG SMDK2410 Board */ + +/* input clock of PLL */ +#define CONFIG_SYS_CLK_FREQ 12000000/* the SMDK2410 has 12MHz input clock */ + + +#define USE_920T_MMU 1 +#define CONFIG_USE_IRQ 1 +//#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */ + +/* + * Size of malloc() pool + */ +#define CFG_MALLOC_LEN (CFG_ENV_SIZE + 128*1024) +#define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */ + +/* + * Hardware drivers + */ +#define CONFIG_DRIVER_CS8900 1 /* we have a CS8900 on-board */ +#define CS8900_BASE 0x19000300 +#define CS8900_BUS16 1 /* the Linux driver does accesses as shorts */ + +/* + * select serial console configuration + */ +#define CONFIG_SERIAL1 1 /* we use SERIAL 1 on SMDK2410 */ +#define CONFIG_HWFLOW 1 + +/************************************************************ + * RTC + ************************************************************/ +#define CONFIG_RTC_S3C24X0 1 + +/* allow to overwrite serial and ethaddr */ +#define CONFIG_ENV_OVERWRITE + +#define CONFIG_BAUDRATE 115200 + +/*********************************************************** + * Command definition + ***********************************************************/ +#define CONFIG_COMMANDS \ + (CONFIG_CMD_DFL | \ + CFG_CMD_BSP | \ + CFG_CMD_CACHE | \ + CFG_CMD_DATE | \ + CFG_CMD_DHCP | \ + CFG_CMD_DIAG | \ + CFG_CMD_ELF | \ + CFG_CMD_EXT2 | \ + CFG_CMD_FAT | \ + CFG_CMD_HWFLOW | \ + /* CFG_CMD_IDE | */ \ + /* CFG_CMD_IRQ | */ \ + CFG_CMD_JFFS2 | \ + CFG_CMD_MMC | \ + CFG_CMD_NAND | \ + CFG_CMD_PING | \ + CFG_CMD_PORTIO | \ + CFG_CMD_REGINFO | \ + CFG_CMD_SAVES | \ + CFG_CMD_USB) + +/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */ +#include <cmd_confdefs.h> + +#define CONFIG_BOOTDELAY 3 +#define CONFIG_BOOTARGS "root=/dev/sda1 console=ttySAC0,115200 loglevel=8 rootdelay=10" +/*#define CONFIG_ETHADDR 08:00:3e:26:0a:5b */ +#define CONFIG_NETMASK 255.255.255.0 +#define CONFIG_IPADDR 10.0.0.110 +#define CONFIG_SERVERIP 10.0.0.1 +/*#define CONFIG_BOOTFILE "elinos-lart" */ +#define CONFIG_BOOTCOMMAND "mmcinit; ext2load mmc 0 0x32000000 uImage; bootm 0x32000000" + +#define CONFIG_DOS_PARTITION 1 + +#if (CONFIG_COMMANDS & CFG_CMD_KGDB) +#define CONFIG_KGDB_BAUDRATE 115200 /* speed to run kgdb serial port */ +/* what's this ? it's not used anywhere */ +#define CONFIG_KGDB_SER_INDEX 1 /* which serial port to use */ +#endif + +/* + * Miscellaneous configurable options + */ +#define CFG_LONGHELP /* undef to save memory */ +#define CFG_PROMPT "QT2410 # " /* Monitor Command Prompt */ +#define CFG_CBSIZE 256 /* Console I/O Buffer Size */ +#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ +#define CFG_MAXARGS 16 /* max number of command args */ +#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */ + +#define CFG_MEMTEST_START 0x30000000 /* memtest works on */ +#define CFG_MEMTEST_END 0x33F00000 /* 63 MB in DRAM */ + +#undef CFG_CLKS_IN_HZ /* everything, incl board info, in Hz */ + +#define CFG_LOAD_ADDR 0x33000000 /* default load address */ + +/* the PWM TImer 4 uses a counter of 15625 for 10 ms, so we need */ +/* it to wrap 100 times (total 1562500) to get 1 sec. */ +#define CFG_HZ 1562500 + +/* valid baudrates */ +#define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } + +/*----------------------------------------------------------------------- + * Stack sizes + * + * The stack sizes are set up in start.S using the settings below + */ +#define CONFIG_STACKSIZE (128*1024) /* regular stack */ +#ifdef CONFIG_USE_IRQ +#define CONFIG_STACKSIZE_IRQ (4*1024) /* IRQ stack */ +#define CONFIG_STACKSIZE_FIQ (4*1024) /* FIQ stack */ +#endif + +/* IDE/ATA config */ + +#if 0 +#define CFG_IDE_MAXBUS 1 +#define CFG_IDE_MAXDEVICE 2 +#define CFG_IDE_PREINIT 0 + +#define CFG_ATA_BASE_ADDR +#endif + +#define CONFIG_USB_OHCI 1 + +/*----------------------------------------------------------------------- + * Physical Memory Map + */ +#define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of DRAM */ +#define PHYS_SDRAM_1 0x30000000 /* SDRAM Bank #1 */ +#define PHYS_SDRAM_1_SIZE 0x04000000 /* 64 MB */ +#define PHYS_SDRAM_RES_SIZE 0x00200000 /* 2 MB for frame buffer */ + +#define PHYS_FLASH_1 0x00000000 /* Flash Bank #1 */ + +#define CFG_FLASH_BASE PHYS_FLASH_1 + +/*----------------------------------------------------------------------- + * FLASH and environment organization + */ + +#define CONFIG_AMD_LV400 1 /* uncomment this if you have a LV400 flash */ +#if 0 +#define CONFIG_AMD_LV800 1 /* uncomment this if you have a LV800 flash */ +#endif + +#define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */ +#ifdef CONFIG_AMD_LV800 +#define PHYS_FLASH_SIZE 0x00100000 /* 1MB */ +#define CFG_MAX_FLASH_SECT (19) /* max number of sectors on one chip */ +#define CFG_ENV_ADDR (CFG_FLASH_BASE + 0x0F0000) /* addr of environment */ +#endif +#ifdef CONFIG_AMD_LV400 +#define PHYS_FLASH_SIZE 0x00080000 /* 512KB */ +#define CFG_MAX_FLASH_SECT (11) /* max number of sectors on one chip */ +#define CFG_ENV_ADDR (CFG_FLASH_BASE + 0x070000) /* addr of environment */ +#endif + +/* timeout values are in ticks */ +#define CFG_FLASH_ERASE_TOUT (5*CFG_HZ) /* Timeout for Flash Erase */ +#define CFG_FLASH_WRITE_TOUT (5*CFG_HZ) /* Timeout for Flash Write */ + +#define CFG_ENV_IS_IN_NAND 1 +#define CFG_ENV_SIZE 0x4000 /* 16k Total Size of Environment Sector */ +#define CFG_ENV_OFFSET 0x30000 /* environment after bootloader */ + +#define NAND_MAX_CHIPS 1 +#define CFG_NAND_BASE 0x4e000000 +#define CFG_MAX_NAND_DEVICE 1 + +#define CONFIG_MMC 1 +#define CFG_MMC_BASE 0xff000000 + +#define CONFIG_EXT2 1 + +/* FAT driver in u-boot is broken currently */ +#define CONFIG_FAT 1 +#define CONFIG_SUPPORT_VFAT + +/* ATAG configuration */ +#define CONFIG_INITRD_TAG 1 +#define CONFIG_SETUP_MEMORY_TAGS 1 +#define CONFIG_CMDLINE_TAG 1 +#if 0 +#define CONFIG_SERIAL_TAG 1 +#define CONFIG_REVISION_TAG 1 +#endif + + +#if 0 +#define CONFIG_VIDEO +#define CONFIG_VIDEO_S3C2410 +#define CONFIG_CFB_CONSOLE +#define CONFIG_VIDEO_LOGO +#define CONFIG_VGA_AS_SINGLE_DEVICE + +#define VIDEO_KBD_INIT_FCT 0 +#define VIDEO_TSTC_FCT serial_tstc +#define VIDEO_GETC_FCT serial_getc + +#define LCD_VIDEO_ADDR 0x33d00000 +#endif + +#endif /* __CONFIG_H */ diff --git a/packages/uboot/files/qt2410_ram.h b/packages/uboot/files/qt2410_ram.h new file mode 100644 index 0000000000..62cc88eaf0 --- /dev/null +++ b/packages/uboot/files/qt2410_ram.h @@ -0,0 +1,256 @@ +/* + * (C) Copyright 2002 + * Sysgo Real-Time Solutions, GmbH <www.elinos.com> + * Marius Groeger <mgroeger@sysgo.de> + * Gary Jennejohn <gj@denx.de> + * David Mueller <d.mueller@elsoft.ch> + * + * Configuation settings for the SAMSUNG SMDK2410 board. + * + * See file CREDITS for list of people who contributed to this + * project. + * + * 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. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#ifndef __CONFIG_H +#define __CONFIG_H + +#if 1 +/* If we want to start u-boot from usb bootloader in NOR flash */ +#define CONFIG_SKIP_RELOCATE_UBOOT 1 +#define CONFIG_SKIP_LOWLEVEL_INIT 1 +#else +/* If we want to start u-boot directly from within NAND flash */ +#define CONFIG_S3C2410_NAND_BOOT 1 +#endif + +/* + * High Level Configuration Options + * (easy to change) + */ +#define CONFIG_ARM920T 1 /* This is an ARM920T Core */ +#define CONFIG_S3C2410 1 /* in a SAMSUNG S3C2410 SoC */ +#define CONFIG_SMDK2410 1 /* on a SAMSUNG SMDK2410 Board */ + +/* input clock of PLL */ +#define CONFIG_SYS_CLK_FREQ 12000000/* the SMDK2410 has 12MHz input clock */ + + +#define USE_920T_MMU 1 +#define CONFIG_USE_IRQ 1 +//#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */ + +/* + * Size of malloc() pool + */ +#define CFG_MALLOC_LEN (CFG_ENV_SIZE + 128*1024) +#define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */ + +/* + * Hardware drivers + */ +#define CONFIG_DRIVER_CS8900 1 /* we have a CS8900 on-board */ +#define CS8900_BASE 0x19000300 +#define CS8900_BUS16 1 /* the Linux driver does accesses as shorts */ + +/* + * select serial console configuration + */ +#define CONFIG_SERIAL1 1 /* we use SERIAL 1 on SMDK2410 */ +#define CONFIG_HWFLOW 1 + +/************************************************************ + * RTC + ************************************************************/ +#define CONFIG_RTC_S3C24X0 1 + +/* allow to overwrite serial and ethaddr */ +#define CONFIG_ENV_OVERWRITE + +#define CONFIG_BAUDRATE 115200 + +/*********************************************************** + * Command definition + ***********************************************************/ +#define CONFIG_COMMANDS \ + (CONFIG_CMD_DFL | \ + CFG_CMD_BSP | \ + CFG_CMD_CACHE | \ + CFG_CMD_DATE | \ + CFG_CMD_DHCP | \ + CFG_CMD_DIAG | \ + CFG_CMD_ELF | \ + CFG_CMD_EXT2 | \ + CFG_CMD_FAT | \ + CFG_CMD_HWFLOW | \ + /* CFG_CMD_IDE | */ \ + /* CFG_CMD_IRQ | */ \ + CFG_CMD_JFFS2 | \ + CFG_CMD_MMC | \ + CFG_CMD_NAND | \ + CFG_CMD_PING | \ + CFG_CMD_PORTIO | \ + CFG_CMD_REGINFO | \ + CFG_CMD_SAVES | \ + CFG_CMD_USB) + +/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */ +#include <cmd_confdefs.h> + +#define CONFIG_BOOTDELAY 3 +#define CONFIG_BOOTARGS "root=/dev/sda1 console=ttySAC0,115200 loglevel=8 rootdelay=10" +/*#define CONFIG_ETHADDR 08:00:3e:26:0a:5b */ +#define CONFIG_NETMASK 255.255.255.0 +#define CONFIG_IPADDR 10.0.0.110 +#define CONFIG_SERVERIP 10.0.0.1 +/*#define CONFIG_BOOTFILE "elinos-lart" */ +#define CONFIG_BOOTCOMMAND "mmcinit; ext2load mmc 0 0x32000000 uImage; bootm 0x32000000" + +#define CONFIG_DOS_PARTITION 1 + +#if (CONFIG_COMMANDS & CFG_CMD_KGDB) +#define CONFIG_KGDB_BAUDRATE 115200 /* speed to run kgdb serial port */ +/* what's this ? it's not used anywhere */ +#define CONFIG_KGDB_SER_INDEX 1 /* which serial port to use */ +#endif + +/* + * Miscellaneous configurable options + */ +#define CFG_LONGHELP /* undef to save memory */ +#define CFG_PROMPT "QT2410 # " /* Monitor Command Prompt */ +#define CFG_CBSIZE 256 /* Console I/O Buffer Size */ +#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ +#define CFG_MAXARGS 16 /* max number of command args */ +#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */ + +#define CFG_MEMTEST_START 0x30000000 /* memtest works on */ +#define CFG_MEMTEST_END 0x33F00000 /* 63 MB in DRAM */ + +#undef CFG_CLKS_IN_HZ /* everything, incl board info, in Hz */ + +#define CFG_LOAD_ADDR 0x33000000 /* default load address */ + +/* the PWM TImer 4 uses a counter of 15625 for 10 ms, so we need */ +/* it to wrap 100 times (total 1562500) to get 1 sec. */ +#define CFG_HZ 1562500 + +/* valid baudrates */ +#define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } + +/*----------------------------------------------------------------------- + * Stack sizes + * + * The stack sizes are set up in start.S using the settings below + */ +#define CONFIG_STACKSIZE (128*1024) /* regular stack */ +#ifdef CONFIG_USE_IRQ +#define CONFIG_STACKSIZE_IRQ (4*1024) /* IRQ stack */ +#define CONFIG_STACKSIZE_FIQ (4*1024) /* FIQ stack */ +#endif + +/* IDE/ATA config */ + +#if 0 +#define CFG_IDE_MAXBUS 1 +#define CFG_IDE_MAXDEVICE 2 +#define CFG_IDE_PREINIT 0 + +#define CFG_ATA_BASE_ADDR +#endif + +#define CONFIG_USB_OHCI 1 + +/*----------------------------------------------------------------------- + * Physical Memory Map + */ +#define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of DRAM */ +#define PHYS_SDRAM_1 0x30000000 /* SDRAM Bank #1 */ +#define PHYS_SDRAM_1_SIZE 0x04000000 /* 64 MB */ +#define PHYS_SDRAM_RES_SIZE 0x00200000 /* 2 MB for frame buffer */ + +#define PHYS_FLASH_1 0x00000000 /* Flash Bank #1 */ + +#define CFG_FLASH_BASE PHYS_FLASH_1 + +/*----------------------------------------------------------------------- + * FLASH and environment organization + */ + +#define CONFIG_AMD_LV400 1 /* uncomment this if you have a LV400 flash */ +#if 0 +#define CONFIG_AMD_LV800 1 /* uncomment this if you have a LV800 flash */ +#endif + +#define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */ +#ifdef CONFIG_AMD_LV800 +#define PHYS_FLASH_SIZE 0x00100000 /* 1MB */ +#define CFG_MAX_FLASH_SECT (19) /* max number of sectors on one chip */ +#define CFG_ENV_ADDR (CFG_FLASH_BASE + 0x0F0000) /* addr of environment */ +#endif +#ifdef CONFIG_AMD_LV400 +#define PHYS_FLASH_SIZE 0x00080000 /* 512KB */ +#define CFG_MAX_FLASH_SECT (11) /* max number of sectors on one chip */ +#define CFG_ENV_ADDR (CFG_FLASH_BASE + 0x070000) /* addr of environment */ +#endif + +/* timeout values are in ticks */ +#define CFG_FLASH_ERASE_TOUT (5*CFG_HZ) /* Timeout for Flash Erase */ +#define CFG_FLASH_WRITE_TOUT (5*CFG_HZ) /* Timeout for Flash Write */ + +#define CFG_ENV_IS_IN_NAND 1 +#define CFG_ENV_SIZE 0x4000 /* 16k Total Size of Environment Sector */ +#define CFG_ENV_OFFSET 0x30000 /* environment after bootloader */ + +#define NAND_MAX_CHIPS 1 +#define CFG_NAND_BASE 0x4e000000 +#define CFG_MAX_NAND_DEVICE 1 + +#define CONFIG_MMC 1 +#define CFG_MMC_BASE 0xff000000 + +#define CONFIG_EXT2 1 + +/* FAT driver in u-boot is broken currently */ +#define CONFIG_FAT 1 +#define CONFIG_SUPPORT_VFAT + +/* ATAG configuration */ +#define CONFIG_INITRD_TAG 1 +#define CONFIG_SETUP_MEMORY_TAGS 1 +#define CONFIG_CMDLINE_TAG 1 +#if 0 +#define CONFIG_SERIAL_TAG 1 +#define CONFIG_REVISION_TAG 1 +#endif + + +#if 0 +#define CONFIG_VIDEO +#define CONFIG_VIDEO_S3C2410 +#define CONFIG_CFB_CONSOLE +#define CONFIG_VIDEO_LOGO +#define CONFIG_VGA_AS_SINGLE_DEVICE + +#define VIDEO_KBD_INIT_FCT 0 +#define VIDEO_TSTC_FCT serial_tstc +#define VIDEO_GETC_FCT serial_getc + +#define LCD_VIDEO_ADDR 0x33d00000 +#endif + +#endif /* __CONFIG_H */ diff --git a/packages/uboot/files/u-boot-20060807-qt2410.patch b/packages/uboot/files/u-boot-20060807-qt2410.patch new file mode 100644 index 0000000000..ed9f987c81 --- /dev/null +++ b/packages/uboot/files/u-boot-20060807-qt2410.patch @@ -0,0 +1,8435 @@ +diff --git a/Makefile b/Makefile +index 128ae59..5d7b5bb 100644 +--- a/Makefile ++++ b/Makefile +@@ -1638,6 +1638,9 @@ omap730p2_cs3boot_config : unconfig + sbc2410x_config: unconfig + @./mkconfig $(@:_config=) arm arm920t sbc2410x NULL s3c24x0 + ++qt2410_config : unconfig ++ @./mkconfig $(@:_config=) arm arm920t qt2410 NULL s3c24x0 ++ + scb9328_config : unconfig + @./mkconfig $(@:_config=) arm arm920t scb9328 NULL imx + +diff --git a/board/qt2410/Makefile b/board/qt2410/Makefile +new file mode 100644 +index 0000000..407b256 +--- /dev/null ++++ b/board/qt2410/Makefile +@@ -0,0 +1,47 @@ ++# ++# (C) Copyright 2000, 2001, 2002 ++# Wolfgang Denk, DENX Software Engineering, wd@denx.de. ++# ++# See file CREDITS for list of people who contributed to this ++# project. ++# ++# 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. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++# MA 02111-1307 USA ++# ++ ++include $(TOPDIR)/config.mk ++ ++LIB = lib$(BOARD).a ++ ++OBJS := qt2410.o flash.o ++SOBJS := lowlevel_init.o ++ ++$(LIB): $(OBJS) $(SOBJS) ++ $(AR) crv $@ $(OBJS) $(SOBJS) ++ ++clean: ++ rm -f $(SOBJS) $(OBJS) ++ ++distclean: clean ++ rm -f $(LIB) core *.bak .depend ++ ++######################################################################### ++ ++.depend: Makefile $(SOBJS:.o=.S) $(OBJS:.o=.c) ++ $(CC) -M $(CPPFLAGS) $(SOBJS:.o=.S) $(OBJS:.o=.c) > $@ ++ ++-include .depend ++ ++######################################################################### +diff --git a/board/qt2410/config.mk b/board/qt2410/config.mk +new file mode 100644 +index 0000000..1af85da +--- /dev/null ++++ b/board/qt2410/config.mk +@@ -0,0 +1,25 @@ ++# ++# (C) Copyright 2002 ++# Gary Jennejohn, DENX Software Engineering, <gj@denx.de> ++# David Mueller, ELSOFT AG, <d.mueller@elsoft.ch> ++# ++# SAMSUNG SMDK2410 board with S3C2410X (ARM920T) cpu ++# ++# see http://www.samsung.com/ for more information on SAMSUNG ++# ++ ++# ++# SMDK2410 has 1 bank of 64 MB DRAM ++# ++# 3000'0000 to 3400'0000 ++# ++# Linux-Kernel is expected to be at 3000'8000, entry 3000'8000 ++# optionally with a ramdisk at 3080'0000 ++# ++# we load ourself to 33F8'0000 ++# ++# download area is 3300'0000 ++# ++ ++ ++TEXT_BASE = 0x33F80000 +diff --git a/board/qt2410/flash.c b/board/qt2410/flash.c +new file mode 100644 +index 0000000..993946b +--- /dev/null ++++ b/board/qt2410/flash.c +@@ -0,0 +1,433 @@ ++/* ++ * (C) Copyright 2002 ++ * Sysgo Real-Time Solutions, GmbH <www.elinos.com> ++ * Alex Zuepke <azu@sysgo.de> ++ * ++ * See file CREDITS for list of people who contributed to this ++ * project. ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++#include <common.h> ++ ++ulong myflush (void); ++ ++ ++#define FLASH_BANK_SIZE PHYS_FLASH_SIZE ++#define MAIN_SECT_SIZE 0x10000 /* 64 KB */ ++ ++flash_info_t flash_info[CFG_MAX_FLASH_BANKS]; ++ ++ ++#define CMD_READ_ARRAY 0x000000F0 ++#define CMD_UNLOCK1 0x000000AA ++#define CMD_UNLOCK2 0x00000055 ++#define CMD_ERASE_SETUP 0x00000080 ++#define CMD_ERASE_CONFIRM 0x00000030 ++#define CMD_PROGRAM 0x000000A0 ++#define CMD_UNLOCK_BYPASS 0x00000020 ++ ++#define MEM_FLASH_ADDR1 (*(volatile u16 *)(CFG_FLASH_BASE + (0x00000555 << 1))) ++#define MEM_FLASH_ADDR2 (*(volatile u16 *)(CFG_FLASH_BASE + (0x000002AA << 1))) ++ ++#define BIT_ERASE_DONE 0x00000080 ++#define BIT_RDY_MASK 0x00000080 ++#define BIT_PROGRAM_ERROR 0x00000020 ++#define BIT_TIMEOUT 0x80000000 /* our flag */ ++ ++#define READY 1 ++#define ERR 2 ++#define TMO 4 ++ ++/*----------------------------------------------------------------------- ++ */ ++ ++ulong flash_init (void) ++{ ++ int i, j; ++ ulong size = 0; ++ ++ for (i = 0; i < CFG_MAX_FLASH_BANKS; i++) { ++ ulong flashbase = 0; ++ ++ flash_info[i].flash_id = ++#if defined(CONFIG_AMD_LV400) ++ (AMD_MANUFACT & FLASH_VENDMASK) | ++ (AMD_ID_LV400B & FLASH_TYPEMASK); ++#elif defined(CONFIG_AMD_LV800) ++ (AMD_MANUFACT & FLASH_VENDMASK) | ++ (AMD_ID_LV800B & FLASH_TYPEMASK); ++#else ++#error "Unknown flash configured" ++#endif ++ flash_info[i].size = FLASH_BANK_SIZE; ++ flash_info[i].sector_count = CFG_MAX_FLASH_SECT; ++ memset (flash_info[i].protect, 0, CFG_MAX_FLASH_SECT); ++ if (i == 0) ++ flashbase = PHYS_FLASH_1; ++ else ++ panic ("configured too many flash banks!\n"); ++ for (j = 0; j < flash_info[i].sector_count; j++) { ++ if (j <= 3) { ++ /* 1st one is 16 KB */ ++ if (j == 0) { ++ flash_info[i].start[j] = ++ flashbase + 0; ++ } ++ ++ /* 2nd and 3rd are both 8 KB */ ++ if ((j == 1) || (j == 2)) { ++ flash_info[i].start[j] = ++ flashbase + 0x4000 + (j - ++ 1) * ++ 0x2000; ++ } ++ ++ /* 4th 32 KB */ ++ if (j == 3) { ++ flash_info[i].start[j] = ++ flashbase + 0x8000; ++ } ++ } else { ++ flash_info[i].start[j] = ++ flashbase + (j - 3) * MAIN_SECT_SIZE; ++ } ++ } ++ size += flash_info[i].size; ++ } ++ ++ flash_protect (FLAG_PROTECT_SET, ++ CFG_FLASH_BASE, ++ CFG_FLASH_BASE + monitor_flash_len - 1, ++ &flash_info[0]); ++ ++ flash_protect (FLAG_PROTECT_SET, ++ CFG_ENV_ADDR, ++ CFG_ENV_ADDR + CFG_ENV_SIZE - 1, &flash_info[0]); ++ ++ return size; ++} ++ ++/*----------------------------------------------------------------------- ++ */ ++void flash_print_info (flash_info_t * info) ++{ ++ int i; ++ ++ switch (info->flash_id & FLASH_VENDMASK) { ++ case (AMD_MANUFACT & FLASH_VENDMASK): ++ printf ("AMD: "); ++ break; ++ default: ++ printf ("Unknown Vendor "); ++ break; ++ } ++ ++ switch (info->flash_id & FLASH_TYPEMASK) { ++ case (AMD_ID_LV400B & FLASH_TYPEMASK): ++ printf ("1x Amd29LV400BB (4Mbit)\n"); ++ break; ++ case (AMD_ID_LV800B & FLASH_TYPEMASK): ++ printf ("1x Amd29LV800BB (8Mbit)\n"); ++ break; ++ default: ++ printf ("Unknown Chip Type\n"); ++ goto Done; ++ break; ++ } ++ ++ printf (" Size: %ld MB in %d Sectors\n", ++ info->size >> 20, info->sector_count); ++ ++ printf (" Sector Start Addresses:"); ++ for (i = 0; i < info->sector_count; i++) { ++ if ((i % 5) == 0) { ++ printf ("\n "); ++ } ++ printf (" %08lX%s", info->start[i], ++ info->protect[i] ? " (RO)" : " "); ++ } ++ printf ("\n"); ++ ++ Done:; ++} ++ ++/*----------------------------------------------------------------------- ++ */ ++ ++int flash_erase (flash_info_t * info, int s_first, int s_last) ++{ ++ ushort result; ++ int iflag, cflag, prot, sect; ++ int rc = ERR_OK; ++ int chip; ++ ++ /* first look for protection bits */ ++ ++ if (info->flash_id == FLASH_UNKNOWN) ++ return ERR_UNKNOWN_FLASH_TYPE; ++ ++ if ((s_first < 0) || (s_first > s_last)) { ++ return ERR_INVAL; ++ } ++ ++ if ((info->flash_id & FLASH_VENDMASK) != ++ (AMD_MANUFACT & FLASH_VENDMASK)) { ++ return ERR_UNKNOWN_FLASH_VENDOR; ++ } ++ ++ prot = 0; ++ for (sect = s_first; sect <= s_last; ++sect) { ++ if (info->protect[sect]) { ++ prot++; ++ } ++ } ++ if (prot) ++ return ERR_PROTECTED; ++ ++ /* ++ * Disable interrupts which might cause a timeout ++ * here. Remember that our exception vectors are ++ * at address 0 in the flash, and we don't want a ++ * (ticker) exception to happen while the flash ++ * chip is in programming mode. ++ */ ++ cflag = icache_status (); ++ icache_disable (); ++ iflag = disable_interrupts (); ++ ++ /* Start erase on unprotected sectors */ ++ for (sect = s_first; sect <= s_last && !ctrlc (); sect++) { ++ printf ("Erasing sector %2d ... ", sect); ++ ++ /* arm simple, non interrupt dependent timer */ ++ reset_timer_masked (); ++ ++ if (info->protect[sect] == 0) { /* not protected */ ++ vu_short *addr = (vu_short *) (info->start[sect]); ++ ++ MEM_FLASH_ADDR1 = CMD_UNLOCK1; ++ MEM_FLASH_ADDR2 = CMD_UNLOCK2; ++ MEM_FLASH_ADDR1 = CMD_ERASE_SETUP; ++ ++ MEM_FLASH_ADDR1 = CMD_UNLOCK1; ++ MEM_FLASH_ADDR2 = CMD_UNLOCK2; ++ *addr = CMD_ERASE_CONFIRM; ++ ++ /* wait until flash is ready */ ++ chip = 0; ++ ++ do { ++ result = *addr; ++ ++ /* check timeout */ ++ if (get_timer_masked () > ++ CFG_FLASH_ERASE_TOUT) { ++ MEM_FLASH_ADDR1 = CMD_READ_ARRAY; ++ chip = TMO; ++ break; ++ } ++ ++ if (!chip ++ && (result & 0xFFFF) & BIT_ERASE_DONE) ++ chip = READY; ++ ++ if (!chip ++ && (result & 0xFFFF) & BIT_PROGRAM_ERROR) ++ chip = ERR; ++ ++ } while (!chip); ++ ++ MEM_FLASH_ADDR1 = CMD_READ_ARRAY; ++ ++ if (chip == ERR) { ++ rc = ERR_PROG_ERROR; ++ goto outahere; ++ } ++ if (chip == TMO) { ++ rc = ERR_TIMOUT; ++ goto outahere; ++ } ++ ++ printf ("ok.\n"); ++ } else { /* it was protected */ ++ ++ printf ("protected!\n"); ++ } ++ } ++ ++ if (ctrlc ()) ++ printf ("User Interrupt!\n"); ++ ++ outahere: ++ /* allow flash to settle - wait 10 ms */ ++ udelay_masked (10000); ++ ++ if (iflag) ++ enable_interrupts (); ++ ++ if (cflag) ++ icache_enable (); ++ ++ return rc; ++} ++ ++/*----------------------------------------------------------------------- ++ * Copy memory to flash ++ */ ++ ++volatile static int write_hword (flash_info_t * info, ulong dest, ushort data) ++{ ++ vu_short *addr = (vu_short *) dest; ++ ushort result; ++ int rc = ERR_OK; ++ int cflag, iflag; ++ int chip; ++ ++ /* ++ * Check if Flash is (sufficiently) erased ++ */ ++ result = *addr; ++ if ((result & data) != data) ++ return ERR_NOT_ERASED; ++ ++ ++ /* ++ * Disable interrupts which might cause a timeout ++ * here. Remember that our exception vectors are ++ * at address 0 in the flash, and we don't want a ++ * (ticker) exception to happen while the flash ++ * chip is in programming mode. ++ */ ++ cflag = icache_status (); ++ icache_disable (); ++ iflag = disable_interrupts (); ++ ++ MEM_FLASH_ADDR1 = CMD_UNLOCK1; ++ MEM_FLASH_ADDR2 = CMD_UNLOCK2; ++ MEM_FLASH_ADDR1 = CMD_UNLOCK_BYPASS; ++ *addr = CMD_PROGRAM; ++ *addr = data; ++ ++ /* arm simple, non interrupt dependent timer */ ++ reset_timer_masked (); ++ ++ /* wait until flash is ready */ ++ chip = 0; ++ do { ++ result = *addr; ++ ++ /* check timeout */ ++ if (get_timer_masked () > CFG_FLASH_ERASE_TOUT) { ++ chip = ERR | TMO; ++ break; ++ } ++ if (!chip && ((result & 0x80) == (data & 0x80))) ++ chip = READY; ++ ++ if (!chip && ((result & 0xFFFF) & BIT_PROGRAM_ERROR)) { ++ result = *addr; ++ ++ if ((result & 0x80) == (data & 0x80)) ++ chip = READY; ++ else ++ chip = ERR; ++ } ++ ++ } while (!chip); ++ ++ *addr = CMD_READ_ARRAY; ++ ++ if (chip == ERR || *addr != data) ++ rc = ERR_PROG_ERROR; ++ ++ if (iflag) ++ enable_interrupts (); ++ ++ if (cflag) ++ icache_enable (); ++ ++ return rc; ++} ++ ++/*----------------------------------------------------------------------- ++ * Copy memory to flash. ++ */ ++ ++int write_buff (flash_info_t * info, uchar * src, ulong addr, ulong cnt) ++{ ++ ulong cp, wp; ++ int l; ++ int i, rc; ++ ushort data; ++ ++ wp = (addr & ~1); /* get lower word aligned address */ ++ ++ /* ++ * handle unaligned start bytes ++ */ ++ if ((l = addr - wp) != 0) { ++ data = 0; ++ for (i = 0, cp = wp; i < l; ++i, ++cp) { ++ data = (data >> 8) | (*(uchar *) cp << 8); ++ } ++ for (; i < 2 && cnt > 0; ++i) { ++ data = (data >> 8) | (*src++ << 8); ++ --cnt; ++ ++cp; ++ } ++ for (; cnt == 0 && i < 2; ++i, ++cp) { ++ data = (data >> 8) | (*(uchar *) cp << 8); ++ } ++ ++ if ((rc = write_hword (info, wp, data)) != 0) { ++ return (rc); ++ } ++ wp += 2; ++ } ++ ++ /* ++ * handle word aligned part ++ */ ++ while (cnt >= 2) { ++ data = *((vu_short *) src); ++ if ((rc = write_hword (info, wp, data)) != 0) { ++ return (rc); ++ } ++ src += 2; ++ wp += 2; ++ cnt -= 2; ++ } ++ ++ if (cnt == 0) { ++ return ERR_OK; ++ } ++ ++ /* ++ * handle unaligned tail bytes ++ */ ++ data = 0; ++ for (i = 0, cp = wp; i < 2 && cnt > 0; ++i, ++cp) { ++ data = (data >> 8) | (*src++ << 8); ++ --cnt; ++ } ++ for (; i < 2; ++i, ++cp) { ++ data = (data >> 8) | (*(uchar *) cp << 8); ++ } ++ ++ return write_hword (info, wp, data); ++} +diff --git a/board/qt2410/lowlevel_init.S b/board/qt2410/lowlevel_init.S +new file mode 100644 +index 0000000..310f2a0 +--- /dev/null ++++ b/board/qt2410/lowlevel_init.S +@@ -0,0 +1,167 @@ ++/* ++ * Memory Setup stuff - taken from blob memsetup.S ++ * ++ * Copyright (C) 1999 2000 2001 Erik Mouw (J.A.K.Mouw@its.tudelft.nl) and ++ * Jan-Derk Bakker (J.D.Bakker@its.tudelft.nl) ++ * ++ * Modified for the Samsung SMDK2410 by ++ * (C) Copyright 2002 ++ * David Mueller, ELSOFT AG, <d.mueller@elsoft.ch> ++ * ++ * See file CREDITS for list of people who contributed to this ++ * project. ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++ ++#include <config.h> ++#include <version.h> ++ ++ ++/* some parameters for the board */ ++ ++/* ++ * ++ * Taken from linux/arch/arm/boot/compressed/head-s3c2410.S ++ * ++ * Copyright (C) 2002 Samsung Electronics SW.LEE <hitchcar@sec.samsung.com> ++ * ++ */ ++ ++#define BWSCON 0x48000000 ++ ++/* BWSCON */ ++#define DW8 (0x0) ++#define DW16 (0x1) ++#define DW32 (0x2) ++#define WAIT (0x1<<2) ++#define UBLB (0x1<<3) ++ ++#define B1_BWSCON (DW32) ++#define B2_BWSCON (DW16) ++#define B3_BWSCON (DW16 + WAIT + UBLB) ++#define B4_BWSCON (DW16) ++#define B5_BWSCON (DW16) ++#define B6_BWSCON (DW32) ++#define B7_BWSCON (DW32) ++ ++/* BANK0CON */ ++#define B0_Tacs 0x0 /* 0clk */ ++#define B0_Tcos 0x0 /* 0clk */ ++#define B0_Tacc 0x7 /* 14clk */ ++#define B0_Tcoh 0x0 /* 0clk */ ++#define B0_Tah 0x0 /* 0clk */ ++#define B0_Tacp 0x0 ++#define B0_PMC 0x0 /* normal */ ++ ++/* BANK1CON */ ++#define B1_Tacs 0x0 /* 0clk */ ++#define B1_Tcos 0x0 /* 0clk */ ++#define B1_Tacc 0x7 /* 14clk */ ++#define B1_Tcoh 0x0 /* 0clk */ ++#define B1_Tah 0x0 /* 0clk */ ++#define B1_Tacp 0x0 ++#define B1_PMC 0x0 ++ ++#define B2_Tacs 0x0 ++#define B2_Tcos 0x0 ++#define B2_Tacc 0x7 ++#define B2_Tcoh 0x0 ++#define B2_Tah 0x0 ++#define B2_Tacp 0x0 ++#define B2_PMC 0x0 ++ ++#define B3_Tacs 0x0 /* 0clk */ ++#define B3_Tcos 0x3 /* 4clk */ ++#define B3_Tacc 0x7 /* 14clk */ ++#define B3_Tcoh 0x1 /* 1clk */ ++#define B3_Tah 0x0 /* 0clk */ ++#define B3_Tacp 0x3 /* 6clk */ ++#define B3_PMC 0x0 /* normal */ ++ ++#define B4_Tacs 0x0 /* 0clk */ ++#define B4_Tcos 0x0 /* 0clk */ ++#define B4_Tacc 0x7 /* 14clk */ ++#define B4_Tcoh 0x0 /* 0clk */ ++#define B4_Tah 0x0 /* 0clk */ ++#define B4_Tacp 0x0 ++#define B4_PMC 0x0 /* normal */ ++ ++#define B5_Tacs 0x0 /* 0clk */ ++#define B5_Tcos 0x0 /* 0clk */ ++#define B5_Tacc 0x7 /* 14clk */ ++#define B5_Tcoh 0x0 /* 0clk */ ++#define B5_Tah 0x0 /* 0clk */ ++#define B5_Tacp 0x0 ++#define B5_PMC 0x0 /* normal */ ++ ++#define B6_MT 0x3 /* SDRAM */ ++#define B6_Trcd 0x1 ++#define B6_SCAN 0x1 /* 9bit */ ++ ++#define B7_MT 0x3 /* SDRAM */ ++#define B7_Trcd 0x1 /* 3clk */ ++#define B7_SCAN 0x1 /* 9bit */ ++ ++/* REFRESH parameter */ ++#define REFEN 0x1 /* Refresh enable */ ++#define TREFMD 0x0 /* CBR(CAS before RAS)/Auto refresh */ ++#define Trp 0x0 /* 2clk */ ++#define Trc 0x3 /* 7clk */ ++#define Tchr 0x2 /* 3clk */ ++#define REFCNT 1113 /* period=15.6us, HCLK=60Mhz, (2048+1-15.6*60) */ ++/**************************************/ ++ ++_TEXT_BASE: ++ .word TEXT_BASE ++ ++.globl lowlevel_init ++lowlevel_init: ++ /* memory control configuration */ ++ /* make r0 relative the current location so that it */ ++ /* reads SMRDATA out of FLASH rather than memory ! */ ++ ldr r0, =SMRDATA ++ ldr r1, _TEXT_BASE ++ sub r0, r0, r1 ++ ldr r1, =BWSCON /* Bus Width Status Controller */ ++ add r2, r0, #13*4 ++0: ++ ldr r3, [r0], #4 ++ str r3, [r1], #4 ++ cmp r2, r0 ++ bne 0b ++ ++ /* everything is fine now */ ++ mov pc, lr ++ ++ .ltorg ++/* the literal pools origin */ ++ ++SMRDATA: ++ .word (0+(B1_BWSCON<<4)+(B2_BWSCON<<8)+(B3_BWSCON<<12)+(B4_BWSCON<<16)+(B5_BWSCON<<20)+(B6_BWSCON<<24)+(B7_BWSCON<<28)) ++ .word ((B0_Tacs<<13)+(B0_Tcos<<11)+(B0_Tacc<<8)+(B0_Tcoh<<6)+(B0_Tah<<4)+(B0_Tacp<<2)+(B0_PMC)) ++ .word ((B1_Tacs<<13)+(B1_Tcos<<11)+(B1_Tacc<<8)+(B1_Tcoh<<6)+(B1_Tah<<4)+(B1_Tacp<<2)+(B1_PMC)) ++ .word ((B2_Tacs<<13)+(B2_Tcos<<11)+(B2_Tacc<<8)+(B2_Tcoh<<6)+(B2_Tah<<4)+(B2_Tacp<<2)+(B2_PMC)) ++ .word ((B3_Tacs<<13)+(B3_Tcos<<11)+(B3_Tacc<<8)+(B3_Tcoh<<6)+(B3_Tah<<4)+(B3_Tacp<<2)+(B3_PMC)) ++ .word ((B4_Tacs<<13)+(B4_Tcos<<11)+(B4_Tacc<<8)+(B4_Tcoh<<6)+(B4_Tah<<4)+(B4_Tacp<<2)+(B4_PMC)) ++ .word ((B5_Tacs<<13)+(B5_Tcos<<11)+(B5_Tacc<<8)+(B5_Tcoh<<6)+(B5_Tah<<4)+(B5_Tacp<<2)+(B5_PMC)) ++ .word ((B6_MT<<15)+(B6_Trcd<<2)+(B6_SCAN)) ++ .word ((B7_MT<<15)+(B7_Trcd<<2)+(B7_SCAN)) ++ .word ((REFEN<<23)+(TREFMD<<22)+(Trp<<20)+(Trc<<18)+(Tchr<<16)+REFCNT) ++ .word 0x32 ++ .word 0x30 ++ .word 0x30 +diff --git a/board/qt2410/qt2410.c b/board/qt2410/qt2410.c +new file mode 100644 +index 0000000..133b748 +--- /dev/null ++++ b/board/qt2410/qt2410.c +@@ -0,0 +1,130 @@ ++/* ++ * (C) Copyright 2002 ++ * Sysgo Real-Time Solutions, GmbH <www.elinos.com> ++ * Marius Groeger <mgroeger@sysgo.de> ++ * ++ * (C) Copyright 2002 ++ * David Mueller, ELSOFT AG, <d.mueller@elsoft.ch> ++ * ++ * See file CREDITS for list of people who contributed to this ++ * project. ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++#include <common.h> ++#include <s3c2410.h> ++ ++DECLARE_GLOBAL_DATA_PTR; ++ ++#define FCLK_SPEED 1 ++ ++#if FCLK_SPEED==0 /* Fout = 203MHz, Fin = 12MHz for Audio */ ++#define M_MDIV 0xC3 ++#define M_PDIV 0x4 ++#define M_SDIV 0x1 ++#elif FCLK_SPEED==1 /* Fout = 202.8MHz */ ++#if 0 ++#define M_MDIV 0xA1 ++#define M_PDIV 0x3 ++#define M_SDIV 0x1 ++#else ++#define M_MDIV 0x5c ++#define M_PDIV 0x4 ++#define M_SDIV 0x0 ++#endif ++#endif ++ ++#define USB_CLOCK 1 ++ ++#if USB_CLOCK==0 ++#define U_M_MDIV 0xA1 ++#define U_M_PDIV 0x3 ++#define U_M_SDIV 0x1 ++#elif USB_CLOCK==1 ++#define U_M_MDIV 0x48 ++#define U_M_PDIV 0x3 ++#define U_M_SDIV 0x2 ++#endif ++ ++static inline void delay (unsigned long loops) ++{ ++ __asm__ volatile ("1:\n" ++ "subs %0, %1, #1\n" ++ "bne 1b":"=r" (loops):"0" (loops)); ++} ++ ++/* ++ * Miscellaneous platform dependent initialisations ++ */ ++ ++int board_init (void) ++{ ++ S3C24X0_CLOCK_POWER * const clk_power = S3C24X0_GetBase_CLOCK_POWER(); ++ S3C24X0_GPIO * const gpio = S3C24X0_GetBase_GPIO(); ++ ++ /* to reduce PLL lock time, adjust the LOCKTIME register */ ++ clk_power->LOCKTIME = 0xFFFFFF; ++ ++ /* configure MPLL */ ++ clk_power->MPLLCON = ((M_MDIV << 12) + (M_PDIV << 4) + M_SDIV); ++ ++ /* some delay between MPLL and UPLL */ ++ delay (4000); ++ ++ /* configure UPLL */ ++ clk_power->UPLLCON = ((U_M_MDIV << 12) + (U_M_PDIV << 4) + U_M_SDIV); ++ ++ /* some delay between MPLL and UPLL */ ++ delay (8000); ++ ++ /* set up the I/O ports */ ++ gpio->GPACON = 0x007FFFFF; ++ gpio->GPBCON = 0x00044555; ++ gpio->GPBUP = 0x000007FF; ++ gpio->GPCCON = 0xAAAAAAAA; ++ gpio->GPCUP = 0x0000FFFF; ++ gpio->GPDCON = 0xAAAAAAAA; ++ gpio->GPDUP = 0x0000FFFF; ++ gpio->GPECON = 0xAAAAAAAA; ++ gpio->GPEUP = 0x0000FFFF; ++ gpio->GPFCON = 0x000055AA; ++ gpio->GPFUP = 0x000000FF; ++ gpio->GPGCON = 0xFF95FFBA; ++ //gpio->GPGUP = 0x0000FFFF; ++ gpio->GPGUP = 0x0000AFEF; ++ gpio->GPHCON = 0x0028FAAA; ++ gpio->GPHUP = 0x000007FF; ++ ++ /* arch number of SMDK2410-Board */ ++ gd->bd->bi_arch_number = MACH_TYPE_QT2410; ++ ++ /* adress of boot parameters */ ++ gd->bd->bi_boot_params = 0x30000100; ++ ++ icache_enable(); ++ dcache_enable(); ++ ++ return 0; ++} ++ ++int dram_init (void) ++{ ++ gd->bd->bi_dram[0].start = PHYS_SDRAM_1; ++ gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE; ++ ++ return 0; ++} +diff --git a/board/qt2410/u-boot.lds b/board/qt2410/u-boot.lds +new file mode 100644 +index 0000000..f4fbf96 +--- /dev/null ++++ b/board/qt2410/u-boot.lds +@@ -0,0 +1,57 @@ ++/* ++ * (C) Copyright 2002 ++ * Gary Jennejohn, DENX Software Engineering, <gj@denx.de> ++ * ++ * See file CREDITS for list of people who contributed to this ++ * project. ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") ++/*OUTPUT_FORMAT("elf32-arm", "elf32-arm", "elf32-arm")*/ ++OUTPUT_ARCH(arm) ++ENTRY(_start) ++SECTIONS ++{ ++ . = 0x00000000; ++ ++ . = ALIGN(4); ++ .text : ++ { ++ cpu/arm920t/start.o (.text) ++ *(.text) ++ } ++ ++ . = ALIGN(4); ++ .rodata : { *(.rodata) } ++ ++ . = ALIGN(4); ++ .data : { *(.data) } ++ ++ . = ALIGN(4); ++ .got : { *(.got) } ++ ++ . = .; ++ __u_boot_cmd_start = .; ++ .u_boot_cmd : { *(.u_boot_cmd) } ++ __u_boot_cmd_end = .; ++ ++ . = ALIGN(4); ++ __bss_start = .; ++ .bss : { *(.bss) } ++ _end = .; ++} +diff --git a/cpu/arm920t/s3c24x0/Makefile b/cpu/arm920t/s3c24x0/Makefile +index af9e4ef..10f33f2 100644 +--- a/cpu/arm920t/s3c24x0/Makefile ++++ b/cpu/arm920t/s3c24x0/Makefile +@@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk + LIB = lib$(SOC).a + + OBJS = i2c.o interrupts.o serial.o speed.o \ +- usb_ohci.o ++ usb_ohci.o mmc.o nand_read.o nand.o + + all: .depend $(LIB) + +diff --git a/cpu/arm920t/s3c24x0/mmc.c b/cpu/arm920t/s3c24x0/mmc.c +new file mode 100644 +index 0000000..b7057e2 +--- /dev/null ++++ b/cpu/arm920t/s3c24x0/mmc.c +@@ -0,0 +1,568 @@ ++/* ++ * u-boot S3C2410 MMC/SD card driver ++ * (C) Copyright 2006 by Harald Welte <laforge@gnumonks.org> ++ * ++ * based on u-boot pxa MMC driver and linux/drivers/mmc/s3c2410mci.c ++ * (C) 2005-2005 Thomas Kleffel ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++#include <config.h> ++#include <common.h> ++#include <mmc.h> ++#include <asm/errno.h> ++#include <asm/io.h> ++#include <s3c2410.h> ++#include <part.h> ++ ++#ifdef CONFIG_MMC ++ ++#define CONFIG_MMC_WIDE ++ ++//#define MMC_DEBUG ++ ++#ifdef MMC_DEBUG ++#ifdef debug ++#undef debug ++#endif ++#define debug printf ++#endif ++ ++static S3C2410_SDI *sdi; ++ ++extern int ++fat_register_device(block_dev_desc_t *dev_desc, int part_no); ++ ++static block_dev_desc_t mmc_dev; ++ ++block_dev_desc_t * mmc_get_dev(int dev) ++{ ++ return ((block_dev_desc_t *)&mmc_dev); ++} ++ ++/* ++ * FIXME needs to read cid and csd info to determine block size ++ * and other parameters ++ */ ++static uchar mmc_buf[MMC_BLOCK_SIZE]; ++static mmc_csd_t mmc_csd; ++static int mmc_ready = 0; ++static int wide = 0; ++ ++ ++#define CMD_F_RESP 0x01 ++#define CMD_F_RESP_LONG 0x02 ++ ++static u_int32_t * ++/****************************************************/ ++mmc_cmd(ushort cmd, ulong arg, ushort flags) ++/****************************************************/ ++{ ++ static u_int32_t resp[5]; ++ ulong status; ++ int i; ++ ++ u_int32_t ccon, csta; ++ u_int32_t csta_rdy_bit = S3C2410_SDICMDSTAT_CMDSENT; ++ ++ memset(resp, 0, sizeof(resp)); ++ ++ debug("mmc_cmd CMD%d arg=0x%08x flags=%x\n", cmd, arg, flags); ++ ++ sdi->SDICSTA = 0xffffffff; ++ sdi->SDIDSTA = 0xffffffff; ++ sdi->SDIFSTA = 0xffffffff; ++ ++ sdi->SDICARG = arg; ++ ++ ccon = cmd & S3C2410_SDICMDCON_INDEX; ++ ccon |= S3C2410_SDICMDCON_SENDERHOST|S3C2410_SDICMDCON_CMDSTART; ++ ++ if (flags & CMD_F_RESP) { ++ ccon |= S3C2410_SDICMDCON_WAITRSP; ++ csta_rdy_bit = S3C2410_SDICMDSTAT_RSPFIN; /* 1 << 9 */ ++ } ++ ++ if (flags & CMD_F_RESP_LONG) ++ ccon |= S3C2410_SDICMDCON_LONGRSP; ++ ++ sdi->SDICCON = ccon; ++ ++ while (1) { ++ csta = sdi->SDICSTA; ++ if (csta & csta_rdy_bit) ++ break; ++ if (csta & S3C2410_SDICMDSTAT_CMDTIMEOUT) { ++ printf("===============> MMC CMD Timeout\n"); ++ sdi->SDICSTA |= S3C2410_SDICMDSTAT_CMDTIMEOUT; ++ break; ++ } ++ } ++ ++ debug("final MMC CMD status 0x%x\n", csta); ++ ++ sdi->SDICSTA |= csta_rdy_bit; ++ ++ if (flags & CMD_F_RESP) { ++ resp[0] = sdi->SDIRSP0; ++ resp[1] = sdi->SDIRSP1; ++ resp[2] = sdi->SDIRSP2; ++ resp[3] = sdi->SDIRSP3; ++ } ++ ++#if 0 ++ for (i=0; i<4; i ++) { ++ debug("MMC resp[%d] = 0x%08x\n", i, resp[i]); ++ } ++#endif ++ ++ return resp; ++} ++ ++#define FIFO_FILL(host) ((host->SDIFSTA & S3C2410_SDIFSTA_COUNTMASK) >> 2) ++ ++static int ++/****************************************************/ ++mmc_block_read(uchar *dst, ulong src, ulong len) ++/****************************************************/ ++{ ++ u_int32_t dcon, fifo; ++ u_int32_t *dst_u32 = (u_int32_t *)dst; ++ u_int32_t *resp; ++ ++ if (len == 0) { ++ return 0; ++ } ++ ++ debug("mmc_block_rd dst %lx src %lx len %d\n", (ulong)dst, src, len); ++ ++ /* set block len */ ++ resp = mmc_cmd(MMC_CMD_SET_BLOCKLEN, len, CMD_F_RESP); ++ sdi->SDIBSIZE = len; ++ ++ //sdi->SDIPRE = 0xff; ++ ++ /* setup data */ ++ dcon = (len >> 9) & S3C2410_SDIDCON_BLKNUM_MASK; ++ dcon |= S3C2410_SDIDCON_BLOCKMODE; ++ dcon |= S3C2410_SDIDCON_RXAFTERCMD|S3C2410_SDIDCON_XFER_RXSTART; ++ if (wide) ++ dcon |= S3C2410_SDIDCON_WIDEBUS; ++ sdi->SDIDCON = dcon; ++ ++ /* send read command */ ++ resp = mmc_cmd(MMC_CMD_READ_BLOCK, src, CMD_F_RESP); ++ ++ while (len > 0) { ++ u_int32_t sdidsta = sdi->SDIDSTA; ++ fifo = FIFO_FILL(sdi); ++ if (sdidsta & (S3C2410_SDIDSTA_FIFOFAIL| ++ S3C2410_SDIDSTA_CRCFAIL| ++ S3C2410_SDIDSTA_RXCRCFAIL| ++ S3C2410_SDIDSTA_DATATIMEOUT)) { ++ printf("mmc_block_read: err SDIDSTA=0x%08x\n", sdidsta); ++ return -EIO; ++ } ++ ++ while (fifo--) { ++ //debug("dst_u32 = 0x%08x\n", dst_u32); ++ *(dst_u32++) = sdi->SDIDAT; ++ if (len >= 4) ++ len -= 4; ++ else { ++ len = 0; ++ break; ++ } ++ } ++ } ++ ++#if 1 ++ debug("waiting for SDIDSTA (currently 0x%08x\n", sdi->SDIDSTA); ++ while (!(sdi->SDIDSTA & (1 << 4))) {} ++ debug("done waiting for SDIDSTA (currently 0x%08x\n", sdi->SDIDSTA); ++#endif ++ ++ sdi->SDIDCON = 0; ++ ++#if 0 ++ if (!(sdi->SDIDSTA & S3C2410_SDIDSTA_XFERFINISH)) ++ printf("mmc_block_read; transfer not finished!\n"); ++#endif ++ ++ return 0; ++} ++ ++static int ++/****************************************************/ ++mmc_block_write(ulong dst, uchar *src, int len) ++/****************************************************/ ++{ ++#if 0 ++ uchar *resp; ++ ushort argh, argl; ++ ulong status; ++ ++ if (len == 0) { ++ return 0; ++ } ++ ++ debug("mmc_block_wr dst %lx src %lx len %d\n", dst, (ulong)src, len); ++ ++ argh = len >> 16; ++ argl = len & 0xffff; ++ ++ /* set block len */ ++ resp = mmc_cmd(MMC_CMD_SET_BLOCKLEN, argh, argl, CMD_F_RESP); ++ ++ /* send write command */ ++ argh = dst >> 16; ++ argl = dst & 0xffff; ++ MMC_STRPCL = MMC_STRPCL_STOP_CLK; ++ MMC_NOB = 1; ++ MMC_BLKLEN = len; ++ resp = mmc_cmd(MMC_CMD_WRITE_BLOCK, dst, CMD_F_RESP, ++ MMC_CMDAT_R1|MMC_CMDAT_WRITE|MMC_CMDAT_BLOCK|MMC_CMDAT_DATA_EN); ++ ++ MMC_I_MASK = ~MMC_I_MASK_TXFIFO_WR_REQ; ++ while (len) { ++ if (MMC_I_REG & MMC_I_REG_TXFIFO_WR_REQ) { ++ int i, bytes = min(32,len); ++ ++ for (i=0; i<bytes; i++) { ++ MMC_TXFIFO = *src++; ++ } ++ if (bytes < 32) { ++ MMC_PRTBUF = MMC_PRTBUF_BUF_PART_FULL; ++ } ++ len -= bytes; ++ } ++ status = MMC_STAT; ++ if (status & MMC_STAT_ERRORS) { ++ printf("MMC_STAT error %lx\n", status); ++ return -1; ++ } ++ } ++ MMC_I_MASK = ~MMC_I_MASK_DATA_TRAN_DONE; ++ while (!(MMC_I_REG & MMC_I_REG_DATA_TRAN_DONE)); ++ MMC_I_MASK = ~MMC_I_MASK_PRG_DONE; ++ while (!(MMC_I_REG & MMC_I_REG_PRG_DONE)); ++ status = MMC_STAT; ++ if (status & MMC_STAT_ERRORS) { ++ printf("MMC_STAT error %lx\n", status); ++ return -1; ++ } ++#endif ++ return 0; ++} ++ ++ ++int ++/****************************************************/ ++mmc_read(ulong src, uchar *dst, int size) ++/****************************************************/ ++{ ++ ulong end, part_start, part_end, part_len, aligned_start, aligned_end; ++ ulong mmc_block_size, mmc_block_address; ++ ++ if (size == 0) { ++ return 0; ++ } ++ ++ if (!mmc_ready) { ++ printf("Please initialize the MMC first\n"); ++ return -1; ++ } ++ ++ mmc_block_size = MMC_BLOCK_SIZE; ++ mmc_block_address = ~(mmc_block_size - 1); ++ ++ src -= CFG_MMC_BASE; ++ end = src + size; ++ part_start = ~mmc_block_address & src; ++ part_end = ~mmc_block_address & end; ++ aligned_start = mmc_block_address & src; ++ aligned_end = mmc_block_address & end; ++ ++ /* all block aligned accesses */ ++ debug("src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ src, (ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ if (part_start) { ++ part_len = mmc_block_size - part_start; ++ debug("ps src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ src, (ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ if ((mmc_block_read(mmc_buf, aligned_start, mmc_block_size)) < 0) { ++ return -1; ++ } ++ memcpy(dst, mmc_buf+part_start, part_len); ++ dst += part_len; ++ src += part_len; ++ } ++ debug("src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ src, (ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ for (; src < aligned_end; src += mmc_block_size, dst += mmc_block_size) { ++ debug("al src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ src, (ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ if ((mmc_block_read((uchar *)(dst), src, mmc_block_size)) < 0) { ++ return -1; ++ } ++ } ++ debug("src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ src, (ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ if (part_end && src < end) { ++ debug("pe src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ src, (ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ if ((mmc_block_read(mmc_buf, aligned_end, mmc_block_size)) < 0) { ++ return -1; ++ } ++ memcpy(dst, mmc_buf, part_end); ++ } ++ return 0; ++} ++ ++int ++/****************************************************/ ++mmc_write(uchar *src, ulong dst, int size) ++/****************************************************/ ++{ ++ ulong end, part_start, part_end, part_len, aligned_start, aligned_end; ++ ulong mmc_block_size, mmc_block_address; ++ ++ if (size == 0) { ++ return 0; ++ } ++ ++ if (!mmc_ready) { ++ printf("Please initialize the MMC first\n"); ++ return -1; ++ } ++ ++ mmc_block_size = MMC_BLOCK_SIZE; ++ mmc_block_address = ~(mmc_block_size - 1); ++ ++ dst -= CFG_MMC_BASE; ++ end = dst + size; ++ part_start = ~mmc_block_address & dst; ++ part_end = ~mmc_block_address & end; ++ aligned_start = mmc_block_address & dst; ++ aligned_end = mmc_block_address & end; ++ ++ /* all block aligned accesses */ ++ debug("src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ src, (ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ if (part_start) { ++ part_len = mmc_block_size - part_start; ++ debug("ps src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ (ulong)src, dst, end, part_start, part_end, aligned_start, aligned_end); ++ if ((mmc_block_read(mmc_buf, aligned_start, mmc_block_size)) < 0) { ++ return -1; ++ } ++ memcpy(mmc_buf+part_start, src, part_len); ++ if ((mmc_block_write(aligned_start, mmc_buf, mmc_block_size)) < 0) { ++ return -1; ++ } ++ dst += part_len; ++ src += part_len; ++ } ++ debug("src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ src, (ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ for (; dst < aligned_end; src += mmc_block_size, dst += mmc_block_size) { ++ debug("al src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ src, (ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ if ((mmc_block_write(dst, (uchar *)src, mmc_block_size)) < 0) { ++ return -1; ++ } ++ } ++ debug("src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ src, (ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ if (part_end && dst < end) { ++ debug("pe src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ src, (ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ if ((mmc_block_read(mmc_buf, aligned_end, mmc_block_size)) < 0) { ++ return -1; ++ } ++ memcpy(mmc_buf, src, part_end); ++ if ((mmc_block_write(aligned_end, mmc_buf, mmc_block_size)) < 0) { ++ return -1; ++ } ++ } ++ return 0; ++} ++ ++ulong ++/****************************************************/ ++mmc_bread(int dev_num, ulong blknr, ulong blkcnt, ulong *dst) ++/****************************************************/ ++{ ++ int mmc_block_size = MMC_BLOCK_SIZE; ++ ulong src = blknr * mmc_block_size + CFG_MMC_BASE; ++ ++ mmc_read(src, (uchar *)dst, blkcnt*mmc_block_size); ++ return blkcnt; ++} ++ ++static u_int16_t rca = MMC_DEFAULT_RCA; ++ ++static u_int32_t mmc_size(const struct mmc_csd *csd) ++{ ++ u_int32_t block_len, mult, blocknr; ++ ++ block_len = csd->read_bl_len << 12; ++ mult = csd->c_size_mult1 << 8; ++ blocknr = (csd->c_size+1) * mult; ++ ++ return blocknr * block_len; ++} ++ ++int ++/****************************************************/ ++mmc_init(int verbose) ++/****************************************************/ ++{ ++ int retries, rc = -ENODEV; ++ int is_sd = 0; ++ u_int32_t *resp; ++ S3C24X0_CLOCK_POWER * const clk_power = S3C24X0_GetBase_CLOCK_POWER(); ++ ++ sdi = S3C2410_GetBase_SDI(); ++ ++ debug("mmc_init(PCLK=%u)\n", get_PCLK()); ++ ++ clk_power->CLKCON |= (1 << 9); ++ ++ /* S3C2410 has some bug that prevents reliable operation at higher speed */ ++ //sdi->SDIPRE = 0x3e; /* SDCLK = PCLK/2 / (SDIPRE+1) = 396kHz */ ++ sdi->SDIPRE = 0x02; /* SDCLK = PCLK/2 / (SDIPRE+1) = 396kHz */ ++ sdi->SDIBSIZE = 512; ++ sdi->SDIDTIMER = 0xffff; ++ sdi->SDIIMSK = 0x0; ++ sdi->SDICON = S3C2410_SDICON_FIFORESET|S3C2440_SDICON_MMCCLOCK; ++ udelay(125000); /* FIXME: 74 SDCLK cycles */ ++ ++ mmc_csd.c_size = 0; ++ ++ /* reset */ ++ retries = 10; ++ resp = mmc_cmd(MMC_CMD_RESET, 0, 0); ++ ++ printf("trying to detect SD Card...\n"); ++ while (retries--) { ++ int i; ++ udelay(100000); ++ resp = mmc_cmd(55, 0x00000000, CMD_F_RESP); ++ resp = mmc_cmd(41, 0x00300000, CMD_F_RESP); ++ ++ if (resp[0] & (1 << 31)) { ++ is_sd = 1; ++ break; ++ } ++ } ++ ++ if (retries == 0 && !is_sd) { ++ retries = 10; ++ printf("failed to detect SD Card, trying MMC\n"); ++ resp = mmc_cmd(MMC_CMD_SEND_OP_COND, 0x00ffc000, CMD_F_RESP); ++ while (retries-- && resp && !(resp[4] & 0x80)) { ++ debug("resp %x %x\n", resp[0], resp[1]); ++ udelay(50); ++ resp = mmc_cmd(1, 0x00ffff00, CMD_F_RESP); ++ } ++ } ++ ++ /* try to get card id */ ++ resp = mmc_cmd(MMC_CMD_ALL_SEND_CID, 0, CMD_F_RESP|CMD_F_RESP_LONG); ++ if (resp) { ++ /* TODO configure mmc driver depending on card attributes */ ++ mmc_cid_t *cid = (mmc_cid_t *)resp; ++ if (verbose) { ++ printf("MMC found. Card desciption is:\n"); ++ printf("Manufacturer ID = %02x%02x%02x\n", ++ cid->id[0], cid->id[1], cid->id[2]); ++ printf("HW/FW Revision = %x %x\n",cid->hwrev, cid->fwrev); ++ cid->hwrev = cid->fwrev = 0; /* null terminate string */ ++ printf("Product Name = %s\n",cid->name); ++ printf("Serial Number = %02x%02x%02x\n", ++ cid->sn[0], cid->sn[1], cid->sn[2]); ++ printf("Month = %d\n",cid->month); ++ printf("Year = %d\n",1997 + cid->year); ++ } ++ /* fill in device description */ ++ mmc_dev.if_type = IF_TYPE_MMC; ++ mmc_dev.part_type = PART_TYPE_DOS; ++ mmc_dev.dev = 0; ++ mmc_dev.lun = 0; ++ mmc_dev.type = 0; ++ /* FIXME fill in the correct size (is set to 32MByte) */ ++ mmc_dev.blksz = 512; ++ mmc_dev.lba = 0x10000; ++ sprintf(mmc_dev.vendor,"Man %02x%02x%02x Snr %02x%02x%02x", ++ cid->id[0], cid->id[1], cid->id[2], ++ cid->sn[0], cid->sn[1], cid->sn[2]); ++ sprintf(mmc_dev.product,"%s",cid->name); ++ sprintf(mmc_dev.revision,"%x %x",cid->hwrev, cid->fwrev); ++ mmc_dev.removable = 0; ++ mmc_dev.block_read = mmc_bread; ++ ++ /* MMC exists, get CSD too */ ++ resp = mmc_cmd(MMC_CMD_SET_RCA, MMC_DEFAULT_RCA, CMD_F_RESP); ++ if (is_sd) ++ rca = resp[0] >> 16; ++ ++ resp = mmc_cmd(MMC_CMD_SEND_CSD, rca<<16, CMD_F_RESP|CMD_F_RESP_LONG); ++ if (resp) { ++ mmc_csd_t *csd = (mmc_csd_t *)resp; ++ memcpy(&mmc_csd, csd, sizeof(csd)); ++ rc = 0; ++ mmc_ready = 1; ++ /* FIXME add verbose printout for csd */ ++ printf("READ_BL_LEN=%u, C_SIZE_MULT=%u, C_SIZE=%u\n", ++ csd->read_bl_len, csd->c_size_mult1, csd->c_size); ++ printf("size = %u\n", mmc_size(csd)); ++ } ++ } ++ ++ resp = mmc_cmd(MMC_CMD_SELECT_CARD, rca<<16, CMD_F_RESP); ++ ++#ifdef CONFIG_MMC_WIDE ++ if (is_sd) { ++ resp = mmc_cmd(55, rca<<16, CMD_F_RESP); ++ resp = mmc_cmd(6, 0x02, CMD_F_RESP); ++ wide = 1; ++ } ++#endif ++ ++ fat_register_device(&mmc_dev,1); /* partitions start counting with 1 */ ++ ++ return rc; ++} ++ ++int ++mmc_ident(block_dev_desc_t *dev) ++{ ++ return 0; ++} ++ ++int ++mmc2info(ulong addr) ++{ ++ /* FIXME hard codes to 32 MB device */ ++ if (addr >= CFG_MMC_BASE && addr < CFG_MMC_BASE + 0x02000000) { ++ return 1; ++ } ++ return 0; ++} ++ ++#endif /* CONFIG_MMC */ +diff --git a/cpu/arm920t/s3c24x0/nand.c b/cpu/arm920t/s3c24x0/nand.c +new file mode 100644 +index 0000000..f720229 +--- /dev/null ++++ b/cpu/arm920t/s3c24x0/nand.c +@@ -0,0 +1,212 @@ ++/* ++ * (C) Copyright 2006 Harald Welte <hwelte@hmw-consulting.de> ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++#include <common.h> ++ ++#if 0 ++#define DEBUGN printf ++#else ++#define DEBUGN(x, args ...) {} ++#endif ++ ++#if (CONFIG_COMMANDS & CFG_CMD_NAND) ++#if !defined(CFG_NAND_LEGACY) ++ ++#include <nand.h> ++#include <s3c2410.h> ++ ++#define __REGb(x) (*(volatile unsigned char *)(x)) ++#define __REGi(x) (*(volatile unsigned int *)(x)) ++ ++#define NF_BASE 0x4e000000 ++#define NFCONF __REGi(NF_BASE + 0x0) ++#define NFCMD __REGb(NF_BASE + 0x4) ++#define NFADDR __REGb(NF_BASE + 0x8) ++#define NFDATA __REGb(NF_BASE + 0xc) ++#define NFSTAT __REGb(NF_BASE + 0x10) ++ ++#define S3C2410_NFCONF_EN (1<<15) ++#define S3C2410_NFCONF_512BYTE (1<<14) ++#define S3C2410_NFCONF_4STEP (1<<13) ++#define S3C2410_NFCONF_INITECC (1<<12) ++#define S3C2410_NFCONF_nFCE (1<<11) ++#define S3C2410_NFCONF_TACLS(x) ((x)<<8) ++#define S3C2410_NFCONF_TWRPH0(x) ((x)<<4) ++#define S3C2410_NFCONF_TWRPH1(x) ((x)<<0) ++ ++static u16 s3c2410_read_word(struct mtd_info *mtd) ++{ ++ unsigned char byte = 0; ++ ++ printf("s3c2410_read_word: WARNING, this function is not implemented yet\n"); ++ return byte; ++} ++ ++static void s3c2410_write_word(struct mtd_info *mtd, u16 word) ++{ ++ printf("s3c2410_write_word: WARNING, this function is not implemented yet\n"); ++} ++ ++static void s3c2410_hwcontrol(struct mtd_info *mtd, int cmd) ++{ ++ struct nand_chip *chip = mtd->priv; ++ ++ DEBUGN("hwcontrol(): 0x%02x: ", cmd); ++ ++ switch (cmd) { ++ case NAND_CTL_SETNCE: ++ NFCONF &= ~S3C2410_NFCONF_nFCE; ++ DEBUGN("NFCONF=0x%08x\n", NFCONF); ++ break; ++ case NAND_CTL_CLRNCE: ++ NFCONF |= S3C2410_NFCONF_nFCE; ++ DEBUGN("NFCONF=0x%08x\n", NFCONF); ++ break; ++ case NAND_CTL_SETALE: ++ chip->IO_ADDR_W = NF_BASE + 0x8; ++ DEBUGN("SETALE\n"); ++ break; ++ case NAND_CTL_SETCLE: ++ chip->IO_ADDR_W = NF_BASE + 0x4; ++ DEBUGN("SETCLE\n"); ++ break; ++ default: ++ chip->IO_ADDR_W = NF_BASE + 0xc; ++ break; ++ } ++ return; ++} ++ ++static int s3c2410_dev_ready(struct mtd_info *mtd) ++{ ++ DEBUGN("dev_ready\n"); ++ return (NFSTAT & 0x01); ++} ++ ++static void s3c2410_cmdfunc(struct mtd_info *mtd, unsigned cmd, ++ int column, int page_addr) ++{ ++ DEBUGN("cmdfunc(): 0x%02x, col=%d, page=%d\n", cmd, column, page_addr); ++ ++ switch (cmd) { ++ case NAND_CMD_READ0: ++ case NAND_CMD_READ1: ++ case NAND_CMD_READOOB: ++ NFCMD = cmd; ++ NFADDR = column & 0xff; ++ NFADDR = page_addr & 0xff; ++ NFADDR = (page_addr >> 8) & 0xff; ++ NFADDR = (page_addr >> 16) & 0xff; ++ break; ++ case NAND_CMD_READID: ++ NFCMD = cmd; ++ NFADDR = 0; ++ break; ++ case NAND_CMD_PAGEPROG: ++ NFCMD = cmd; ++ printf("PAGEPROG not implemented\n"); ++ break; ++ case NAND_CMD_ERASE1: ++ NFCMD = cmd; ++ NFADDR = page_addr & 0xff; ++ NFADDR = (page_addr >> 8) & 0xff; ++ NFADDR = (page_addr >> 16) & 0xff; ++ break; ++ case NAND_CMD_ERASE2: ++ NFCMD = cmd; ++ break; ++ case NAND_CMD_SEQIN: ++ printf("SEQIN not implemented\n"); ++ break; ++ case NAND_CMD_STATUS: ++ NFCMD = cmd; ++ break; ++ case NAND_CMD_RESET: ++ NFCMD = cmd; ++ break; ++ default: ++ break; ++ } ++ ++ while (!s3c2410_dev_ready(mtd)); ++} ++ ++void board_nand_init(struct nand_chip *nand) ++{ ++ u_int32_t cfg; ++ u_int8_t tacls, twrph0, twrph1; ++ S3C24X0_CLOCK_POWER * const clk_power = S3C24X0_GetBase_CLOCK_POWER(); ++ ++ DEBUGN("board_nand_init()\n"); ++ ++ clk_power->CLKCON |= (1 << 4); ++ ++ /* initialize hardware */ ++ twrph0 = 3; twrph1 = 0; tacls = 0; ++ ++ /* default timings: maximum */ ++ //twrph0 = 8; twrph1 = 8; tacls = 8; ++ ++ cfg = S3C2410_NFCONF_EN; ++ cfg |= S3C2410_NFCONF_TACLS(tacls - 1); ++ cfg |= S3C2410_NFCONF_TWRPH0(twrph0 - 1); ++ cfg |= S3C2410_NFCONF_TWRPH1(twrph1 - 1); ++ ++ //NFCONF = cfg; ++ NFCONF = 0xf842; ++ ++ /* initialize nand_chip data structure */ ++ nand->IO_ADDR_R = nand->IO_ADDR_W = 0x4e00000c; ++ ++ /* read_buf and write_buf are default */ ++ /* read_byte and write_byte are default */ ++ ++ /* need to override word read/write since default routines try 16bit wide ++ * register access of an (in our case) 8bit register */ ++ nand->read_word = s3c2410_read_word; ++ nand->write_word = s3c2410_write_word; ++ ++ /* hwcontrol always must be implemented */ ++ nand->hwcontrol = s3c2410_hwcontrol; ++ ++ nand->dev_ready = s3c2410_dev_ready; ++ ++ nand->eccmode = NAND_ECC_SOFT; ++ nand->options = 0; ++ //nand->waitfunc = dfc_wait; ++ ++ //nand->cmdfunc = s3c2410_cmdfunc; ++ //nand->autooob = &delta_oob; ++ //nand->badblock_pattern = &delta_bbt_descr; ++ ++#if 0 ++ /* reset */ ++ nand->hwcontrol(NULL, NAND_CTL_SETNCE); ++ nand->cmdfunc(NULL, NAND_CMD_RESET, -1, -1); ++ while (nand->dev_ready(NULL) == 0) {} ++ nand->hwcontrol(NULL, NAND_CTL_CLRNCE); ++#endif ++ ++ DEBUGN("end of nand_init\n"); ++} ++ ++#else ++ #error "U-Boot legacy NAND support not available for S3C2410" ++#endif ++#endif +diff --git a/cpu/arm920t/s3c24x0/nand_read.c b/cpu/arm920t/s3c24x0/nand_read.c +new file mode 100644 +index 0000000..9d97932 +--- /dev/null ++++ b/cpu/arm920t/s3c24x0/nand_read.c +@@ -0,0 +1,75 @@ ++/* ++ * nand_read.c: Simple NAND read functions for booting from NAND ++ * ++ * Taken from GPLv2 licensed vivi bootloader, ++ * Copyright (C) 2002 MIZI Research, Inc. ++ * ++ * Author: Hwang, Chideok <hwang@mizi.com> ++ * Date : $Date: 2004/02/04 10:37:37 $ ++ * ++ * u-boot integration (C) 2006 by Harald Welte <hwelte@hmw-consulting.de> ++ */ ++ ++#include <common.h> ++ ++#ifdef CONFIG_S3C2410_NAND_BOOT ++ ++#define __REGb(x) (*(volatile unsigned char *)(x)) ++#define __REGi(x) (*(volatile unsigned int *)(x)) ++#define NF_BASE 0x4e000000 ++#define NFCONF __REGi(NF_BASE + 0x0) ++#define NFCMD __REGb(NF_BASE + 0x4) ++#define NFADDR __REGb(NF_BASE + 0x8) ++#define NFDATA __REGb(NF_BASE + 0xc) ++#define NFSTAT __REGb(NF_BASE + 0x10) ++ ++#define BUSY 1 ++inline void wait_idle(void) { ++ int i; ++ ++ while(!(NFSTAT & BUSY)) ++ for(i=0; i<10; i++); ++} ++ ++#define NAND_SECTOR_SIZE 512 ++#define NAND_BLOCK_MASK (NAND_SECTOR_SIZE - 1) ++ ++/* low level nand read function */ ++int ++nand_read_ll(unsigned char *buf, unsigned long start_addr, int size) ++{ ++ int i, j; ++ ++ if ((start_addr & NAND_BLOCK_MASK) || (size & NAND_BLOCK_MASK)) { ++ return -1; /* invalid alignment */ ++ } ++ ++ /* chip Enable */ ++ NFCONF &= ~0x800; ++ for(i=0; i<10; i++); ++ ++ for(i=start_addr; i < (start_addr + size);) { ++ /* READ0 */ ++ NFCMD = 0; ++ ++ /* Write Address */ ++ NFADDR = i & 0xff; ++ NFADDR = (i >> 9) & 0xff; ++ NFADDR = (i >> 17) & 0xff; ++ NFADDR = (i >> 25) & 0xff; ++ ++ wait_idle(); ++ ++ for(j=0; j < NAND_SECTOR_SIZE; j++, i++) { ++ *buf = (NFDATA & 0xff); ++ buf++; ++ } ++ } ++ ++ /* chip Disable */ ++ NFCONF |= 0x800; /* chip disable */ ++ ++ return 0; ++} ++ ++#endif /* CONFIG_S3C2410_NAND_BOOT */ +diff --git a/cpu/arm920t/start.S b/cpu/arm920t/start.S +index 346f0d0..232e2c2 100644 +--- a/cpu/arm920t/start.S ++++ b/cpu/arm920t/start.S +@@ -5,6 +5,10 @@ + * Copyright (c) 2002 Alex Züpke <azu@sysgo.de> + * Copyright (c) 2002 Gary Jennejohn <gj@denx.de> + * ++ * S3C2410 NAND portions ++ * Copyright (c) 2001 MIZI Research, Inc. ++ * Copyright (c) 2006 Harald Welte <hwelte@hmw-consulting.de> ++ * + * See file CREDITS for list of people who contributed to this + * project. + * +@@ -27,6 +31,7 @@ + + #include <config.h> + #include <version.h> ++#include <s3c2410.h> + + + /* +@@ -161,6 +166,7 @@ #ifndef CONFIG_SKIP_LOWLEVEL_INIT + #endif + + #ifndef CONFIG_SKIP_RELOCATE_UBOOT ++#ifndef CONFIG_S3C2410_NAND_BOOT + relocate: /* relocate U-Boot to RAM */ + adr r0, _start /* r0 <- current position of code */ + ldr r1, _TEXT_BASE /* test if we run from flash or RAM */ +@@ -177,6 +183,93 @@ copy_loop: + stmia r1!, {r3-r10} /* copy to target address [r1] */ + cmp r0, r2 /* until source end addreee [r2] */ + ble copy_loop ++#else /* NAND_BOOT */ ++relocate: ++copy_myself: ++ /* mov r10, lr */ ++ ++ @ reset NAND ++ mov r1, #S3C2410_NAND_BASE ++ ldr r2, =0xf842 @ initial value enable tacls=3,rph0=6,rph1=0 ++ str r2, [r1, #oNFCONF] ++ ldr r2, [r1, #oNFCONF] ++ bic r2, r2, #0x800 @ enable chip ++ str r2, [r1, #oNFCONF] ++ mov r2, #0xff @ RESET command ++ strb r2, [r1, #oNFCMD] ++ mov r3, #0 @ wait ++1: add r3, r3, #0x1 ++ cmp r3, #0xa ++ blt 1b ++2: ldr r2, [r1, #oNFSTAT] @ wait ready ++ tst r2, #0x1 ++ beq 2b ++ ldr r2, [r1, #oNFCONF] ++ orr r2, r2, #0x800 @ disable chip ++ str r2, [r1, #oNFCONF] ++ ++#if 0 ++ @ get ready to call C functions (for nand_read()) ++ ldr sp, DW_STACK_START @ setup stack pointer ++ mov fp, #0 @ no previous frame, so fp=0 ++#else ++ ldr r0, _TEXT_BASE /* upper 128 KiB: relocated uboot */ ++ sub r0, r0, #CFG_MALLOC_LEN /* malloc area */ ++ sub r0, r0, #CFG_GBL_DATA_SIZE /* bdinfo */ ++#ifdef CONFIG_USE_IRQ ++ sub r0, r0, #(CONFIG_STACKSIZE_IRQ+CONFIG_STACKSIZE_FIQ) ++#endif ++ sub sp, r0, #12 /* leave 3 words for abort-stack */ ++#endif ++ ++ @ copy u-boot to RAM ++ ldr r0, _TEXT_BASE ++ mov r1, #0x0 ++ mov r2, #0x30000 ++ bl nand_read_ll ++ ++ tst r0, #0x0 ++ beq ok_nand_read ++#ifdef CONFIG_DEBUG_LL ++bad_nand_read: ++ ldr r0, STR_FAIL ++ ldr r1, SerBase ++ bl PrintWord ++1: b 1b @ infinite loop ++#endif ++ ++ok_nand_read: ++#ifdef CONFIG_DEBUG_LL ++ ldr r0, STR_OK ++ ldr r1, SerBase ++ bl PrintWord ++#endif ++ ++ @ verify ++ mov r0, #0 ++ @ldr r1, =0x33f00000 ++ ldr r1, _TEXT_BASE ++ mov r2, #0x400 @ 4 bytes * 1024 = 4K-bytes ++go_next: ++ ldr r3, [r0], #4 ++ ldr r4, [r1], #4 ++ teq r3, r4 ++ bne notmatch ++ subs r2, r2, #4 ++ beq done_nand_read ++ bne go_next ++notmatch: ++#ifdef CONFIG_DEBUG_LL ++ sub r0, r0, #4 ++ ldr r1, SerBase ++ bl PrintHexWord ++ ldr r0, STR_FAIL ++ ldr r1, SerBase ++ bl PrintWord ++#endif ++1: b 1b ++done_nand_read: ++#endif /* NAND_BOOT */ + #endif /* CONFIG_SKIP_RELOCATE_UBOOT */ + + /* Set up the stack */ +diff --git a/drivers/Makefile b/drivers/Makefile +index 9be95c7..eef266a 100644 +--- a/drivers/Makefile ++++ b/drivers/Makefile +@@ -50,7 +50,7 @@ OBJS = 3c589.o 5701rls.o ali512x.o \ + videomodes.o w83c553f.o \ + ks8695eth.o \ + pxa_pcmcia.o mpc8xx_pcmcia.o tqm8xx_pcmcia.o \ +- rpx_pcmcia.o ++ rpx_pcmcia.o s3c2410_fb.o + + all: $(LIB) + +diff --git a/drivers/cs8900.c b/drivers/cs8900.c +index 082434c..1cce622 100644 +--- a/drivers/cs8900.c ++++ b/drivers/cs8900.c +@@ -120,6 +120,7 @@ void cs8900_get_enetaddr (uchar * addr) + unsigned char env_enetaddr[6]; + char *tmp = getenv ("ethaddr"); + char *end; ++ unsigned short chip_id; + + for (i=0; i<6; i++) { + env_enetaddr[i] = tmp ? simple_strtoul(tmp, &end, 16) : 0; +@@ -128,7 +129,9 @@ void cs8900_get_enetaddr (uchar * addr) + } + + /* verify chip id */ +- if (get_reg_init_bus (PP_ChipID) != 0x630e) ++ chip_id = get_reg_init_bus (PP_ChipID); ++ printf("\ncs8900a chipid 0x%04x\n", chip_id); ++ if (chip_id != 0x630e) + return; + eth_reset (); + if ((get_reg (PP_SelfST) & (PP_SelfSTAT_EEPROM | PP_SelfSTAT_EEPROM_OK)) == +diff --git a/drivers/s3c2410_fb.c b/drivers/s3c2410_fb.c +new file mode 100644 +index 0000000..fc389a9 +--- /dev/null ++++ b/drivers/s3c2410_fb.c +@@ -0,0 +1,182 @@ ++/* ++ * (C) Copyright 2006 Harald Welte <hwelte@hmw-consulting.de> ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++#include <common.h> ++ ++#if defined(CONFIG_VIDEO_S3C2410) ++ ++#include <video_fb.h> ++#include "videomodes.h" ++#include <s3c2410.h> ++/* ++ * Export Graphic Device ++ */ ++GraphicDevice smi; ++ ++#define VIDEO_MEM_SIZE 0x200000 ++ ++/******************************************************************************* ++ * ++ * Init video chip with common Linux graphic modes (lilo) ++ */ ++void *video_hw_init (void) ++{ ++ S3C24X0_LCD * const lcd = S3C24X0_GetBase_LCD(); ++ GraphicDevice *pGD = (GraphicDevice *)&smi; ++ int videomode; ++ unsigned long t1, hsynch, vsynch; ++ char *penv; ++ int tmp, i, bits_per_pixel; ++ struct ctfb_res_modes *res_mode; ++ struct ctfb_res_modes var_mode; ++ unsigned char videoout; ++ unsigned int *vm; ++ ++ /* Search for video chip */ ++ printf("Video: "); ++ ++ tmp = 0; ++ ++ videomode = CFG_DEFAULT_VIDEO_MODE; ++ /* get video mode via environment */ ++ if ((penv = getenv ("videomode")) != NULL) { ++ /* deceide if it is a string */ ++ if (penv[0] <= '9') { ++ videomode = (int) simple_strtoul (penv, NULL, 16); ++ tmp = 1; ++ } ++ } else { ++ tmp = 1; ++ } ++ if (tmp) { ++ /* parameter are vesa modes */ ++ /* search params */ ++ for (i = 0; i < VESA_MODES_COUNT; i++) { ++ if (vesa_modes[i].vesanr == videomode) ++ break; ++ } ++ if (i == VESA_MODES_COUNT) { ++ printf ("no VESA Mode found, switching to mode 0x%x ", CFG_DEFAULT_VIDEO_MODE); ++ i = 0; ++ } ++ res_mode = ++ (struct ctfb_res_modes *) &res_mode_init[vesa_modes[i]. ++ resindex]; ++ bits_per_pixel = vesa_modes[i].bits_per_pixel; ++ } else { ++ ++ res_mode = (struct ctfb_res_modes *) &var_mode; ++ bits_per_pixel = video_get_params (res_mode, penv); ++ } ++ ++ /* calculate hsynch and vsynch freq (info only) */ ++ t1 = (res_mode->left_margin + res_mode->xres + ++ res_mode->right_margin + res_mode->hsync_len) / 8; ++ t1 *= 8; ++ t1 *= res_mode->pixclock; ++ t1 /= 1000; ++ hsynch = 1000000000L / t1; ++ t1 *= ++ (res_mode->upper_margin + res_mode->yres + ++ res_mode->lower_margin + res_mode->vsync_len); ++ t1 /= 1000; ++ vsynch = 1000000000L / t1; ++ ++ /* fill in Graphic device struct */ ++ sprintf (pGD->modeIdent, "%dx%dx%d %ldkHz %ldHz", res_mode->xres, ++ res_mode->yres, bits_per_pixel, (hsynch / 1000), ++ (vsynch / 1000)); ++ printf ("%s\n", pGD->modeIdent); ++ pGD->winSizeX = res_mode->xres; ++ pGD->winSizeY = res_mode->yres; ++ pGD->plnSizeX = res_mode->xres; ++ pGD->plnSizeY = res_mode->yres; ++ switch (bits_per_pixel) { ++ case 8: ++ pGD->gdfBytesPP = 1; ++ pGD->gdfIndex = GDF__8BIT_INDEX; ++ break; ++ case 15: ++ pGD->gdfBytesPP = 2; ++ pGD->gdfIndex = GDF_15BIT_555RGB; ++ break; ++ case 16: ++ pGD->gdfBytesPP = 2; ++ pGD->gdfIndex = GDF_16BIT_565RGB; ++ break; ++ case 24: ++ pGD->gdfBytesPP = 3; ++ pGD->gdfIndex = GDF_24BIT_888RGB; ++ break; ++ } ++ ++#if 0 ++ pGD->isaBase = CFG_ISA_IO; ++ pGD->pciBase = pci_mem_base; ++ pGD->dprBase = (pci_mem_base + 0x400000 + 0x8000); ++ pGD->vprBase = (pci_mem_base + 0x400000 + 0xc000); ++ pGD->cprBase = (pci_mem_base + 0x400000 + 0xe000); ++#endif ++ pGD->frameAdrs = LCD_VIDEO_ADDR; ++ pGD->memSize = VIDEO_MEM_SIZE; ++ ++ lcd->LCDSADDR1 = LCD_VIDEO_ADDR >> 1; ++ lcd->LCDSADDR2 = (LCD_VIDEO_ADDR + 0x4b000) >> 1; ++ lcd->LCDSADDR3 = 0x000000f0; ++ ++ lcd->LCDCON1 = 0x00000479; ++ lcd->LCDCON2 = 0x014fc183; ++ lcd->LCDCON3 = 0x0060ef07; ++ lcd->LCDCON4 = 0x00000003; ++ lcd->LCDCON5 = 0x00000b09; ++ lcd->LPCSEL = 0x00000cf0; ++ ++ pGD->winSizeX = pGD->plnSizeX = 240; ++ pGD->winSizeY = pGD->plnSizeY = 320; ++ pGD->gdfBytesPP = 2; ++ pGD->gdfIndex = GDF_16BIT_565RGB; ++ ++ /* Enable Display */ ++ videoout = 2; /* Default output is CRT */ ++ if ((penv = getenv ("videoout")) != NULL) { ++ /* deceide if it is a string */ ++ videoout = (int) simple_strtoul (penv, NULL, 16); ++ } ++ ++ printf("clearing video memory\n"); ++ /* Clear video memory */ ++ i = pGD->memSize/4; ++ vm = (unsigned int *)pGD->frameAdrs; ++ while(i--) ++ *vm++ = 0; ++ ++ printf("returning from video_hw_init\n"); ++ return ((void*)&smi); ++} ++ ++void ++video_set_lut (unsigned int index, /* color number */ ++ unsigned char r, /* red */ ++ unsigned char g, /* green */ ++ unsigned char b /* blue */ ++ ) ++{ ++} ++ ++#endif /* CONFIG_VIDEO_S3C2410 */ +diff --git a/drivers/usbdcore_s3c2410.c b/drivers/usbdcore_s3c2410.c +new file mode 100644 +index 0000000..143fdf2 +--- /dev/null ++++ b/drivers/usbdcore_s3c2410.c +@@ -0,0 +1,1609 @@ ++/* ++ * (C) Copyright 2003 ++ * Gerry Hamel, geh@ti.com, Texas Instruments ++ * ++ * Based on ++ * linux/drivers/usb/device/bi/omap.c ++ * TI OMAP1510 USB bus interface driver ++ * ++ * Author: MontaVista Software, Inc. ++ * source@mvista.com ++ * (C) Copyright 2002 ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ */ ++ ++#include <common.h> ++ ++#if defined(CONFIG_S3C2410) && defined(CONFIG_USB_DEVICE) ++ ++#include <asm/io.h> ++ ++#include "usbdcore.h" ++#include "usbdcore_s3c2410.h" ++#include "usbdcore_ep0.h" ++ ++ ++#define UDC_INIT_MDELAY 80 /* Device settle delay */ ++#define UDC_MAX_ENDPOINTS 31 /* Number of endpoints on this UDC */ ++ ++/* Some kind of debugging output... */ ++#if 1 ++#define UDCDBG(str) ++#define UDCDBGA(fmt,args...) ++#else /* The bugs still exists... */ ++#define UDCDBG(str) serial_printf("[%s] %s:%d: " str "\n", __FILE__,__FUNCTION__,__LINE__) ++#define UDCDBGA(fmt,args...) serial_printf("[%s] %s:%d: " fmt "\n", __FILE__,__FUNCTION__,__LINE__, ##args) ++#endif ++ ++#if 1 ++#define UDCREG(name) ++#define UDCREGL(name) ++#else /* The bugs still exists... */ ++#define UDCREG(name) serial_printf("%s():%d: %s[%08x]=%.4x\n",__FUNCTION__,__LINE__, (#name), name, inw(name)) /* For 16-bit regs */ ++#define UDCREGL(name) serial_printf("%s():%d: %s[%08x]=%.8x\n",__FUNCTION__,__LINE__, (#name), name, inl(name)) /* For 32-bit regs */ ++#endif ++ ++ ++static struct urb *ep0_urb = NULL; ++ ++static struct usb_device_instance *udc_device; /* Used in interrupt handler */ ++static u16 udc_devstat = 0; /* UDC status (DEVSTAT) */ ++static u32 udc_interrupts = 0; ++ ++static void udc_stall_ep (unsigned int ep_addr); ++ ++ ++static struct usb_endpoint_instance *s3c2410_find_ep (int ep) ++{ ++ int i; ++ ++ for (i = 0; i < udc_device->bus->max_endpoints; i++) { ++ if (udc_device->bus->endpoint_array[i].endpoint_address == ep) ++ return &udc_device->bus->endpoint_array[i]; ++ } ++ return NULL; ++} ++ ++/* ************************************************************************** */ ++/* IO ++ */ ++ ++/* ++ * omap1510_prepare_endpoint_for_rx ++ * ++ * This function implements TRM Figure 14-11. ++ * ++ * The endpoint to prepare for transfer is specified as a physical endpoint ++ * number. For OUT (rx) endpoints 1 through 15, the corresponding endpoint ++ * configuration register is checked to see if the endpoint is ISO or not. ++ * If the OUT endpoint is valid and is non-ISO then its FIFO is enabled. ++ * No action is taken for endpoint 0 or for IN (tx) endpoints 16 through 30. ++ */ ++static void omap1510_prepare_endpoint_for_rx (int ep_addr) ++{ ++ int ep_num = ep_addr & USB_ENDPOINT_NUMBER_MASK; ++ ++ UDCDBGA ("omap1510_prepare_endpoint %x", ep_addr); ++ if (((ep_addr & USB_ENDPOINT_DIR_MASK) == USB_DIR_OUT)) { ++ if ((inw (UDC_EP_RX (ep_num)) & ++ (UDC_EPn_RX_Valid | UDC_EPn_RX_Iso)) == ++ UDC_EPn_RX_Valid) { ++ /* rx endpoint is valid, non-ISO, so enable its FIFO */ ++ outw (UDC_EP_Sel | ep_num, UDC_EP_NUM); ++ outw (UDC_Set_FIFO_En, UDC_CTRL); ++ outw (0, UDC_EP_NUM); ++ } ++ } ++} ++ ++/* omap1510_configure_endpoints ++ * ++ * This function implements TRM Figure 14-10. ++ */ ++static void omap1510_configure_endpoints (struct usb_device_instance *device) ++{ ++ int ep; ++ struct usb_bus_instance *bus; ++ struct usb_endpoint_instance *endpoint; ++ unsigned short ep_ptr; ++ unsigned short ep_size; ++ unsigned short ep_isoc; ++ unsigned short ep_doublebuffer; ++ int ep_addr; ++ int packet_size; ++ int buffer_size; ++ int attributes; ++ ++ bus = device->bus; ++ ++ /* There is a dedicated 2048 byte buffer for USB packets that may be ++ * arbitrarily partitioned among the endpoints on 8-byte boundaries. ++ * The first 8 bytes are reserved for receiving setup packets on ++ * endpoint 0. ++ */ ++ ep_ptr = 8; /* reserve the first 8 bytes for the setup fifo */ ++ ++ for (ep = 0; ep < bus->max_endpoints; ep++) { ++ endpoint = bus->endpoint_array + ep; ++ ep_addr = endpoint->endpoint_address; ++ if ((ep_addr & USB_ENDPOINT_DIR_MASK) == USB_DIR_IN) { ++ /* IN endpoint */ ++ packet_size = endpoint->tx_packetSize; ++ attributes = endpoint->tx_attributes; ++ } else { ++ /* OUT endpoint */ ++ packet_size = endpoint->rcv_packetSize; ++ attributes = endpoint->rcv_attributes; ++ } ++ ++ switch (packet_size) { ++ case 0: ++ ep_size = 0; ++ break; ++ case 8: ++ ep_size = 0; ++ break; ++ case 16: ++ ep_size = 1; ++ break; ++ case 32: ++ ep_size = 2; ++ break; ++ case 64: ++ ep_size = 3; ++ break; ++ case 128: ++ ep_size = 4; ++ break; ++ case 256: ++ ep_size = 5; ++ break; ++ case 512: ++ ep_size = 6; ++ break; ++ default: ++ UDCDBGA ("ep 0x%02x has bad packet size %d", ++ ep_addr, packet_size); ++ packet_size = 0; ++ ep_size = 0; ++ break; ++ } ++ ++ switch (attributes & USB_ENDPOINT_XFERTYPE_MASK) { ++ case USB_ENDPOINT_XFER_CONTROL: ++ case USB_ENDPOINT_XFER_BULK: ++ case USB_ENDPOINT_XFER_INT: ++ default: ++ /* A non-isochronous endpoint may optionally be ++ * double-buffered. For now we disable ++ * double-buffering. ++ */ ++ ep_doublebuffer = 0; ++ ep_isoc = 0; ++ if (packet_size > 64) ++ packet_size = 0; ++ if (!ep || !ep_doublebuffer) ++ buffer_size = packet_size; ++ else ++ buffer_size = packet_size * 2; ++ break; ++ case USB_ENDPOINT_XFER_ISOC: ++ /* Isochronous endpoints are always double- ++ * buffered, but the double-buffering bit ++ * in the endpoint configuration register ++ * becomes the msb of the endpoint size so we ++ * set the double-buffering flag to zero. ++ */ ++ ep_doublebuffer = 0; ++ ep_isoc = 1; ++ buffer_size = packet_size * 2; ++ break; ++ } ++ ++ /* check to see if our packet buffer RAM is exhausted */ ++ if ((ep_ptr + buffer_size) > 2048) { ++ UDCDBGA ("out of packet RAM for ep 0x%02x buf size %d", ep_addr, buffer_size); ++ buffer_size = packet_size = 0; ++ } ++ ++ /* force a default configuration for endpoint 0 since it is ++ * always enabled ++ */ ++ if (!ep && ((packet_size < 8) || (packet_size > 64))) { ++ buffer_size = packet_size = 64; ++ ep_size = 3; ++ } ++ ++ if (!ep) { ++ /* configure endpoint 0 */ ++ outw ((ep_size << 12) | (ep_ptr >> 3), UDC_EP0); ++ /*UDCDBGA("ep 0 buffer offset 0x%03x packet size 0x%03x", */ ++ /* ep_ptr, packet_size); */ ++ } else if ((ep_addr & USB_ENDPOINT_DIR_MASK) == USB_DIR_IN) { ++ /* IN endpoint */ ++ if (packet_size) { ++ outw ((1 << 15) | (ep_doublebuffer << 14) | ++ (ep_size << 12) | (ep_isoc << 11) | ++ (ep_ptr >> 3), ++ UDC_EP_TX (ep_addr & ++ USB_ENDPOINT_NUMBER_MASK)); ++ UDCDBGA ("IN ep %d buffer offset 0x%03x" ++ " packet size 0x%03x", ++ ep_addr & USB_ENDPOINT_NUMBER_MASK, ++ ep_ptr, packet_size); ++ } else { ++ outw (0, ++ UDC_EP_TX (ep_addr & ++ USB_ENDPOINT_NUMBER_MASK)); ++ } ++ } else { ++ /* OUT endpoint */ ++ if (packet_size) { ++ outw ((1 << 15) | (ep_doublebuffer << 14) | ++ (ep_size << 12) | (ep_isoc << 11) | ++ (ep_ptr >> 3), ++ UDC_EP_RX (ep_addr & ++ USB_ENDPOINT_NUMBER_MASK)); ++ UDCDBGA ("OUT ep %d buffer offset 0x%03x" ++ " packet size 0x%03x", ++ ep_addr & USB_ENDPOINT_NUMBER_MASK, ++ ep_ptr, packet_size); ++ } else { ++ outw (0, ++ UDC_EP_RX (ep_addr & ++ USB_ENDPOINT_NUMBER_MASK)); ++ } ++ } ++ ep_ptr += buffer_size; ++ } ++} ++ ++static void s3c2410_deconfigure_device (void) ++{ ++ int epnum; ++ ++ UDCDBG ("clear Cfg_Lock"); ++ outw (inw (UDC_SYSCON1) & ~UDC_Cfg_Lock, UDC_SYSCON1); ++ UDCREG (UDC_SYSCON1); ++ ++ /* deconfigure all endpoints */ ++ for (epnum = 1; epnum <= 15; epnum++) { ++ outw (0, UDC_EP_RX (epnum)); ++ outw (0, UDC_EP_TX (epnum)); ++ } ++} ++ ++static void s3c2410_configure_device (struct usb_device_instance *device) ++{ ++ u_int32_t tmp; ++ ++ s3c2410_configure_endpoints(device); ++ ++ /* disable EP0-4 SUBD interrupts ? */ ++ outw(0x00, S3C2410_UDC_USB_INT_EN_REG); ++ ++ /* UPLL already configured by board-level init code */ ++ ++ /* configure USB pads to device mode */ ++ tmp = inw(S3C2410_MISCCR); ++ tmp &= ~(S3C2410_MISCCR_USBHOST|S3C2410_MISCCR_USBSUSPND1); ++ outw(tmp, S3C2410_MISCCR); ++ ++ tmp = inb(S3C2410_CLKSLOW); ++ tmp &= ~S3C2410_CLKSLOW_USB_CLK_DISABLE; ++ outw(tmp, S3C2410_CLKSLOW); ++ ++ /* clear interrupt registers */ ++ inb(S3C2410_UDC_EP_INT_REG); ++ inb(S3C2410_UDC_USB_INT_REG); ++ ++ /* enable USB interrupts for RESET and SUSPEND/RESUME */ ++ outb(S3C2410_UDC_USBINT_RESET|S3C2410_UDC_USBINT_SUSPEND, ++ S3C2410_UDC_USB_INT_EN_REG); ++ ++} ++ ++/* omap1510_write_noniso_tx_fifo ++ * ++ * This function implements TRM Figure 14-30. ++ * ++ * If the endpoint has an active tx_urb, then the next packet of data from the ++ * URB is written to the tx FIFO. The total amount of data in the urb is given ++ * by urb->actual_length. The maximum amount of data that can be sent in any ++ * one packet is given by endpoint->tx_packetSize. The number of data bytes ++ * from this URB that have already been transmitted is given by endpoint->sent. ++ * endpoint->last is updated by this routine with the number of data bytes ++ * transmitted in this packet. ++ * ++ * In accordance with Figure 14-30, the EP_NUM register must already have been ++ * written with the value to select the appropriate tx FIFO before this routine ++ * is called. ++ */ ++static void omap1510_write_noniso_tx_fifo (struct usb_endpoint_instance ++ *endpoint) ++{ ++ struct urb *urb = endpoint->tx_urb; ++ ++ if (urb) { ++ unsigned int last, i; ++ ++ UDCDBGA ("urb->buffer %p, buffer_length %d, actual_length %d", ++ urb->buffer, urb->buffer_length, urb->actual_length); ++ if ((last = ++ MIN (urb->actual_length - endpoint->sent, ++ endpoint->tx_packetSize))) { ++ u8 *cp = urb->buffer + endpoint->sent; ++ ++ UDCDBGA ("endpoint->sent %d, tx_packetSize %d, last %d", endpoint->sent, endpoint->tx_packetSize, last); ++ ++ if (((u32) cp & 1) == 0) { /* word aligned? */ ++ outsw (UDC_DATA, cp, last >> 1); ++ } else { /* byte aligned. */ ++ for (i = 0; i < (last >> 1); i++) { ++ u16 w = ((u16) cp[2 * i + 1] << 8) | ++ (u16) cp[2 * i]; ++ outw (w, UDC_DATA); ++ } ++ } ++ if (last & 1) { ++ outb (*(cp + last - 1), UDC_DATA); ++ } ++ } ++ endpoint->last = last; ++ } ++} ++ ++/* omap1510_read_noniso_rx_fifo ++ * ++ * This function implements TRM Figure 14-28. ++ * ++ * If the endpoint has an active rcv_urb, then the next packet of data is read ++ * from the rcv FIFO and written to rcv_urb->buffer at offset ++ * rcv_urb->actual_length to append the packet data to the data from any ++ * previous packets for this transfer. We assume that there is sufficient room ++ * left in the buffer to hold an entire packet of data. ++ * ++ * The return value is the number of bytes read from the FIFO for this packet. ++ * ++ * In accordance with Figure 14-28, the EP_NUM register must already have been ++ * written with the value to select the appropriate rcv FIFO before this routine ++ * is called. ++ */ ++static int omap1510_read_noniso_rx_fifo (struct usb_endpoint_instance ++ *endpoint) ++{ ++ struct urb *urb = endpoint->rcv_urb; ++ int len = 0; ++ ++ if (urb) { ++ len = inw (UDC_RXFSTAT); ++ ++ if (len) { ++ unsigned char *cp = urb->buffer + urb->actual_length; ++ ++ insw (UDC_DATA, cp, len >> 1); ++ if (len & 1) ++ *(cp + len - 1) = inb (UDC_DATA); ++ } ++ } ++ return len; ++} ++ ++/* omap1510_prepare_for_control_write_status ++ * ++ * This function implements TRM Figure 14-17. ++ * ++ * We have to deal here with non-autodecoded control writes that haven't already ++ * been dealt with by ep0_recv_setup. The non-autodecoded standard control ++ * write requests are: set/clear endpoint feature, set configuration, set ++ * interface, and set descriptor. ep0_recv_setup handles set/clear requests for ++ * ENDPOINT_HALT by halting the endpoint for a set request and resetting the ++ * endpoint for a clear request. ep0_recv_setup returns an error for ++ * SET_DESCRIPTOR requests which causes them to be terminated with a stall by ++ * the setup handler. A SET_INTERFACE request is handled by ep0_recv_setup by ++ * generating a DEVICE_SET_INTERFACE event. This leaves only the ++ * SET_CONFIGURATION event for us to deal with here. ++ * ++ */ ++static void omap1510_prepare_for_control_write_status (struct urb *urb) ++{ ++ struct usb_device_request *request = &urb->device_request;; ++ ++ /* check for a SET_CONFIGURATION request */ ++ if (request->bRequest == USB_REQ_SET_CONFIGURATION) { ++ int configuration = le16_to_cpu (request->wValue) & 0xff; ++ unsigned short devstat = inw (UDC_DEVSTAT); ++ ++ if ((devstat & (UDC_ADD | UDC_CFG)) == UDC_ADD) { ++ /* device is currently in ADDRESSED state */ ++ if (configuration) { ++ /* Assume the specified non-zero configuration ++ * value is valid and switch to the CONFIGURED ++ * state. ++ */ ++ outw (UDC_Dev_Cfg, UDC_SYSCON2); ++ } ++ } else if ((devstat & UDC_CFG) == UDC_CFG) { ++ /* device is currently in CONFIGURED state */ ++ if (!configuration) { ++ /* Switch to ADDRESSED state. */ ++ outw (UDC_Clr_Cfg, UDC_SYSCON2); ++ } ++ } ++ } ++ ++ /* select EP0 tx FIFO */ ++ outw (UDC_EP_Dir | UDC_EP_Sel, UDC_EP_NUM); ++ /* clear endpoint (no data bytes in status stage) */ ++ outw (UDC_Clr_EP, UDC_CTRL); ++ /* enable the EP0 tx FIFO */ ++ outw (UDC_Set_FIFO_En, UDC_CTRL); ++ /* deselect the endpoint */ ++ outw (UDC_EP_Dir, UDC_EP_NUM); ++} ++ ++/* udc_state_transition_up ++ * udc_state_transition_down ++ * ++ * Helper functions to implement device state changes. The device states and ++ * the events that transition between them are: ++ * ++ * STATE_ATTACHED ++ * || /\ ++ * \/ || ++ * DEVICE_HUB_CONFIGURED DEVICE_HUB_RESET ++ * || /\ ++ * \/ || ++ * STATE_POWERED ++ * || /\ ++ * \/ || ++ * DEVICE_RESET DEVICE_POWER_INTERRUPTION ++ * || /\ ++ * \/ || ++ * STATE_DEFAULT ++ * || /\ ++ * \/ || ++ * DEVICE_ADDRESS_ASSIGNED DEVICE_RESET ++ * || /\ ++ * \/ || ++ * STATE_ADDRESSED ++ * || /\ ++ * \/ || ++ * DEVICE_CONFIGURED DEVICE_DE_CONFIGURED ++ * || /\ ++ * \/ || ++ * STATE_CONFIGURED ++ * ++ * udc_state_transition_up transitions up (in the direction from STATE_ATTACHED ++ * to STATE_CONFIGURED) from the specified initial state to the specified final ++ * state, passing through each intermediate state on the way. If the initial ++ * state is at or above (i.e. nearer to STATE_CONFIGURED) the final state, then ++ * no state transitions will take place. ++ * ++ * udc_state_transition_down transitions down (in the direction from ++ * STATE_CONFIGURED to STATE_ATTACHED) from the specified initial state to the ++ * specified final state, passing through each intermediate state on the way. ++ * If the initial state is at or below (i.e. nearer to STATE_ATTACHED) the final ++ * state, then no state transitions will take place. ++ * ++ * These functions must only be called with interrupts disabled. ++ */ ++static void udc_state_transition_up (usb_device_state_t initial, ++ usb_device_state_t final) ++{ ++ if (initial < final) { ++ switch (initial) { ++ case STATE_ATTACHED: ++ usbd_device_event_irq (udc_device, ++ DEVICE_HUB_CONFIGURED, 0); ++ if (final == STATE_POWERED) ++ break; ++ case STATE_POWERED: ++ usbd_device_event_irq (udc_device, DEVICE_RESET, 0); ++ if (final == STATE_DEFAULT) ++ break; ++ case STATE_DEFAULT: ++ usbd_device_event_irq (udc_device, ++ DEVICE_ADDRESS_ASSIGNED, 0); ++ if (final == STATE_ADDRESSED) ++ break; ++ case STATE_ADDRESSED: ++ usbd_device_event_irq (udc_device, DEVICE_CONFIGURED, ++ 0); ++ case STATE_CONFIGURED: ++ break; ++ default: ++ break; ++ } ++ } ++} ++ ++static void udc_state_transition_down (usb_device_state_t initial, ++ usb_device_state_t final) ++{ ++ if (initial > final) { ++ switch (initial) { ++ case STATE_CONFIGURED: ++ usbd_device_event_irq (udc_device, DEVICE_DE_CONFIGURED, 0); ++ if (final == STATE_ADDRESSED) ++ break; ++ case STATE_ADDRESSED: ++ usbd_device_event_irq (udc_device, DEVICE_RESET, 0); ++ if (final == STATE_DEFAULT) ++ break; ++ case STATE_DEFAULT: ++ usbd_device_event_irq (udc_device, DEVICE_POWER_INTERRUPTION, 0); ++ if (final == STATE_POWERED) ++ break; ++ case STATE_POWERED: ++ usbd_device_event_irq (udc_device, DEVICE_HUB_RESET, 0); ++ case STATE_ATTACHED: ++ break; ++ default: ++ break; ++ } ++ } ++} ++ ++/* Handle all device state changes. ++ * This function implements TRM Figure 14-21. ++ */ ++static void omap1510_udc_state_changed (void) ++{ ++ u16 bits; ++ u16 devstat = inw (UDC_DEVSTAT); ++ ++ UDCDBGA ("state changed, devstat %x, old %x", devstat, udc_devstat); ++ ++ bits = devstat ^ udc_devstat; ++ if (bits) { ++ if (bits & UDC_ATT) { ++ if (devstat & UDC_ATT) { ++ UDCDBG ("device attached and powered"); ++ udc_state_transition_up (udc_device->device_state, STATE_POWERED); ++ } else { ++ UDCDBG ("device detached or unpowered"); ++ udc_state_transition_down (udc_device->device_state, STATE_ATTACHED); ++ } ++ } ++ if (bits & UDC_USB_Reset) { ++ if (devstat & UDC_USB_Reset) { ++ UDCDBG ("device reset in progess"); ++ udc_state_transition_down (udc_device->device_state, STATE_POWERED); ++ } else { ++ UDCDBG ("device reset completed"); ++ } ++ } ++ if (bits & UDC_DEF) { ++ if (devstat & UDC_DEF) { ++ UDCDBG ("device entering default state"); ++ udc_state_transition_up (udc_device->device_state, STATE_DEFAULT); ++ } else { ++ UDCDBG ("device leaving default state"); ++ udc_state_transition_down (udc_device->device_state, STATE_POWERED); ++ } ++ } ++ if (bits & UDC_SUS) { ++ if (devstat & UDC_SUS) { ++ UDCDBG ("entering suspended state"); ++ usbd_device_event_irq (udc_device, DEVICE_BUS_INACTIVE, 0); ++ } else { ++ UDCDBG ("leaving suspended state"); ++ usbd_device_event_irq (udc_device, DEVICE_BUS_ACTIVITY, 0); ++ } ++ } ++ if (bits & UDC_R_WK_OK) { ++ UDCDBGA ("remote wakeup %s", (devstat & UDC_R_WK_OK) ++ ? "enabled" : "disabled"); ++ } ++ if (bits & UDC_ADD) { ++ if (devstat & UDC_ADD) { ++ UDCDBG ("default -> addressed"); ++ udc_state_transition_up (udc_device->device_state, STATE_ADDRESSED); ++ } else { ++ UDCDBG ("addressed -> default"); ++ udc_state_transition_down (udc_device->device_state, STATE_DEFAULT); ++ } ++ } ++ if (bits & UDC_CFG) { ++ if (devstat & UDC_CFG) { ++ UDCDBG ("device configured"); ++ /* The ep0_recv_setup function generates the ++ * DEVICE_CONFIGURED event when a ++ * USB_REQ_SET_CONFIGURATION setup packet is ++ * received, so we should already be in the ++ * state STATE_CONFIGURED. ++ */ ++ udc_state_transition_up (udc_device->device_state, STATE_CONFIGURED); ++ } else { ++ UDCDBG ("device deconfigured"); ++ udc_state_transition_down (udc_device->device_state, STATE_ADDRESSED); ++ } ++ } ++ } ++ ++ /* Clear interrupt source */ ++ outw (UDC_DS_Chg, UDC_IRQ_SRC); ++ ++ /* Save current DEVSTAT */ ++ udc_devstat = devstat; ++} ++ ++static void s3c2410_udc_ep0(void) ++{ ++ u_int8_t ep0csr; ++ ++ UDCDBG("-> Entering EP0 handler"); ++ ++ S3C2410_UDC_SETIX(EP0); ++ ep0csr = inb(S3C2410_UDC_IN_CSR1_REG); ++ ++ /* clear stall status */ ++ if (ep0csr & S3C2410_UDC_EP0_CSR_SENTSTL) { ++ clear_sp0_sst; ++ /* FIXME */ ++ ep0_idle(); ++ } ++ ++ if (ep0csr & S3C2410_UDC_EP0_CSR_SE ++ && dev->ep0state != EP0_IDLE) { ++ clear_ep0_se; ++ ep0_idle(); ++ } ++ ++ switch (dev->ep0state) { ++ case EP0_IDLE: ++ if (ep0crs & S3C2410_UDC_EP0_CSR_OPKRDY) { ++ } ++ break; ++ case EP0_IN_DATA_PHASE: ++ break; ++ case EP0_OUT_DATA_PHASE: ++ break; ++ case EP0_END_XFER: ++ break; ++ case EP0_STALL: ++ set_ep0_ss; ++ break; ++ } ++} ++ ++ ++} ++ ++/* Handle SETUP USB interrupt. ++ * This function implements TRM Figure 14-14. ++ */ ++static void omap1510_udc_setup (struct usb_endpoint_instance *endpoint) ++{ ++ UDCDBG ("-> Entering device setup"); ++ ++ do { ++ const int setup_pktsize = 8; ++ unsigned char *datap = ++ (unsigned char *) &ep0_urb->device_request; ++ ++ /* Gain access to EP 0 setup FIFO */ ++ outw (UDC_Setup_Sel, UDC_EP_NUM); ++ ++ /* Read control request data */ ++ insb (UDC_DATA, datap, setup_pktsize); ++ ++ UDCDBGA ("EP0 setup read [%x %x %x %x %x %x %x %x]", ++ *(datap + 0), *(datap + 1), *(datap + 2), ++ *(datap + 3), *(datap + 4), *(datap + 5), ++ *(datap + 6), *(datap + 7)); ++ ++ /* Reset EP0 setup FIFO */ ++ outw (0, UDC_EP_NUM); ++ } while (inw (UDC_IRQ_SRC) & UDC_Setup); ++ ++ /* Try to process setup packet */ ++ if (ep0_recv_setup (ep0_urb)) { ++ /* Not a setup packet, stall next EP0 transaction */ ++ udc_stall_ep (0); ++ UDCDBG ("can't parse setup packet, still waiting for setup"); ++ return; ++ } ++ ++ /* Check direction */ ++ if ((ep0_urb->device_request.bmRequestType & USB_REQ_DIRECTION_MASK) ++ == USB_REQ_HOST2DEVICE) { ++ UDCDBG ("control write on EP0"); ++ if (le16_to_cpu (ep0_urb->device_request.wLength)) { ++ /* We don't support control write data stages. ++ * The only standard control write request with a data ++ * stage is SET_DESCRIPTOR, and ep0_recv_setup doesn't ++ * support that so we just stall those requests. A ++ * function driver might support a non-standard ++ * write request with a data stage, but it isn't ++ * obvious what we would do with the data if we read it ++ * so we'll just stall it. It seems like the API isn't ++ * quite right here. ++ */ ++#if 0 ++ /* Here is what we would do if we did support control ++ * write data stages. ++ */ ++ ep0_urb->actual_length = 0; ++ outw (0, UDC_EP_NUM); ++ /* enable the EP0 rx FIFO */ ++ outw (UDC_Set_FIFO_En, UDC_CTRL); ++#else ++ /* Stall this request */ ++ UDCDBG ("Stalling unsupported EP0 control write data " ++ "stage."); ++ udc_stall_ep (0); ++#endif ++ } else { ++ omap1510_prepare_for_control_write_status (ep0_urb); ++ } ++ } else { ++ UDCDBG ("control read on EP0"); ++ /* The ep0_recv_setup function has already placed our response ++ * packet data in ep0_urb->buffer and the packet length in ++ * ep0_urb->actual_length. ++ */ ++ endpoint->tx_urb = ep0_urb; ++ endpoint->sent = 0; ++ /* select the EP0 tx FIFO */ ++ outw (UDC_EP_Dir | UDC_EP_Sel, UDC_EP_NUM); ++ /* Write packet data to the FIFO. omap1510_write_noniso_tx_fifo ++ * will update endpoint->last with the number of bytes written ++ * to the FIFO. ++ */ ++ omap1510_write_noniso_tx_fifo (endpoint); ++ /* enable the FIFO to start the packet transmission */ ++ outw (UDC_Set_FIFO_En, UDC_CTRL); ++ /* deselect the EP0 tx FIFO */ ++ outw (UDC_EP_Dir, UDC_EP_NUM); ++ } ++ ++ UDCDBG ("<- Leaving device setup"); ++} ++ ++/* Handle endpoint 0 RX interrupt ++ * This routine implements TRM Figure 14-16. ++ */ ++static void omap1510_udc_ep0_rx (struct usb_endpoint_instance *endpoint) ++{ ++ unsigned short status; ++ ++ UDCDBG ("RX on EP0"); ++ /* select EP0 rx FIFO */ ++ outw (UDC_EP_Sel, UDC_EP_NUM); ++ ++ status = inw (UDC_STAT_FLG); ++ ++ if (status & UDC_ACK) { ++ /* Check direction */ ++ if ((ep0_urb->device_request.bmRequestType ++ & USB_REQ_DIRECTION_MASK) == USB_REQ_HOST2DEVICE) { ++ /* This rx interrupt must be for a control write data ++ * stage packet. ++ * ++ * We don't support control write data stages. ++ * We should never end up here. ++ */ ++ ++ /* clear the EP0 rx FIFO */ ++ outw (UDC_Clr_EP, UDC_CTRL); ++ ++ /* deselect the EP0 rx FIFO */ ++ outw (0, UDC_EP_NUM); ++ ++ UDCDBG ("Stalling unexpected EP0 control write " ++ "data stage packet"); ++ udc_stall_ep (0); ++ } else { ++ /* This rx interrupt must be for a control read status ++ * stage packet. ++ */ ++ UDCDBG ("ACK on EP0 control read status stage packet"); ++ /* deselect EP0 rx FIFO */ ++ outw (0, UDC_EP_NUM); ++ } ++ } else if (status & UDC_STALL) { ++ UDCDBG ("EP0 stall during RX"); ++ /* deselect EP0 rx FIFO */ ++ outw (0, UDC_EP_NUM); ++ } else { ++ /* deselect EP0 rx FIFO */ ++ outw (0, UDC_EP_NUM); ++ } ++} ++ ++/* Handle endpoint 0 TX interrupt ++ * This routine implements TRM Figure 14-18. ++ */ ++static void omap1510_udc_ep0_tx (struct usb_endpoint_instance *endpoint) ++{ ++ unsigned short status; ++ struct usb_device_request *request = &ep0_urb->device_request; ++ ++ UDCDBG ("TX on EP0"); ++ /* select EP0 TX FIFO */ ++ outw (UDC_EP_Dir | UDC_EP_Sel, UDC_EP_NUM); ++ ++ status = inw (UDC_STAT_FLG); ++ if (status & UDC_ACK) { ++ /* Check direction */ ++ if ((request->bmRequestType & USB_REQ_DIRECTION_MASK) == ++ USB_REQ_HOST2DEVICE) { ++ /* This tx interrupt must be for a control write status ++ * stage packet. ++ */ ++ UDCDBG ("ACK on EP0 control write status stage packet"); ++ /* deselect EP0 TX FIFO */ ++ outw (UDC_EP_Dir, UDC_EP_NUM); ++ } else { ++ /* This tx interrupt must be for a control read data ++ * stage packet. ++ */ ++ int wLength = le16_to_cpu (request->wLength); ++ ++ /* Update our count of bytes sent so far in this ++ * transfer. ++ */ ++ endpoint->sent += endpoint->last; ++ ++ /* We are finished with this transfer if we have sent ++ * all of the bytes in our tx urb (urb->actual_length) ++ * unless we need a zero-length terminating packet. We ++ * need a zero-length terminating packet if we returned ++ * fewer bytes than were requested (wLength) by the host, ++ * and the number of bytes we returned is an exact ++ * multiple of the packet size endpoint->tx_packetSize. ++ */ ++ if ((endpoint->sent == ep0_urb->actual_length) ++ && ((ep0_urb->actual_length == wLength) ++ || (endpoint->last != ++ endpoint->tx_packetSize))) { ++ /* Done with control read data stage. */ ++ UDCDBG ("control read data stage complete"); ++ /* deselect EP0 TX FIFO */ ++ outw (UDC_EP_Dir, UDC_EP_NUM); ++ /* select EP0 RX FIFO to prepare for control ++ * read status stage. ++ */ ++ outw (UDC_EP_Sel, UDC_EP_NUM); ++ /* clear the EP0 RX FIFO */ ++ outw (UDC_Clr_EP, UDC_CTRL); ++ /* enable the EP0 RX FIFO */ ++ outw (UDC_Set_FIFO_En, UDC_CTRL); ++ /* deselect the EP0 RX FIFO */ ++ outw (0, UDC_EP_NUM); ++ } else { ++ /* We still have another packet of data to send ++ * in this control read data stage or else we ++ * need a zero-length terminating packet. ++ */ ++ UDCDBG ("ACK control read data stage packet"); ++ omap1510_write_noniso_tx_fifo (endpoint); ++ /* enable the EP0 tx FIFO to start transmission */ ++ outw (UDC_Set_FIFO_En, UDC_CTRL); ++ /* deselect EP0 TX FIFO */ ++ outw (UDC_EP_Dir, UDC_EP_NUM); ++ } ++ } ++ } else if (status & UDC_STALL) { ++ UDCDBG ("EP0 stall during TX"); ++ /* deselect EP0 TX FIFO */ ++ outw (UDC_EP_Dir, UDC_EP_NUM); ++ } else { ++ /* deselect EP0 TX FIFO */ ++ outw (UDC_EP_Dir, UDC_EP_NUM); ++ } ++} ++ ++/* Handle RX transaction on non-ISO endpoint. ++ * This function implements TRM Figure 14-27. ++ * The ep argument is a physical endpoint number for a non-ISO OUT endpoint ++ * in the range 1 to 15. ++ */ ++static void omap1510_udc_epn_rx (int ep) ++{ ++ unsigned short status; ++ ++ /* Check endpoint status */ ++ status = inw (UDC_STAT_FLG); ++ ++ if (status & UDC_ACK) { ++ int nbytes; ++ struct usb_endpoint_instance *endpoint = ++ omap1510_find_ep (ep); ++ ++ nbytes = omap1510_read_noniso_rx_fifo (endpoint); ++ usbd_rcv_complete (endpoint, nbytes, 0); ++ ++ /* enable rx FIFO to prepare for next packet */ ++ outw (UDC_Set_FIFO_En, UDC_CTRL); ++ } else if (status & UDC_STALL) { ++ UDCDBGA ("STALL on RX endpoint %d", ep); ++ } else if (status & UDC_NAK) { ++ UDCDBGA ("NAK on RX ep %d", ep); ++ } else { ++ serial_printf ("omap-bi: RX on ep %d with status %x", ep, ++ status); ++ } ++} ++ ++/* Handle TX transaction on non-ISO endpoint. ++ * This function implements TRM Figure 14-29. ++ * The ep argument is a physical endpoint number for a non-ISO IN endpoint ++ * in the range 16 to 30. ++ */ ++static void omap1510_udc_epn_tx (int ep) ++{ ++ unsigned short status; ++ ++ /*serial_printf("omap1510_udc_epn_tx( %x )\n",ep); */ ++ ++ /* Check endpoint status */ ++ status = inw (UDC_STAT_FLG); ++ ++ if (status & UDC_ACK) { ++ struct usb_endpoint_instance *endpoint = ++ omap1510_find_ep (ep); ++ ++ /* We need to transmit a terminating zero-length packet now if ++ * we have sent all of the data in this URB and the transfer ++ * size was an exact multiple of the packet size. ++ */ ++ if (endpoint->tx_urb ++ && (endpoint->last == endpoint->tx_packetSize) ++ && (endpoint->tx_urb->actual_length - endpoint->sent - ++ endpoint->last == 0)) { ++ /* Prepare to transmit a zero-length packet. */ ++ endpoint->sent += endpoint->last; ++ /* write 0 bytes of data to FIFO */ ++ omap1510_write_noniso_tx_fifo (endpoint); ++ /* enable tx FIFO to start transmission */ ++ outw (UDC_Set_FIFO_En, UDC_CTRL); ++ } else if (endpoint->tx_urb ++ && endpoint->tx_urb->actual_length) { ++ /* retire the data that was just sent */ ++ usbd_tx_complete (endpoint); ++ /* Check to see if we have more data ready to transmit ++ * now. ++ */ ++ if (endpoint->tx_urb ++ && endpoint->tx_urb->actual_length) { ++ /* write data to FIFO */ ++ omap1510_write_noniso_tx_fifo (endpoint); ++ /* enable tx FIFO to start transmission */ ++ outw (UDC_Set_FIFO_En, UDC_CTRL); ++ } ++ } ++ } else if (status & UDC_STALL) { ++ UDCDBGA ("STALL on TX endpoint %d", ep); ++ } else if (status & UDC_NAK) { ++ UDCDBGA ("NAK on TX endpoint %d", ep); ++ } else { ++ /*serial_printf("omap-bi: TX on ep %d with status %x\n", ep, status); */ ++ } ++} ++ ++ ++/* ++------------------------------------------------------------------------------- ++*/ ++ ++/* Handle general USB interrupts and dispatch according to type. ++ * This function implements TRM Figure 14-13. ++ */ ++void s3c2410_udc_irq (void) ++{ ++ u_int8_t save_idx = inb(S3C2410_UDC_INDEX_REG); ++ u_int8_t usb_status = inb(S3C2410_UDC_USB_INT_REG); ++ u_int8_t usbd_status = inb(S3C2410_UDC_EP_INT_REG); ++ ++ UDCDBGA("< IRQ usbs=0x%02x, usbds=0x%02x start >", usb_status, ++ usbd_status); ++ ++ if (usb_status & S3C2410_UDC_USBINT_RESET) { ++ valid_irq++; ++ } ++ ++ if (usb_status & S3C2410_UDC_USBINT_RESUME) { ++ valid_irq++; ++ ++ } ++ ++ if (usb_status & S3C2410_UDC_USBINT_SUSPEND) { ++ valid_irq++; ++ ++ } ++ ++ /* Endpoint Interrupts */ ++ if (usbd_status) { ++ int i; ++ ++ if (usbd_status & S3C2410_UDC_INT_EP0) { ++ s3c2410_udc_ep0(); ++ outb(S3C2410_UDC_INT_EP0, S3C2410_UDC_EP_INT_REG); ++ valid_irq++; ++ } ++ ++ for (i = 1; i < 5; i++) { ++ u_int32_t tmp = 1 << i; ++ ++ if (usbd_status & tmp) { ++ /* FIXME: Handle EP X */ ++ s3c2410_udc_epn(i); ++ outb(tmp, S3C2410_UDC_EP_INT_REG); ++ valid_irq++; ++ } ++ } ++ } ++ outb(save_idx, S3C2410_UDC_INDEX_REG); ++ ++#if 0 ++ if (!(irq_src & ~UDC_SOF_Flg)) /* ignore SOF interrupts ) */ ++ return; ++ ++ UDCDBGA ("< IRQ #%d start >- %x", udc_interrupts, irq_src); ++ /*serial_printf("< IRQ #%d start >- %x\n", udc_interrupts, irq_src); */ ++ ++ if (irq_src & UDC_DS_Chg) { ++ /* Device status changed */ ++ omap1510_udc_state_changed (); ++ valid_irq++; ++ } ++ if (irq_src & UDC_EP0_RX) { ++ /* Endpoint 0 receive */ ++ outw (UDC_EP0_RX, UDC_IRQ_SRC); /* ack interrupt */ ++ omap1510_udc_ep0_rx (udc_device->bus->endpoint_array + 0); ++ valid_irq++; ++ } ++ if (irq_src & UDC_EP0_TX) { ++ /* Endpoint 0 transmit */ ++ outw (UDC_EP0_TX, UDC_IRQ_SRC); /* ack interrupt */ ++ omap1510_udc_ep0_tx (udc_device->bus->endpoint_array + 0); ++ valid_irq++; ++ } ++ if (irq_src & UDC_Setup) { ++ /* Device setup */ ++ omap1510_udc_setup (udc_device->bus->endpoint_array + 0); ++ valid_irq++; ++ } ++ /*if (!valid_irq) */ ++ /* serial_printf("unknown interrupt, IRQ_SRC %.4x\n", irq_src); */ ++#endif ++ UDCDBGA ("< IRQ end >", udc_interrupts); ++ ++ udc_interrupts++; ++} ++ ++/* This function implements TRM Figure 14-26. */ ++void omap1510_udc_noniso_irq (void) ++{ ++ unsigned short epnum; ++ unsigned short irq_src = inw (UDC_IRQ_SRC); ++ int valid_irq = 0; ++ ++ if (!(irq_src & (UDC_EPn_RX | UDC_EPn_TX))) ++ return; ++ ++ UDCDBGA ("non-ISO IRQ, IRQ_SRC %x", inw (UDC_IRQ_SRC)); ++ ++ if (irq_src & UDC_EPn_RX) { /* Endpoint N OUT transaction */ ++ /* Determine the endpoint number for this interrupt */ ++ epnum = (inw (UDC_EPN_STAT) & 0x0f00) >> 8; ++ UDCDBGA ("RX on ep %x", epnum); ++ ++ /* acknowledge interrupt */ ++ outw (UDC_EPn_RX, UDC_IRQ_SRC); ++ ++ if (epnum) { ++ /* select the endpoint FIFO */ ++ outw (UDC_EP_Sel | epnum, UDC_EP_NUM); ++ ++ omap1510_udc_epn_rx (epnum); ++ ++ /* deselect the endpoint FIFO */ ++ outw (epnum, UDC_EP_NUM); ++ } ++ valid_irq++; ++ } ++ if (irq_src & UDC_EPn_TX) { /* Endpoint N IN transaction */ ++ /* Determine the endpoint number for this interrupt */ ++ epnum = (inw (UDC_EPN_STAT) & 0x000f) | USB_DIR_IN; ++ UDCDBGA ("TX on ep %x", epnum); ++ ++ /* acknowledge interrupt */ ++ outw (UDC_EPn_TX, UDC_IRQ_SRC); ++ ++ if (epnum) { ++ /* select the endpoint FIFO */ ++ outw (UDC_EP_Sel | UDC_EP_Dir | epnum, UDC_EP_NUM); ++ ++ omap1510_udc_epn_tx (epnum); ++ ++ /* deselect the endpoint FIFO */ ++ outw (UDC_EP_Dir | epnum, UDC_EP_NUM); ++ } ++ valid_irq++; ++ } ++ if (!valid_irq) ++ serial_printf (": unknown non-ISO interrupt, IRQ_SRC %.4x\n", ++ irq_src); ++} ++ ++/* ++------------------------------------------------------------------------------- ++*/ ++ ++ ++/* ++ * Start of public functions. ++ */ ++ ++/* Called to start packet transmission. */ ++void udc_endpoint_write (struct usb_endpoint_instance *endpoint) ++{ ++ unsigned short epnum = ++ endpoint->endpoint_address & USB_ENDPOINT_NUMBER_MASK; ++ ++ UDCDBGA ("Starting transmit on ep %x", epnum); ++ ++ if (endpoint->tx_urb) { ++ /* select the endpoint FIFO */ ++ outw (UDC_EP_Sel | UDC_EP_Dir | epnum, UDC_EP_NUM); ++ /* write data to FIFO */ ++ omap1510_write_noniso_tx_fifo (endpoint); ++ /* enable tx FIFO to start transmission */ ++ outw (UDC_Set_FIFO_En, UDC_CTRL); ++ /* deselect the endpoint FIFO */ ++ outw (UDC_EP_Dir | epnum, UDC_EP_NUM); ++ } ++} ++ ++/* Start to initialize h/w stuff */ ++int udc_init (void) ++{ ++ u16 udc_rev; ++ uchar value; ++ ulong gpio; ++ int i; ++ ++ /* Let the device settle down before we start */ ++ for (i = 0; i < UDC_INIT_MDELAY; i++) udelay(1000); ++ ++ udc_device = NULL; ++ ++ UDCDBG ("starting"); ++ ++ /* Check peripheral reset. Must be 1 to make sure ++ MPU TIPB peripheral reset is inactive */ ++ UDCREG (ARM_RSTCT2); ++ ++ /* Set and check clock control. ++ * We might ought to be using the clock control API to do ++ * this instead of fiddling with the clock registers directly ++ * here. ++ */ ++ outw ((1 << 4) | (1 << 5), CLOCK_CTRL); ++ UDCREG (CLOCK_CTRL); ++ /* Set and check APLL */ ++ outw (0x0008, APLL_CTRL); ++ UDCREG (APLL_CTRL); ++ /* Set and check DPLL */ ++ outw (0x2210, DPLL_CTRL); ++ UDCREG (DPLL_CTRL); ++ /* Set and check SOFT */ ++ outw ((1 << 4) | (1 << 3) | 1, SOFT_REQ); ++ /* Short delay to wait for DPLL */ ++ udelay (1000); ++ ++ /* Print banner with device revision */ ++ udc_rev = inw (UDC_REV) & 0xff; ++ printf ("USB: TI OMAP1510 USB function module rev %d.%d\n", ++ udc_rev >> 4, udc_rev & 0xf); ++ ++#ifdef CONFIG_OMAP_SX1 ++ i2c_read (0x32, 0x04, 1, &value, 1); ++ value |= 0x04; ++ i2c_write (0x32, 0x04, 1, &value, 1); ++ ++ i2c_read (0x32, 0x03, 1, &value, 1); ++ value |= 0x01; ++ i2c_write (0x32, 0x03, 1, &value, 1); ++ ++ gpio = inl(GPIO_PIN_CONTROL_REG); ++ gpio |= 0x0002; /* A_IRDA_OFF */ ++ gpio |= 0x0800; /* A_SWITCH */ ++ gpio |= 0x8000; /* A_USB_ON */ ++ outl (gpio, GPIO_PIN_CONTROL_REG); ++ ++ gpio = inl(GPIO_DIR_CONTROL_REG); ++ gpio &= ~0x0002; /* A_IRDA_OFF */ ++ gpio &= ~0x0800; /* A_SWITCH */ ++ gpio &= ~0x8000; /* A_USB_ON */ ++ outl (gpio, GPIO_DIR_CONTROL_REG); ++ ++ gpio = inl(GPIO_DATA_OUTPUT_REG); ++ gpio |= 0x0002; /* A_IRDA_OFF */ ++ gpio &= ~0x0800; /* A_SWITCH */ ++ gpio &= ~0x8000; /* A_USB_ON */ ++ outl (gpio, GPIO_DATA_OUTPUT_REG); ++#endif ++ ++ /* The VBUS_MODE bit selects whether VBUS detection is done via ++ * software (1) or hardware (0). When software detection is ++ * selected, VBUS_CTRL selects whether USB is not connected (0) ++ * or connected (1). ++ */ ++ outl (inl (FUNC_MUX_CTRL_0) | UDC_VBUS_MODE, FUNC_MUX_CTRL_0); ++ outl (inl (FUNC_MUX_CTRL_0) & ~UDC_VBUS_CTRL, FUNC_MUX_CTRL_0); ++ UDCREGL (FUNC_MUX_CTRL_0); ++ ++ /* ++ * At this point, device is ready for configuration... ++ */ ++ ++ UDCDBG ("disable USB interrupts"); ++ outw (0, UDC_IRQ_EN); ++ UDCREG (UDC_IRQ_EN); ++ ++ UDCDBG ("disable USB DMA"); ++ outw (0, UDC_DMA_IRQ_EN); ++ UDCREG (UDC_DMA_IRQ_EN); ++ ++ UDCDBG ("initialize SYSCON1"); ++ outw (UDC_Self_Pwr | UDC_Pullup_En, UDC_SYSCON1); ++ UDCREG (UDC_SYSCON1); ++ ++ return 0; ++} ++ ++/* Stall endpoint */ ++static void udc_stall_ep (unsigned int ep_addr) ++{ ++ /*int ep_addr = PHYS_EP_TO_EP_ADDR(ep); */ ++ int ep_num = ep_addr & USB_ENDPOINT_NUMBER_MASK; ++ ++ UDCDBGA ("stall ep_addr %d", ep_addr); ++ ++ /* REVISIT? ++ * The OMAP TRM section 14.2.4.2 says we must check that the FIFO ++ * is empty before halting the endpoint. The current implementation ++ * doesn't check that the FIFO is empty. ++ */ ++ ++ if (!ep_num) { ++ outw (UDC_Stall_Cmd, UDC_SYSCON2); ++ } else if ((ep_addr & USB_ENDPOINT_DIR_MASK) == USB_DIR_OUT) { ++ if (inw (UDC_EP_RX (ep_num)) & UDC_EPn_RX_Valid) { ++ /* we have a valid rx endpoint, so halt it */ ++ outw (UDC_EP_Sel | ep_num, UDC_EP_NUM); ++ outw (UDC_Set_Halt, UDC_CTRL); ++ outw (ep_num, UDC_EP_NUM); ++ } ++ } else { ++ if (inw (UDC_EP_TX (ep_num)) & UDC_EPn_TX_Valid) { ++ /* we have a valid tx endpoint, so halt it */ ++ outw (UDC_EP_Sel | UDC_EP_Dir | ep_num, UDC_EP_NUM); ++ outw (UDC_Set_Halt, UDC_CTRL); ++ outw (ep_num, UDC_EP_NUM); ++ } ++ } ++} ++ ++/* Reset endpoint */ ++#if 0 ++static void udc_reset_ep (unsigned int ep_addr) ++{ ++ /*int ep_addr = PHYS_EP_TO_EP_ADDR(ep); */ ++ int ep_num = ep_addr & USB_ENDPOINT_NUMBER_MASK; ++ ++ UDCDBGA ("reset ep_addr %d", ep_addr); ++ ++ if (!ep_num) { ++ /* control endpoint 0 can't be reset */ ++ } else if ((ep_addr & USB_ENDPOINT_DIR_MASK) == USB_DIR_OUT) { ++ UDCDBGA ("UDC_EP_RX(%d) = 0x%04x", ep_num, ++ inw (UDC_EP_RX (ep_num))); ++ if (inw (UDC_EP_RX (ep_num)) & UDC_EPn_RX_Valid) { ++ /* we have a valid rx endpoint, so reset it */ ++ outw (ep_num | UDC_EP_Sel, UDC_EP_NUM); ++ outw (UDC_Reset_EP, UDC_CTRL); ++ outw (ep_num, UDC_EP_NUM); ++ UDCDBGA ("OUT endpoint %d reset", ep_num); ++ } ++ } else { ++ UDCDBGA ("UDC_EP_TX(%d) = 0x%04x", ep_num, ++ inw (UDC_EP_TX (ep_num))); ++ /* Resetting of tx endpoints seems to be causing the USB function ++ * module to fail, which causes problems when the driver is ++ * uninstalled. We'll skip resetting tx endpoints for now until ++ * we figure out what the problem is. ++ */ ++#if 0 ++ if (inw (UDC_EP_TX (ep_num)) & UDC_EPn_TX_Valid) { ++ /* we have a valid tx endpoint, so reset it */ ++ outw (ep_num | UDC_EP_Dir | UDC_EP_Sel, UDC_EP_NUM); ++ outw (UDC_Reset_EP, UDC_CTRL); ++ outw (ep_num | UDC_EP_Dir, UDC_EP_NUM); ++ UDCDBGA ("IN endpoint %d reset", ep_num); ++ } ++#endif ++ } ++} ++#endif ++ ++/* ************************************************************************** */ ++ ++/** ++ * udc_check_ep - check logical endpoint ++ * ++ * Return physical endpoint number to use for this logical endpoint or zero if not valid. ++ */ ++#if 0 ++int udc_check_ep (int logical_endpoint, int packetsize) ++{ ++ if ((logical_endpoint == 0x80) || ++ ((logical_endpoint & 0x8f) != logical_endpoint)) { ++ return 0; ++ } ++ ++ switch (packetsize) { ++ case 8: ++ case 16: ++ case 32: ++ case 64: ++ case 128: ++ case 256: ++ case 512: ++ break; ++ default: ++ return 0; ++ } ++ ++ return EP_ADDR_TO_PHYS_EP (logical_endpoint); ++} ++#endif ++ ++/* ++ * udc_setup_ep - setup endpoint ++ * ++ * Associate a physical endpoint with endpoint_instance ++ */ ++void udc_setup_ep (struct usb_device_instance *device, ++ unsigned int ep, struct usb_endpoint_instance *endpoint) ++{ ++ UDCDBGA ("setting up endpoint addr %x", endpoint->endpoint_address); ++ ++ /* This routine gets called by bi_modinit for endpoint 0 and from ++ * bi_config for all of the other endpoints. bi_config gets called ++ * during the DEVICE_CREATE, DEVICE_CONFIGURED, and ++ * DEVICE_SET_INTERFACE events. We need to reconfigure the OMAP packet ++ * RAM after bi_config scans the selected device configuration and ++ * initializes the endpoint structures, but before this routine enables ++ * the OUT endpoint FIFOs. Since bi_config calls this routine in a ++ * loop for endpoints 1 through UDC_MAX_ENDPOINTS, we reconfigure our ++ * packet RAM here when ep==1. ++ * I really hate to do this here, but it seems like the API exported ++ * by the USB bus interface controller driver to the usbd-bi module ++ * isn't quite right so there is no good place to do this. ++ */ ++ if (ep == 1) { ++ omap1510_deconfigure_device (); ++ omap1510_configure_device (device); ++ } ++ ++ if (endpoint && (ep < UDC_MAX_ENDPOINTS)) { ++ int ep_addr = endpoint->endpoint_address; ++ ++ if (!ep_addr) { ++ /* nothing to do for endpoint 0 */ ++ } else if ((ep_addr & USB_ENDPOINT_DIR_MASK) == USB_DIR_IN) { ++ /* nothing to do for IN (tx) endpoints */ ++ } else { /* OUT (rx) endpoint */ ++ if (endpoint->rcv_packetSize) { ++ /*struct urb* urb = &(urb_out_array[ep&0xFF]); */ ++ /*urb->endpoint = endpoint; */ ++ /*urb->device = device; */ ++ /*urb->buffer_length = sizeof(urb->buffer); */ ++ ++ /*endpoint->rcv_urb = urb; */ ++ omap1510_prepare_endpoint_for_rx (ep_addr); ++ } ++ } ++ } ++} ++ ++/** ++ * udc_disable_ep - disable endpoint ++ * @ep: ++ * ++ * Disable specified endpoint ++ */ ++#if 0 ++void udc_disable_ep (unsigned int ep_addr) ++{ ++ /*int ep_addr = PHYS_EP_TO_EP_ADDR(ep); */ ++ int ep_num = ep_addr & USB_ENDPOINT_NUMBER_MASK; ++ struct usb_endpoint_instance *endpoint = omap1510_find_ep (ep_addr); /*udc_device->bus->endpoint_array + ep; */ ++ ++ UDCDBGA ("disable ep_addr %d", ep_addr); ++ ++ if (!ep_num) { ++ /* nothing to do for endpoint 0 */ ; ++ } else if ((ep_addr & USB_ENDPOINT_DIR_MASK) == USB_DIR_IN) { ++ if (endpoint->tx_packetSize) { ++ /* we have a valid tx endpoint */ ++ /*usbd_flush_tx(endpoint); */ ++ endpoint->tx_urb = NULL; ++ } ++ } else { ++ if (endpoint->rcv_packetSize) { ++ /* we have a valid rx endpoint */ ++ /*usbd_flush_rcv(endpoint); */ ++ endpoint->rcv_urb = NULL; ++ } ++ } ++} ++#endif ++ ++/* ************************************************************************** */ ++ ++/** ++ * udc_connected - is the USB cable connected ++ * ++ * Return non-zero if cable is connected. ++ */ ++#if 0 ++int udc_connected (void) ++{ ++ return ((inw (UDC_DEVSTAT) & UDC_ATT) == UDC_ATT); ++} ++#endif ++ ++/* Turn on the USB connection by enabling the pullup resistor */ ++void udc_connect (void) ++{ ++ UDCDBG ("connect, enable Pullup"); ++} ++ ++/* Turn off the USB connection by disabling the pullup resistor */ ++void udc_disconnect (void) ++{ ++ UDCDBG ("disconnect, disable Pullup"); ++} ++ ++/* ************************************************************************** */ ++ ++ ++/* ++ * udc_disable_interrupts - disable interrupts ++ * switch off interrupts ++ */ ++#if 0 ++void udc_disable_interrupts (struct usb_device_instance *device) ++{ ++ UDCDBG ("disabling all interrupts"); ++ outw (0, UDC_IRQ_EN); ++} ++#endif ++ ++/* ************************************************************************** */ ++ ++/** ++ * udc_ep0_packetsize - return ep0 packetsize ++ */ ++#if 0 ++int udc_ep0_packetsize (void) ++{ ++ return EP0_PACKETSIZE; ++} ++#endif ++ ++/* Switch on the UDC */ ++void udc_enable (struct usb_device_instance *device) ++{ ++ UDCDBGA ("enable device %p, status %d", device, device->status); ++ ++ /* initialize driver state variables */ ++ udc_devstat = 0; ++ ++ /* Save the device structure pointer */ ++ udc_device = device; ++ ++ /* Setup ep0 urb */ ++ if (!ep0_urb) { ++ ep0_urb = ++ usbd_alloc_urb (udc_device, ++ udc_device->bus->endpoint_array); ++ } else { ++ serial_printf ("udc_enable: ep0_urb already allocated %p\n", ++ ep0_urb); ++ } ++ ++#ifdef FIXME ++ /* The VBUS_MODE bit selects whether VBUS detection is done via ++ * software (1) or hardware (0). When software detection is ++ * selected, VBUS_CTRL selects whether USB is not connected (0) ++ * or connected (1). ++ */ ++ outl (inl (FUNC_MUX_CTRL_0) | UDC_VBUS_CTRL | UDC_VBUS_MODE, ++ FUNC_MUX_CTRL_0); ++ UDCREGL (FUNC_MUX_CTRL_0); ++#endif ++ ++ s3c2410_configure_device(device); ++} ++ ++/* Switch off the UDC */ ++void udc_disable (void) ++{ ++ UDCDBG ("disable UDC"); ++ ++ s3c2410_deconfigure_device(); ++ ++#ifdef FIXME ++ /* The VBUS_MODE bit selects whether VBUS detection is done via ++ * software (1) or hardware (0). When software detection is ++ * selected, VBUS_CTRL selects whether USB is not connected (0) ++ * or connected (1). ++ */ ++ outl (inl (FUNC_MUX_CTRL_0) | UDC_VBUS_MODE, FUNC_MUX_CTRL_0); ++ outl (inl (FUNC_MUX_CTRL_0) & ~UDC_VBUS_CTRL, FUNC_MUX_CTRL_0); ++ UDCREGL (FUNC_MUX_CTRL_0); ++#endif ++ ++ /* Free ep0 URB */ ++ if (ep0_urb) { ++ /*usbd_dealloc_urb(ep0_urb); */ ++ ep0_urb = NULL; ++ } ++ ++ /* Reset device pointer. ++ * We ought to do this here to balance the initialization of udc_device ++ * in udc_enable, but some of our other exported functions get called ++ * by the bus interface driver after udc_disable, so we have to hang on ++ * to the device pointer to avoid a null pointer dereference. */ ++ /* udc_device = NULL; */ ++} ++ ++/** ++ * udc_startup - allow udc code to do any additional startup ++ */ ++void udc_startup_events (struct usb_device_instance *device) ++{ ++ /* The DEVICE_INIT event puts the USB device in the state STATE_INIT. */ ++ usbd_device_event_irq (device, DEVICE_INIT, 0); ++ ++ /* The DEVICE_CREATE event puts the USB device in the state ++ * STATE_ATTACHED. ++ */ ++ usbd_device_event_irq (device, DEVICE_CREATE, 0); ++ ++ /* Some USB controller driver implementations signal ++ * DEVICE_HUB_CONFIGURED and DEVICE_RESET events here. ++ * DEVICE_HUB_CONFIGURED causes a transition to the state STATE_POWERED, ++ * and DEVICE_RESET causes a transition to the state STATE_DEFAULT. ++ * The OMAP USB client controller has the capability to detect when the ++ * USB cable is connected to a powered USB bus via the ATT bit in the ++ * DEVSTAT register, so we will defer the DEVICE_HUB_CONFIGURED and ++ * DEVICE_RESET events until later. ++ */ ++ ++ udc_enable (device); ++} ++ ++#endif +diff --git a/examples/Makefile b/examples/Makefile +index a342d75..082e52e 100644 +--- a/examples/Makefile ++++ b/examples/Makefile +@@ -60,7 +60,7 @@ endif + include $(TOPDIR)/config.mk + + SREC = hello_world.srec +-BIN = hello_world.bin hello_world ++BIN = hello_world hello_world.bin + + ifeq ($(CPU),mpc8xx) + SREC = test_burst.srec +@@ -122,7 +122,7 @@ clibdir := $(shell dirname `$(CC) $(CFLA + + CPPFLAGS += -I.. + +-all: .depend $(OBJS) $(LIB) $(SREC) $(BIN) ++all: .depend $(OBJS) $(LIB) $(BIN) $(SREC) + + ######################################################################### + $(LIB): .depend $(LIBOBJS) +diff --git a/include/asm-arm/arch-s3c24x0/mmc.h b/include/asm-arm/arch-s3c24x0/mmc.h +new file mode 100644 +index 0000000..d9178f3 +--- /dev/null ++++ b/include/asm-arm/arch-s3c24x0/mmc.h +@@ -0,0 +1,112 @@ ++/* ++ * linux/drivers/mmc/mmc_pxa.h ++ * ++ * Author: Vladimir Shebordaev, Igor Oblakov ++ * Copyright: MontaVista Software Inc. ++ * ++ * $Id: mmc_pxa.h,v 0.3.1.6 2002/09/25 19:25:48 ted Exp ted $ ++ * ++ * 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. ++ */ ++#ifndef __MMC_PXA_P_H__ ++#define __MMC_PXA_P_H__ ++ ++#include <asm/arch/regs-sdi.h> ++ ++#define MMC_DEFAULT_RCA (1<<16) ++ ++#define MMC_BLOCK_SIZE 512 ++#define MMC_CMD_RESET 0 ++#define MMC_CMD_SEND_OP_COND 1 ++#define MMC_CMD_ALL_SEND_CID 2 ++#define MMC_CMD_SET_RCA 3 ++#define MMC_CMD_SELECT_CARD 7 ++#define MMC_CMD_SEND_CSD 9 ++#define MMC_CMD_SEND_CID 10 ++#define MMC_CMD_SEND_STATUS 13 ++#define MMC_CMD_SET_BLOCKLEN 16 ++#define MMC_CMD_READ_BLOCK 17 ++#define MMC_CMD_RD_BLK_MULTI 18 ++#define MMC_CMD_WRITE_BLOCK 24 ++ ++#define MMC_MAX_BLOCK_SIZE 512 ++ ++#define MMC_R1_IDLE_STATE 0x01 ++#define MMC_R1_ERASE_STATE 0x02 ++#define MMC_R1_ILLEGAL_CMD 0x04 ++#define MMC_R1_COM_CRC_ERR 0x08 ++#define MMC_R1_ERASE_SEQ_ERR 0x01 ++#define MMC_R1_ADDR_ERR 0x02 ++#define MMC_R1_PARAM_ERR 0x04 ++ ++#define MMC_R1B_WP_ERASE_SKIP 0x0002 ++#define MMC_R1B_ERR 0x0004 ++#define MMC_R1B_CC_ERR 0x0008 ++#define MMC_R1B_CARD_ECC_ERR 0x0010 ++#define MMC_R1B_WP_VIOLATION 0x0020 ++#define MMC_R1B_ERASE_PARAM 0x0040 ++#define MMC_R1B_OOR 0x0080 ++#define MMC_R1B_IDLE_STATE 0x0100 ++#define MMC_R1B_ERASE_RESET 0x0200 ++#define MMC_R1B_ILLEGAL_CMD 0x0400 ++#define MMC_R1B_COM_CRC_ERR 0x0800 ++#define MMC_R1B_ERASE_SEQ_ERR 0x1000 ++#define MMC_R1B_ADDR_ERR 0x2000 ++#define MMC_R1B_PARAM_ERR 0x4000 ++ ++typedef struct mmc_cid ++{ ++/* FIXME: BYTE_ORDER */ ++ uchar year:4, ++ month:4; ++ uchar sn[3]; ++ uchar fwrev:4, ++ hwrev:4; ++ uchar name[6]; ++ uchar id[3]; ++} mmc_cid_t; ++ ++typedef struct mmc_csd ++{ ++ uchar ecc:2, ++ file_format:2, ++ tmp_write_protect:1, ++ perm_write_protect:1, ++ copy:1, ++ file_format_grp:1; ++ uint64_t content_prot_app:1, ++ rsvd3:4, ++ write_bl_partial:1, ++ write_bl_len:4, ++ r2w_factor:3, ++ default_ecc:2, ++ wp_grp_enable:1, ++ wp_grp_size:5, ++ erase_grp_mult:5, ++ erase_grp_size:5, ++ c_size_mult1:3, ++ vdd_w_curr_max:3, ++ vdd_w_curr_min:3, ++ vdd_r_curr_max:3, ++ vdd_r_curr_min:3, ++ c_size:12, ++ rsvd2:2, ++ dsr_imp:1, ++ read_blk_misalign:1, ++ write_blk_misalign:1, ++ read_bl_partial:1; ++ ++ ushort read_bl_len:4, ++ ccc:12; ++ uchar tran_speed; ++ uchar nsac; ++ uchar taac; ++ uchar rsvd1:2, ++ spec_vers:4, ++ csd_structure:2; ++} mmc_csd_t; ++ ++ ++#endif /* __MMC_PXA_P_H__ */ +diff --git a/include/asm-arm/arch-s3c24x0/regs-sdi.h b/include/asm-arm/arch-s3c24x0/regs-sdi.h +new file mode 100644 +index 0000000..9b5b9d1 +--- /dev/null ++++ b/include/asm-arm/arch-s3c24x0/regs-sdi.h +@@ -0,0 +1,110 @@ ++/* linux/include/asm/arch-s3c2410/regs-sdi.h ++ * ++ * Copyright (c) 2004 Simtec Electronics <linux@simtec.co.uk> ++ * http://www.simtec.co.uk/products/SWLINUX/ ++ * ++ * 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. ++ * ++ * S3C2410 MMC/SDIO register definitions ++ * ++ * Changelog: ++ * 18-Aug-2004 Ben Dooks Created initial file ++ * 29-Nov-2004 Koen Martens Added some missing defines, fixed duplicates ++ * 29-Nov-2004 Ben Dooks Updated Koen's patch ++*/ ++ ++#ifndef __ASM_ARM_REGS_SDI ++#define __ASM_ARM_REGS_SDI "regs-sdi.h" ++ ++#define S3C2440_SDICON_SDRESET (1<<8) ++#define S3C2440_SDICON_MMCCLOCK (1<<5) ++#define S3C2410_SDICON_BYTEORDER (1<<4) ++#define S3C2410_SDICON_SDIOIRQ (1<<3) ++#define S3C2410_SDICON_RWAITEN (1<<2) ++#define S3C2410_SDICON_FIFORESET (1<<1) ++#define S3C2410_SDICON_CLOCKTYPE (1<<0) ++ ++#define S3C2410_SDICMDCON_ABORT (1<<12) ++#define S3C2410_SDICMDCON_WITHDATA (1<<11) ++#define S3C2410_SDICMDCON_LONGRSP (1<<10) ++#define S3C2410_SDICMDCON_WAITRSP (1<<9) ++#define S3C2410_SDICMDCON_CMDSTART (1<<8) ++#define S3C2410_SDICMDCON_SENDERHOST (1<<6) ++#define S3C2410_SDICMDCON_INDEX (0x3f) ++ ++#define S3C2410_SDICMDSTAT_CRCFAIL (1<<12) ++#define S3C2410_SDICMDSTAT_CMDSENT (1<<11) ++#define S3C2410_SDICMDSTAT_CMDTIMEOUT (1<<10) ++#define S3C2410_SDICMDSTAT_RSPFIN (1<<9) ++#define S3C2410_SDICMDSTAT_XFERING (1<<8) ++#define S3C2410_SDICMDSTAT_INDEX (0xff) ++ ++#define S3C2440_SDIDCON_DS_BYTE (0<<22) ++#define S3C2440_SDIDCON_DS_HALFWORD (1<<22) ++#define S3C2440_SDIDCON_DS_WORD (2<<22) ++#define S3C2410_SDIDCON_IRQPERIOD (1<<21) ++#define S3C2410_SDIDCON_TXAFTERRESP (1<<20) ++#define S3C2410_SDIDCON_RXAFTERCMD (1<<19) ++#define S3C2410_SDIDCON_BUSYAFTERCMD (1<<18) ++#define S3C2410_SDIDCON_BLOCKMODE (1<<17) ++#define S3C2410_SDIDCON_WIDEBUS (1<<16) ++#define S3C2410_SDIDCON_DMAEN (1<<15) ++#define S3C2410_SDIDCON_STOP (1<<14) ++#define S3C2440_SDIDCON_DATSTART (1<<14) ++#define S3C2410_SDIDCON_DATMODE (3<<12) ++#define S3C2410_SDIDCON_BLKNUM (0x7ff) ++ ++/* constants for S3C2410_SDIDCON_DATMODE */ ++#define S3C2410_SDIDCON_XFER_READY (0<<12) ++#define S3C2410_SDIDCON_XFER_CHKSTART (1<<12) ++#define S3C2410_SDIDCON_XFER_RXSTART (2<<12) ++#define S3C2410_SDIDCON_XFER_TXSTART (3<<12) ++ ++#define S3C2410_SDIDCON_BLKNUM_MASK (0xFFF) ++#define S3C2410_SDIDCNT_BLKNUM_SHIFT (12) ++ ++#define S3C2410_SDIDSTA_RDYWAITREQ (1<<10) ++#define S3C2410_SDIDSTA_SDIOIRQDETECT (1<<9) ++#define S3C2410_SDIDSTA_FIFOFAIL (1<<8) /* reserved on 2440 */ ++#define S3C2410_SDIDSTA_CRCFAIL (1<<7) ++#define S3C2410_SDIDSTA_RXCRCFAIL (1<<6) ++#define S3C2410_SDIDSTA_DATATIMEOUT (1<<5) ++#define S3C2410_SDIDSTA_XFERFINISH (1<<4) ++#define S3C2410_SDIDSTA_BUSYFINISH (1<<3) ++#define S3C2410_SDIDSTA_SBITERR (1<<2) /* reserved on 2410a/2440 */ ++#define S3C2410_SDIDSTA_TXDATAON (1<<1) ++#define S3C2410_SDIDSTA_RXDATAON (1<<0) ++ ++#define S3C2440_SDIFSTA_FIFORESET (1<<16) ++#define S3C2440_SDIFSTA_FIFOFAIL (3<<14) /* 3 is correct (2 bits) */ ++#define S3C2410_SDIFSTA_TFDET (1<<13) ++#define S3C2410_SDIFSTA_RFDET (1<<12) ++#define S3C2410_SDIFSTA_TFHALF (1<<11) ++#define S3C2410_SDIFSTA_TFEMPTY (1<<10) ++#define S3C2410_SDIFSTA_RFLAST (1<<9) ++#define S3C2410_SDIFSTA_RFFULL (1<<8) ++#define S3C2410_SDIFSTA_RFHALF (1<<7) ++#define S3C2410_SDIFSTA_COUNTMASK (0x7f) ++ ++#define S3C2410_SDIIMSK_RESPONSECRC (1<<17) ++#define S3C2410_SDIIMSK_CMDSENT (1<<16) ++#define S3C2410_SDIIMSK_CMDTIMEOUT (1<<15) ++#define S3C2410_SDIIMSK_RESPONSEND (1<<14) ++#define S3C2410_SDIIMSK_READWAIT (1<<13) ++#define S3C2410_SDIIMSK_SDIOIRQ (1<<12) ++#define S3C2410_SDIIMSK_FIFOFAIL (1<<11) ++#define S3C2410_SDIIMSK_CRCSTATUS (1<<10) ++#define S3C2410_SDIIMSK_DATACRC (1<<9) ++#define S3C2410_SDIIMSK_DATATIMEOUT (1<<8) ++#define S3C2410_SDIIMSK_DATAFINISH (1<<7) ++#define S3C2410_SDIIMSK_BUSYFINISH (1<<6) ++#define S3C2410_SDIIMSK_SBITERR (1<<5) /* reserved 2440/2410a */ ++#define S3C2410_SDIIMSK_TXFIFOHALF (1<<4) ++#define S3C2410_SDIIMSK_TXFIFOEMPTY (1<<3) ++#define S3C2410_SDIIMSK_RXFIFOLAST (1<<2) ++#define S3C2410_SDIIMSK_RXFIFOFULL (1<<1) ++#define S3C2410_SDIIMSK_RXFIFOHALF (1<<0) ++ ++#endif /* __ASM_ARM_REGS_SDI */ +diff --git a/include/asm-arm/mach-types.h b/include/asm-arm/mach-types.h +index 7d7888e..4e9c6d9 100644 +--- a/include/asm-arm/mach-types.h ++++ b/include/asm-arm/mach-types.h +@@ -424,7 +424,7 @@ #define MACH_TYPE_MT02 4 + #define MACH_TYPE_MPORT3S 411 + #define MACH_TYPE_RA_ALPHA 412 + #define MACH_TYPE_XCEP 413 +-#define MACH_TYPE_ARCOM_MERCURY 414 ++#define MACH_TYPE_ARCOM_VULCAN 414 + #define MACH_TYPE_STARGATE 415 + #define MACH_TYPE_ARMADILLOJ 416 + #define MACH_TYPE_ELROY_JACK 417 +@@ -457,7 +457,7 @@ #define MACH_TYPE_ESL_SARVA 4 + #define MACH_TYPE_XM250 444 + #define MACH_TYPE_T6TC1XB 445 + #define MACH_TYPE_ESS710 446 +-#define MACH_TYPE_MX3ADS 447 ++#define MACH_TYPE_MX31ADS 447 + #define MACH_TYPE_HIMALAYA 448 + #define MACH_TYPE_BOLFENK 449 + #define MACH_TYPE_AT91RM9200KR 450 +@@ -736,7 +736,308 @@ #define MACH_TYPE_ADSPORTAL 7 + #define MACH_TYPE_LN2410SBC 725 + #define MACH_TYPE_CB3RUFC 726 + #define MACH_TYPE_MP2USB 727 +-#define MACH_TYPE_PDNB3 1002 ++#define MACH_TYPE_NTNP425C 728 ++#define MACH_TYPE_COLIBRI 729 ++#define MACH_TYPE_PCM7220 730 ++#define MACH_TYPE_GATEWAY7001 731 ++#define MACH_TYPE_PCM027 732 ++#define MACH_TYPE_CMPXA 733 ++#define MACH_TYPE_ANUBIS 734 ++#define MACH_TYPE_ITE8152 735 ++#define MACH_TYPE_LPC3XXX 736 ++#define MACH_TYPE_PUPPETEER 737 ++#define MACH_TYPE_MACH_VADATECH 738 ++#define MACH_TYPE_E570 739 ++#define MACH_TYPE_X50 740 ++#define MACH_TYPE_RECON 741 ++#define MACH_TYPE_XBOARDGP8 742 ++#define MACH_TYPE_FPIC2 743 ++#define MACH_TYPE_AKITA 744 ++#define MACH_TYPE_A81 745 ++#define MACH_TYPE_SVM_SC25X 746 ++#define MACH_TYPE_VADATECH020 747 ++#define MACH_TYPE_TLI 748 ++#define MACH_TYPE_EDB9315LC 749 ++#define MACH_TYPE_PASSEC 750 ++#define MACH_TYPE_DS_TIGER 751 ++#define MACH_TYPE_E310 752 ++#define MACH_TYPE_E330 753 ++#define MACH_TYPE_RT3000 754 ++#define MACH_TYPE_NOKIA770 755 ++#define MACH_TYPE_PNX0106 756 ++#define MACH_TYPE_HX21XX 757 ++#define MACH_TYPE_FARADAY 758 ++#define MACH_TYPE_SBC9312 759 ++#define MACH_TYPE_BATMAN 760 ++#define MACH_TYPE_JPD201 761 ++#define MACH_TYPE_MIPSA 762 ++#define MACH_TYPE_KACOM 763 ++#define MACH_TYPE_SWARCOCPU 764 ++#define MACH_TYPE_SWARCODSL 765 ++#define MACH_TYPE_BLUEANGEL 766 ++#define MACH_TYPE_HAIRYGRAMA 767 ++#define MACH_TYPE_BANFF 768 ++#define MACH_TYPE_CARMEVA 769 ++#define MACH_TYPE_SAM255 770 ++#define MACH_TYPE_PPM10 771 ++#define MACH_TYPE_EDB9315A 772 ++#define MACH_TYPE_SUNSET 773 ++#define MACH_TYPE_STARGATE2 774 ++#define MACH_TYPE_INTELMOTE2 775 ++#define MACH_TYPE_TRIZEPS4 776 ++#define MACH_TYPE_MAINSTONE2 777 ++#define MACH_TYPE_EZ_IXP42X 778 ++#define MACH_TYPE_TAPWAVE_ZODIAC 779 ++#define MACH_TYPE_UNIVERSALMETER 780 ++#define MACH_TYPE_HICOARM9 781 ++#define MACH_TYPE_PNX4008 782 ++#define MACH_TYPE_KWS6000 783 ++#define MACH_TYPE_PORTUX920T 784 ++#define MACH_TYPE_EZ_X5 785 ++#define MACH_TYPE_OMAP_RUDOLPH 786 ++#define MACH_TYPE_CPUAT91 787 ++#define MACH_TYPE_REA9200 788 ++#define MACH_TYPE_ACTS_PUNE_SA1110 789 ++#define MACH_TYPE_IXP425 790 ++#define MACH_TYPE_ARGONPLUSODYSSEY 791 ++#define MACH_TYPE_PERCH 792 ++#define MACH_TYPE_EIS05R1 793 ++#define MACH_TYPE_PEPPERPAD 794 ++#define MACH_TYPE_SB3010 795 ++#define MACH_TYPE_RM9200 796 ++#define MACH_TYPE_DMA03 797 ++#define MACH_TYPE_ROAD_S101 798 ++#define MACH_TYPE_IQ_NEXTGEN_A 799 ++#define MACH_TYPE_IQ_NEXTGEN_B 800 ++#define MACH_TYPE_IQ_NEXTGEN_C 801 ++#define MACH_TYPE_IQ_NEXTGEN_D 802 ++#define MACH_TYPE_IQ_NEXTGEN_E 803 ++#define MACH_TYPE_MALLOW_AT91 804 ++#define MACH_TYPE_CYBERTRACKER_I 805 ++#define MACH_TYPE_GESBC931X 806 ++#define MACH_TYPE_CENTIPAD 807 ++#define MACH_TYPE_ARMSOC 808 ++#define MACH_TYPE_SE4200 809 ++#define MACH_TYPE_EMS197A 810 ++#define MACH_TYPE_MICRO9 811 ++#define MACH_TYPE_MICRO9L 812 ++#define MACH_TYPE_UC5471DSP 813 ++#define MACH_TYPE_SJ5471ENG 814 ++#define MACH_TYPE_CMPXA26X 815 ++#define MACH_TYPE_NC 816 ++#define MACH_TYPE_OMAP_PALMTE 817 ++#define MACH_TYPE_AJAX52X 818 ++#define MACH_TYPE_SIRIUSTAR 819 ++#define MACH_TYPE_IODATA_HDLG 820 ++#define MACH_TYPE_AT91RM9200UTL 821 ++#define MACH_TYPE_BIOSAFE 822 ++#define MACH_TYPE_MP1000 823 ++#define MACH_TYPE_PARSY 824 ++#define MACH_TYPE_CCXP 825 ++#define MACH_TYPE_OMAP_GSAMPLE 826 ++#define MACH_TYPE_REALVIEW_EB 827 ++#define MACH_TYPE_SAMOA 828 ++#define MACH_TYPE_T3XSCALE 829 ++#define MACH_TYPE_I878 830 ++#define MACH_TYPE_BORZOI 831 ++#define MACH_TYPE_GECKO 832 ++#define MACH_TYPE_DS101 833 ++#define MACH_TYPE_OMAP_PALMTT2 834 ++#define MACH_TYPE_XSCALE_PALMLD 835 ++#define MACH_TYPE_CC9C 836 ++#define MACH_TYPE_SBC1670 837 ++#define MACH_TYPE_IXDP28X5 838 ++#define MACH_TYPE_OMAP_PALMTT 839 ++#define MACH_TYPE_ML696K 840 ++#define MACH_TYPE_ARCOM_ZEUS 841 ++#define MACH_TYPE_OSIRIS 842 ++#define MACH_TYPE_MAESTRO 843 ++#define MACH_TYPE_TUNGE2 844 ++#define MACH_TYPE_IXBBM 845 ++#define MACH_TYPE_MX27 846 ++#define MACH_TYPE_AX8004 847 ++#define MACH_TYPE_AT91SAM9261EK 848 ++#define MACH_TYPE_LOFT 849 ++#define MACH_TYPE_MAGPIE 850 ++#define MACH_TYPE_MX21 851 ++#define MACH_TYPE_MB87M3400 852 ++#define MACH_TYPE_MGUARD_DELTA 853 ++#define MACH_TYPE_DAVINCI_DVDP 854 ++#define MACH_TYPE_HTCUNIVERSAL 855 ++#define MACH_TYPE_TPAD 856 ++#define MACH_TYPE_ROVERP3 857 ++#define MACH_TYPE_JORNADA928 858 ++#define MACH_TYPE_MV88FXX81 859 ++#define MACH_TYPE_STMP36XX 860 ++#define MACH_TYPE_SXNI79524 861 ++#define MACH_TYPE_AMS_DELTA 862 ++#define MACH_TYPE_URANIUM 863 ++#define MACH_TYPE_UCON 864 ++#define MACH_TYPE_NAS100D 865 ++#define MACH_TYPE_L083_1000 866 ++#define MACH_TYPE_EZX 867 ++#define MACH_TYPE_PNX5220 868 ++#define MACH_TYPE_BUTTE 869 ++#define MACH_TYPE_SRM2 870 ++#define MACH_TYPE_DSBR 871 ++#define MACH_TYPE_CRYSTALBALL 872 ++#define MACH_TYPE_TINYPXA27X 873 ++#define MACH_TYPE_HERBIE 874 ++#define MACH_TYPE_MAGICIAN 875 ++#define MACH_TYPE_CM4002 876 ++#define MACH_TYPE_B4 877 ++#define MACH_TYPE_MAUI 878 ++#define MACH_TYPE_CYBERTRACKER_G 879 ++#define MACH_TYPE_NXDKN 880 ++#define MACH_TYPE_MIO8390 881 ++#define MACH_TYPE_OMI_BOARD 882 ++#define MACH_TYPE_MX21CIV 883 ++#define MACH_TYPE_MAHI_CDAC 884 ++#define MACH_TYPE_XSCALE_PALMTX 885 ++#define MACH_TYPE_S3C2413 887 ++#define MACH_TYPE_SAMSYS_EP0 888 ++#define MACH_TYPE_WG302V1 889 ++#define MACH_TYPE_WG302V2 890 ++#define MACH_TYPE_EB42X 891 ++#define MACH_TYPE_IQ331ES 892 ++#define MACH_TYPE_COSYDSP 893 ++#define MACH_TYPE_UPLAT7D 894 ++#define MACH_TYPE_PTDAVINCI 895 ++#define MACH_TYPE_MBUS 896 ++#define MACH_TYPE_NADIA2VB 897 ++#define MACH_TYPE_R1000 898 ++#define MACH_TYPE_HW90250 899 ++#define MACH_TYPE_OMAP_2430SDP 900 ++#define MACH_TYPE_DAVINCI_EVM 901 ++#define MACH_TYPE_OMAP_TORNADO 902 ++#define MACH_TYPE_OLOCREEK 903 ++#define MACH_TYPE_PALMZ72 904 ++#define MACH_TYPE_NXDB500 905 ++#define MACH_TYPE_APF9328 906 ++#define MACH_TYPE_OMAP_WIPOQ 907 ++#define MACH_TYPE_OMAP_TWIP 908 ++#define MACH_TYPE_XSCALE_PALMTREO650 909 ++#define MACH_TYPE_ACUMEN 910 ++#define MACH_TYPE_XP100 911 ++#define MACH_TYPE_FS2410 912 ++#define MACH_TYPE_PXA270_CERF 913 ++#define MACH_TYPE_SQ2FTLPALM 914 ++#define MACH_TYPE_BSEMSERVER 915 ++#define MACH_TYPE_NETCLIENT 916 ++#define MACH_TYPE_XSCALE_PALMTT5 917 ++#define MACH_TYPE_OMAP_PALMTC 918 ++#define MACH_TYPE_OMAP_APOLLON 919 ++#define MACH_TYPE_ARGONLVEVB 920 ++#define MACH_TYPE_REA_2D 921 ++#define MACH_TYPE_TI3E524 922 ++#define MACH_TYPE_ATEB9200 923 ++#define MACH_TYPE_AUCKLAND 924 ++#define MACH_TYPE_AK3320M 925 ++#define MACH_TYPE_DURAMAX 926 ++#define MACH_TYPE_N35 927 ++#define MACH_TYPE_PRONGHORN 928 ++#define MACH_TYPE_FUNDY 929 ++#define MACH_TYPE_LOGICPD_PXA270 930 ++#define MACH_TYPE_CPU777 931 ++#define MACH_TYPE_SIMICON9201 932 ++#define MACH_TYPE_LEAP2_HPM 933 ++#define MACH_TYPE_CM922TXA10 934 ++#define MACH_TYPE_PXA 935 ++#define MACH_TYPE_SANDGATE2 936 ++#define MACH_TYPE_SANDGATE2G 937 ++#define MACH_TYPE_SANDGATE2P 938 ++#define MACH_TYPE_FRED_JACK 939 ++#define MACH_TYPE_TTG_COLOR1 940 ++#define MACH_TYPE_NXEB500HMI 941 ++#define MACH_TYPE_NETDCU8 942 ++#define MACH_TYPE_ML675050_CPU_BOA 943 ++#define MACH_TYPE_NG_FVX538 944 ++#define MACH_TYPE_NG_FVS338 945 ++#define MACH_TYPE_PNX4103 946 ++#define MACH_TYPE_HESDB 947 ++#define MACH_TYPE_XSILO 948 ++#define MACH_TYPE_ESPRESSO 949 ++#define MACH_TYPE_EMLC 950 ++#define MACH_TYPE_SISTERON 951 ++#define MACH_TYPE_RX1950 952 ++#define MACH_TYPE_TSC_VENUS 953 ++#define MACH_TYPE_DS101J 954 ++#define MACH_TYPE_MXC30030ADS 955 ++#define MACH_TYPE_FUJITSU_WIMAXSOC 956 ++#define MACH_TYPE_DUALPCMODEM 957 ++#define MACH_TYPE_GESBC9312 958 ++#define MACH_TYPE_HTCAPACHE 959 ++#define MACH_TYPE_IXDP435 960 ++#define MACH_TYPE_CATPROVT100 961 ++#define MACH_TYPE_PICOTUX1XX 962 ++#define MACH_TYPE_PICOTUX2XX 963 ++#define MACH_TYPE_DSMG600 964 ++#define MACH_TYPE_EMPC2 965 ++#define MACH_TYPE_VENTURA 966 ++#define MACH_TYPE_PHIDGET_SBC 967 ++#define MACH_TYPE_IJ3K 968 ++#define MACH_TYPE_PISGAH 969 ++#define MACH_TYPE_OMAP_FSAMPLE 970 ++#define MACH_TYPE_SG720 971 ++#define MACH_TYPE_REDFOX 972 ++#define MACH_TYPE_MYSH_EP9315_1 973 ++#define MACH_TYPE_TPF106 974 ++#define MACH_TYPE_AT91RM9200KG 975 ++#define MACH_TYPE_SLEDB 976 ++#define MACH_TYPE_ONTRACK 977 ++#define MACH_TYPE_PM1200 978 ++#define MACH_TYPE_ESS24XXX 979 ++#define MACH_TYPE_COREMP7 980 ++#define MACH_TYPE_NEXCODER_6446 981 ++#define MACH_TYPE_STVC8380 982 ++#define MACH_TYPE_TEKLYNX 983 ++#define MACH_TYPE_CARBONADO 984 ++#define MACH_TYPE_SYSMOS_MP730 985 ++#define MACH_TYPE_SNAPPER_CL15 986 ++#define MACH_TYPE_PGIGIM 987 ++#define MACH_TYPE_PTX9160P2 988 ++#define MACH_TYPE_DCORE1 989 ++#define MACH_TYPE_VICTORPXA 990 ++#define MACH_TYPE_MX2DTB 991 ++#define MACH_TYPE_PXA_IREX_ER0100 992 ++#define MACH_TYPE_OMAP_PALMZ71 993 ++#define MACH_TYPE_BARTEC_DEG 994 ++#define MACH_TYPE_HW50251 995 ++#define MACH_TYPE_IBOX 996 ++#define MACH_TYPE_ATLASLH7A404 997 ++#define MACH_TYPE_PT2026 998 ++#define MACH_TYPE_HTCALPINE 999 ++#define MACH_TYPE_BARTEC_VTU 1000 ++#define MACH_TYPE_VCOREII 1001 ++#define MACH_TYPE_PDNB3 1002 ++#define MACH_TYPE_HTCBEETLES 1003 ++#define MACH_TYPE_S3C6400 1004 ++#define MACH_TYPE_S3C2443 1005 ++#define MACH_TYPE_OMAP_LDK 1006 ++#define MACH_TYPE_SMDK2460 1007 ++#define MACH_TYPE_SMDK2440 1008 ++#define MACH_TYPE_SMDK2412 1009 ++#define MACH_TYPE_WEBBOX 1010 ++#define MACH_TYPE_CWWNDP 1011 ++#define MACH_TYPE_DRAGON 1012 ++#define MACH_TYPE_OPENDO_CPU_BOARD 1013 ++#define MACH_TYPE_CCM2200 1014 ++#define MACH_TYPE_ETWARM 1015 ++#define MACH_TYPE_M93030 1016 ++#define MACH_TYPE_CC7U 1017 ++#define MACH_TYPE_MTT_RANGER 1018 ++#define MACH_TYPE_NEXUS 1019 ++#define MACH_TYPE_DESMAN 1020 ++#define MACH_TYPE_BKDE303 1021 ++#define MACH_TYPE_SMDK2413 1022 ++#define MACH_TYPE_AML_M7200 1023 ++#define MACH_TYPE_AML_M5900 1024 ++#define MACH_TYPE_SG640 1025 ++#define MACH_TYPE_EDG79524 1026 ++#define MACH_TYPE_AI2410 1027 ++#define MACH_TYPE_IXP465 1028 ++#define MACH_TYPE_BALLOON3 1029 ++#define MACH_TYPE_QT2410 1108 + + #ifdef CONFIG_ARCH_EBSA110 + # ifdef machine_arch_type +@@ -3541,9 +3842,9 @@ # define machine_arch_type __machine_ar + # else + # define machine_arch_type MACH_TYPE_RAMSES + # endif +-# define machine_is_ramses() (machine_arch_type == MACH_TYPE_RAMSES) ++# define machine_is_mnci() (machine_arch_type == MACH_TYPE_RAMSES) + #else +-# define machine_is_ramses() (0) ++# define machine_is_mnci() (0) + #endif + + #ifdef CONFIG_ARCH_S28X +@@ -4501,9 +4802,9 @@ # define machine_arch_type __machine_ar + # else + # define machine_arch_type MACH_TYPE_M825XX + # endif +-# define machine_is_m825xx() (machine_arch_type == MACH_TYPE_M825XX) ++# define machine_is_comcerto() (machine_arch_type == MACH_TYPE_M825XX) + #else +-# define machine_is_m825xx() (0) ++# define machine_is_comcerto() (0) + #endif + + #ifdef CONFIG_SA1100_M7100 +@@ -5658,16 +5959,16 @@ #else + # define machine_is_xcep() (0) + #endif + +-#ifdef CONFIG_MACH_ARCOM_MERCURY ++#ifdef CONFIG_MACH_ARCOM_VULCAN + # ifdef machine_arch_type + # undef machine_arch_type + # define machine_arch_type __machine_arch_type + # else +-# define machine_arch_type MACH_TYPE_ARCOM_MERCURY ++# define machine_arch_type MACH_TYPE_ARCOM_VULCAN + # endif +-# define machine_is_arcom_mercury() (machine_arch_type == MACH_TYPE_ARCOM_MERCURY) ++# define machine_is_arcom_vulcan() (machine_arch_type == MACH_TYPE_ARCOM_VULCAN) + #else +-# define machine_is_arcom_mercury() (0) ++# define machine_is_arcom_vulcan() (0) + #endif + + #ifdef CONFIG_MACH_STARGATE +@@ -6054,16 +6355,16 @@ #else + # define machine_is_ess710() (0) + #endif + +-#ifdef CONFIG_MACH_MX3ADS ++#ifdef CONFIG_MACH_MX31ADS + # ifdef machine_arch_type + # undef machine_arch_type + # define machine_arch_type __machine_arch_type + # else +-# define machine_arch_type MACH_TYPE_MX3ADS ++# define machine_arch_type MACH_TYPE_MX31ADS + # endif +-# define machine_is_mx3ads() (machine_arch_type == MACH_TYPE_MX3ADS) ++# define machine_is_mx31ads() (machine_arch_type == MACH_TYPE_MX31ADS) + #else +-# define machine_is_mx3ads() (0) ++# define machine_is_mx31ads() (0) + #endif + + #ifdef CONFIG_MACH_HIMALAYA +@@ -7333,9 +7634,9 @@ # define machine_arch_type __machine_ar + # else + # define machine_arch_type MACH_TYPE_ARGONPLUSEVB + # endif +-# define machine_is_argonplusevb() (machine_arch_type == MACH_TYPE_ARGONPLUSEVB) ++# define machine_is_i30030evb() (machine_arch_type == MACH_TYPE_ARGONPLUSEVB) + #else +-# define machine_is_argonplusevb() (0) ++# define machine_is_i30030evb() (0) + #endif + + #ifdef CONFIG_MACH_SCMA11EVB +@@ -7345,9 +7646,9 @@ # define machine_arch_type __machine_ar + # else + # define machine_arch_type MACH_TYPE_SCMA11EVB + # endif +-# define machine_is_scma11evb() (machine_arch_type == MACH_TYPE_SCMA11EVB) ++# define machine_is_mxc27530evb() (machine_arch_type == MACH_TYPE_SCMA11EVB) + #else +-# define machine_is_scma11evb() (0) ++# define machine_is_mxc27530evb() (0) + #endif + + #ifdef CONFIG_MACH_SMDK2800 +@@ -8305,9 +8606,9 @@ # define machine_arch_type __machine_ar + # else + # define machine_arch_type MACH_TYPE_SCMA11BB + # endif +-# define machine_is_scma11bb() (machine_arch_type == MACH_TYPE_SCMA11BB) ++# define machine_is_mxc27530ads() (machine_arch_type == MACH_TYPE_SCMA11BB) + #else +-# define machine_is_scma11bb() (0) ++# define machine_is_mxc27530ads() (0) + #endif + + #ifdef CONFIG_MACH_TRIZEPS3 +@@ -9193,9 +9494,9 @@ # define machine_arch_type __machine_ar + # else + # define machine_arch_type MACH_TYPE_ZEUSEVB + # endif +-# define machine_is_zeusevb() (machine_arch_type == MACH_TYPE_ZEUSEVB) ++# define machine_is_mxc91131evb() (machine_arch_type == MACH_TYPE_ZEUSEVB) + #else +-# define machine_is_zeusevb() (0) ++# define machine_is_mxc91131evb() (0) + #endif + + #ifdef CONFIG_MACH_P700 +@@ -9402,6 +9703,3630 @@ #else + # define machine_is_mp2usb() (0) + #endif + ++#ifdef CONFIG_MACH_NTNP425C ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NTNP425C ++# endif ++# define machine_is_ntnp425c() (machine_arch_type == MACH_TYPE_NTNP425C) ++#else ++# define machine_is_ntnp425c() (0) ++#endif ++ ++#ifdef CONFIG_MACH_COLIBRI ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_COLIBRI ++# endif ++# define machine_is_colibri() (machine_arch_type == MACH_TYPE_COLIBRI) ++#else ++# define machine_is_colibri() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PCM7220 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PCM7220 ++# endif ++# define machine_is_pcm7220() (machine_arch_type == MACH_TYPE_PCM7220) ++#else ++# define machine_is_pcm7220() (0) ++#endif ++ ++#ifdef CONFIG_MACH_GATEWAY7001 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_GATEWAY7001 ++# endif ++# define machine_is_gateway7001() (machine_arch_type == MACH_TYPE_GATEWAY7001) ++#else ++# define machine_is_gateway7001() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PCM027 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PCM027 ++# endif ++# define machine_is_pcm027() (machine_arch_type == MACH_TYPE_PCM027) ++#else ++# define machine_is_pcm027() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CMPXA ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CMPXA ++# endif ++# define machine_is_cmpxa() (machine_arch_type == MACH_TYPE_CMPXA) ++#else ++# define machine_is_cmpxa() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ANUBIS ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ANUBIS ++# endif ++# define machine_is_anubis() (machine_arch_type == MACH_TYPE_ANUBIS) ++#else ++# define machine_is_anubis() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ITE8152 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ITE8152 ++# endif ++# define machine_is_ite8152() (machine_arch_type == MACH_TYPE_ITE8152) ++#else ++# define machine_is_ite8152() (0) ++#endif ++ ++#ifdef CONFIG_MACH_LPC3XXX ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_LPC3XXX ++# endif ++# define machine_is_lpc3xxx() (machine_arch_type == MACH_TYPE_LPC3XXX) ++#else ++# define machine_is_lpc3xxx() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PUPPETEER ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PUPPETEER ++# endif ++# define machine_is_puppeteer() (machine_arch_type == MACH_TYPE_PUPPETEER) ++#else ++# define machine_is_puppeteer() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MACH_VADATECH ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MACH_VADATECH ++# endif ++# define machine_is_vt001() (machine_arch_type == MACH_TYPE_MACH_VADATECH) ++#else ++# define machine_is_vt001() (0) ++#endif ++ ++#ifdef CONFIG_MACH_E570 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_E570 ++# endif ++# define machine_is_e570() (machine_arch_type == MACH_TYPE_E570) ++#else ++# define machine_is_e570() (0) ++#endif ++ ++#ifdef CONFIG_MACH_X50 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_X50 ++# endif ++# define machine_is_x50() (machine_arch_type == MACH_TYPE_X50) ++#else ++# define machine_is_x50() (0) ++#endif ++ ++#ifdef CONFIG_MACH_RECON ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_RECON ++# endif ++# define machine_is_recon() (machine_arch_type == MACH_TYPE_RECON) ++#else ++# define machine_is_recon() (0) ++#endif ++ ++#ifdef CONFIG_MACH_XBOARDGP8 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_XBOARDGP8 ++# endif ++# define machine_is_xboardgp8() (machine_arch_type == MACH_TYPE_XBOARDGP8) ++#else ++# define machine_is_xboardgp8() (0) ++#endif ++ ++#ifdef CONFIG_MACH_FPIC2 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_FPIC2 ++# endif ++# define machine_is_fpic2() (machine_arch_type == MACH_TYPE_FPIC2) ++#else ++# define machine_is_fpic2() (0) ++#endif ++ ++#ifdef CONFIG_MACH_AKITA ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_AKITA ++# endif ++# define machine_is_akita() (machine_arch_type == MACH_TYPE_AKITA) ++#else ++# define machine_is_akita() (0) ++#endif ++ ++#ifdef CONFIG_MACH_A81 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_A81 ++# endif ++# define machine_is_a81() (machine_arch_type == MACH_TYPE_A81) ++#else ++# define machine_is_a81() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SVM_SC25X ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SVM_SC25X ++# endif ++# define machine_is_svm_sc25x() (machine_arch_type == MACH_TYPE_SVM_SC25X) ++#else ++# define machine_is_svm_sc25x() (0) ++#endif ++ ++#ifdef CONFIG_MACH_VADATECH020 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_VADATECH020 ++# endif ++# define machine_is_vt020() (machine_arch_type == MACH_TYPE_VADATECH020) ++#else ++# define machine_is_vt020() (0) ++#endif ++ ++#ifdef CONFIG_MACH_TLI ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_TLI ++# endif ++# define machine_is_tli() (machine_arch_type == MACH_TYPE_TLI) ++#else ++# define machine_is_tli() (0) ++#endif ++ ++#ifdef CONFIG_MACH_EDB9315LC ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_EDB9315LC ++# endif ++# define machine_is_edb9315lc() (machine_arch_type == MACH_TYPE_EDB9315LC) ++#else ++# define machine_is_edb9315lc() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PASSEC ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PASSEC ++# endif ++# define machine_is_passec() (machine_arch_type == MACH_TYPE_PASSEC) ++#else ++# define machine_is_passec() (0) ++#endif ++ ++#ifdef CONFIG_MACH_DS_TIGER ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_DS_TIGER ++# endif ++# define machine_is_ds_tiger() (machine_arch_type == MACH_TYPE_DS_TIGER) ++#else ++# define machine_is_ds_tiger() (0) ++#endif ++ ++#ifdef CONFIG_MACH_E310 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_E310 ++# endif ++# define machine_is_e310() (machine_arch_type == MACH_TYPE_E310) ++#else ++# define machine_is_e310() (0) ++#endif ++ ++#ifdef CONFIG_MACH_E330 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_E330 ++# endif ++# define machine_is_e330() (machine_arch_type == MACH_TYPE_E330) ++#else ++# define machine_is_e330() (0) ++#endif ++ ++#ifdef CONFIG_MACH_RT3000 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_RT3000 ++# endif ++# define machine_is_rt3000() (machine_arch_type == MACH_TYPE_RT3000) ++#else ++# define machine_is_rt3000() (0) ++#endif ++ ++#ifdef CONFIG_MACH_NOKIA770 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NOKIA770 ++# endif ++# define machine_is_nokia770() (machine_arch_type == MACH_TYPE_NOKIA770) ++#else ++# define machine_is_nokia770() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PNX0106 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PNX0106 ++# endif ++# define machine_is_pnx0106() (machine_arch_type == MACH_TYPE_PNX0106) ++#else ++# define machine_is_pnx0106() (0) ++#endif ++ ++#ifdef CONFIG_MACH_HX21XX ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_HX21XX ++# endif ++# define machine_is_hx21xx() (machine_arch_type == MACH_TYPE_HX21XX) ++#else ++# define machine_is_hx21xx() (0) ++#endif ++ ++#ifdef CONFIG_MACH_FARADAY ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_FARADAY ++# endif ++# define machine_is_faraday() (machine_arch_type == MACH_TYPE_FARADAY) ++#else ++# define machine_is_faraday() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SBC9312 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SBC9312 ++# endif ++# define machine_is_sbc9312() (machine_arch_type == MACH_TYPE_SBC9312) ++#else ++# define machine_is_sbc9312() (0) ++#endif ++ ++#ifdef CONFIG_MACH_BATMAN ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_BATMAN ++# endif ++# define machine_is_batman() (machine_arch_type == MACH_TYPE_BATMAN) ++#else ++# define machine_is_batman() (0) ++#endif ++ ++#ifdef CONFIG_MACH_JPD201 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_JPD201 ++# endif ++# define machine_is_jpd201() (machine_arch_type == MACH_TYPE_JPD201) ++#else ++# define machine_is_jpd201() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MIPSA ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MIPSA ++# endif ++# define machine_is_mipsa() (machine_arch_type == MACH_TYPE_MIPSA) ++#else ++# define machine_is_mipsa() (0) ++#endif ++ ++#ifdef CONFIG_MACH_KACOM ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_KACOM ++# endif ++# define machine_is_kacom() (machine_arch_type == MACH_TYPE_KACOM) ++#else ++# define machine_is_kacom() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SWARCOCPU ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SWARCOCPU ++# endif ++# define machine_is_swarcocpu() (machine_arch_type == MACH_TYPE_SWARCOCPU) ++#else ++# define machine_is_swarcocpu() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SWARCODSL ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SWARCODSL ++# endif ++# define machine_is_swarcodsl() (machine_arch_type == MACH_TYPE_SWARCODSL) ++#else ++# define machine_is_swarcodsl() (0) ++#endif ++ ++#ifdef CONFIG_MACH_BLUEANGEL ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_BLUEANGEL ++# endif ++# define machine_is_blueangel() (machine_arch_type == MACH_TYPE_BLUEANGEL) ++#else ++# define machine_is_blueangel() (0) ++#endif ++ ++#ifdef CONFIG_MACH_HAIRYGRAMA ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_HAIRYGRAMA ++# endif ++# define machine_is_hairygrama() (machine_arch_type == MACH_TYPE_HAIRYGRAMA) ++#else ++# define machine_is_hairygrama() (0) ++#endif ++ ++#ifdef CONFIG_MACH_BANFF ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_BANFF ++# endif ++# define machine_is_banff() (machine_arch_type == MACH_TYPE_BANFF) ++#else ++# define machine_is_banff() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CARMEVA ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CARMEVA ++# endif ++# define machine_is_carmeva() (machine_arch_type == MACH_TYPE_CARMEVA) ++#else ++# define machine_is_carmeva() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SAM255 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SAM255 ++# endif ++# define machine_is_sam255() (machine_arch_type == MACH_TYPE_SAM255) ++#else ++# define machine_is_sam255() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PPM10 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PPM10 ++# endif ++# define machine_is_ppm10() (machine_arch_type == MACH_TYPE_PPM10) ++#else ++# define machine_is_ppm10() (0) ++#endif ++ ++#ifdef CONFIG_MACH_EDB9315A ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_EDB9315A ++# endif ++# define machine_is_edb9315a() (machine_arch_type == MACH_TYPE_EDB9315A) ++#else ++# define machine_is_edb9315a() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SUNSET ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SUNSET ++# endif ++# define machine_is_sunset() (machine_arch_type == MACH_TYPE_SUNSET) ++#else ++# define machine_is_sunset() (0) ++#endif ++ ++#ifdef CONFIG_MACH_STARGATE2 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_STARGATE2 ++# endif ++# define machine_is_stargate2() (machine_arch_type == MACH_TYPE_STARGATE2) ++#else ++# define machine_is_stargate2() (0) ++#endif ++ ++#ifdef CONFIG_MACH_INTELMOTE2 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_INTELMOTE2 ++# endif ++# define machine_is_intelmote2() (machine_arch_type == MACH_TYPE_INTELMOTE2) ++#else ++# define machine_is_intelmote2() (0) ++#endif ++ ++#ifdef CONFIG_MACH_TRIZEPS4 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_TRIZEPS4 ++# endif ++# define machine_is_trizeps4() (machine_arch_type == MACH_TYPE_TRIZEPS4) ++#else ++# define machine_is_trizeps4() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MAINSTONE2 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MAINSTONE2 ++# endif ++# define machine_is_mainstone2() (machine_arch_type == MACH_TYPE_MAINSTONE2) ++#else ++# define machine_is_mainstone2() (0) ++#endif ++ ++#ifdef CONFIG_MACH_EZ_IXP42X ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_EZ_IXP42X ++# endif ++# define machine_is_ez_ixp42x() (machine_arch_type == MACH_TYPE_EZ_IXP42X) ++#else ++# define machine_is_ez_ixp42x() (0) ++#endif ++ ++#ifdef CONFIG_MACH_TAPWAVE_ZODIAC ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_TAPWAVE_ZODIAC ++# endif ++# define machine_is_tapwave_zodiac() (machine_arch_type == MACH_TYPE_TAPWAVE_ZODIAC) ++#else ++# define machine_is_tapwave_zodiac() (0) ++#endif ++ ++#ifdef CONFIG_MACH_UNIVERSALMETER ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_UNIVERSALMETER ++# endif ++# define machine_is_universalmeter() (machine_arch_type == MACH_TYPE_UNIVERSALMETER) ++#else ++# define machine_is_universalmeter() (0) ++#endif ++ ++#ifdef CONFIG_MACH_HICOARM9 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_HICOARM9 ++# endif ++# define machine_is_hicoarm9() (machine_arch_type == MACH_TYPE_HICOARM9) ++#else ++# define machine_is_hicoarm9() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PNX4008 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PNX4008 ++# endif ++# define machine_is_pnx4008() (machine_arch_type == MACH_TYPE_PNX4008) ++#else ++# define machine_is_pnx4008() (0) ++#endif ++ ++#ifdef CONFIG_MACH_KWS6000 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_KWS6000 ++# endif ++# define machine_is_kws6000() (machine_arch_type == MACH_TYPE_KWS6000) ++#else ++# define machine_is_kws6000() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PORTUX920T ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PORTUX920T ++# endif ++# define machine_is_portux920t() (machine_arch_type == MACH_TYPE_PORTUX920T) ++#else ++# define machine_is_portux920t() (0) ++#endif ++ ++#ifdef CONFIG_MACH_EZ_X5 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_EZ_X5 ++# endif ++# define machine_is_ez_x5() (machine_arch_type == MACH_TYPE_EZ_X5) ++#else ++# define machine_is_ez_x5() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_RUDOLPH ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_RUDOLPH ++# endif ++# define machine_is_omap_rudolph() (machine_arch_type == MACH_TYPE_OMAP_RUDOLPH) ++#else ++# define machine_is_omap_rudolph() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CPUAT91 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CPUAT91 ++# endif ++# define machine_is_cpuat91() (machine_arch_type == MACH_TYPE_CPUAT91) ++#else ++# define machine_is_cpuat91() (0) ++#endif ++ ++#ifdef CONFIG_MACH_REA9200 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_REA9200 ++# endif ++# define machine_is_rea9200() (machine_arch_type == MACH_TYPE_REA9200) ++#else ++# define machine_is_rea9200() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ACTS_PUNE_SA1110 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ACTS_PUNE_SA1110 ++# endif ++# define machine_is_acts_pune_sa1110() (machine_arch_type == MACH_TYPE_ACTS_PUNE_SA1110) ++#else ++# define machine_is_acts_pune_sa1110() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IXP425 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IXP425 ++# endif ++# define machine_is_ixp425() (machine_arch_type == MACH_TYPE_IXP425) ++#else ++# define machine_is_ixp425() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ARGONPLUSODYSSEY ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ARGONPLUSODYSSEY ++# endif ++# define machine_is_i30030ads() (machine_arch_type == MACH_TYPE_ARGONPLUSODYSSEY) ++#else ++# define machine_is_i30030ads() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PERCH ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PERCH ++# endif ++# define machine_is_perch() (machine_arch_type == MACH_TYPE_PERCH) ++#else ++# define machine_is_perch() (0) ++#endif ++ ++#ifdef CONFIG_MACH_EIS05R1 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_EIS05R1 ++# endif ++# define machine_is_eis05r1() (machine_arch_type == MACH_TYPE_EIS05R1) ++#else ++# define machine_is_eis05r1() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PEPPERPAD ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PEPPERPAD ++# endif ++# define machine_is_pepperpad() (machine_arch_type == MACH_TYPE_PEPPERPAD) ++#else ++# define machine_is_pepperpad() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SB3010 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SB3010 ++# endif ++# define machine_is_sb3010() (machine_arch_type == MACH_TYPE_SB3010) ++#else ++# define machine_is_sb3010() (0) ++#endif ++ ++#ifdef CONFIG_MACH_RM9200 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_RM9200 ++# endif ++# define machine_is_rm9200() (machine_arch_type == MACH_TYPE_RM9200) ++#else ++# define machine_is_rm9200() (0) ++#endif ++ ++#ifdef CONFIG_MACH_DMA03 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_DMA03 ++# endif ++# define machine_is_dma03() (machine_arch_type == MACH_TYPE_DMA03) ++#else ++# define machine_is_dma03() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ROAD_S101 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ROAD_S101 ++# endif ++# define machine_is_road_s101() (machine_arch_type == MACH_TYPE_ROAD_S101) ++#else ++# define machine_is_road_s101() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IQ_NEXTGEN_A ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IQ_NEXTGEN_A ++# endif ++# define machine_is_iq_nextgen_a() (machine_arch_type == MACH_TYPE_IQ_NEXTGEN_A) ++#else ++# define machine_is_iq_nextgen_a() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IQ_NEXTGEN_B ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IQ_NEXTGEN_B ++# endif ++# define machine_is_iq_nextgen_b() (machine_arch_type == MACH_TYPE_IQ_NEXTGEN_B) ++#else ++# define machine_is_iq_nextgen_b() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IQ_NEXTGEN_C ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IQ_NEXTGEN_C ++# endif ++# define machine_is_iq_nextgen_c() (machine_arch_type == MACH_TYPE_IQ_NEXTGEN_C) ++#else ++# define machine_is_iq_nextgen_c() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IQ_NEXTGEN_D ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IQ_NEXTGEN_D ++# endif ++# define machine_is_iq_nextgen_d() (machine_arch_type == MACH_TYPE_IQ_NEXTGEN_D) ++#else ++# define machine_is_iq_nextgen_d() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IQ_NEXTGEN_E ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IQ_NEXTGEN_E ++# endif ++# define machine_is_iq_nextgen_e() (machine_arch_type == MACH_TYPE_IQ_NEXTGEN_E) ++#else ++# define machine_is_iq_nextgen_e() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MALLOW_AT91 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MALLOW_AT91 ++# endif ++# define machine_is_mallow_at91() (machine_arch_type == MACH_TYPE_MALLOW_AT91) ++#else ++# define machine_is_mallow_at91() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CYBERTRACKER_I ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CYBERTRACKER_I ++# endif ++# define machine_is_cybertracker_i() (machine_arch_type == MACH_TYPE_CYBERTRACKER_I) ++#else ++# define machine_is_cybertracker_i() (0) ++#endif ++ ++#ifdef CONFIG_MACH_GESBC931X ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_GESBC931X ++# endif ++# define machine_is_gesbc931x() (machine_arch_type == MACH_TYPE_GESBC931X) ++#else ++# define machine_is_gesbc931x() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CENTIPAD ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CENTIPAD ++# endif ++# define machine_is_centipad() (machine_arch_type == MACH_TYPE_CENTIPAD) ++#else ++# define machine_is_centipad() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ARMSOC ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ARMSOC ++# endif ++# define machine_is_armsoc() (machine_arch_type == MACH_TYPE_ARMSOC) ++#else ++# define machine_is_armsoc() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SE4200 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SE4200 ++# endif ++# define machine_is_se4200() (machine_arch_type == MACH_TYPE_SE4200) ++#else ++# define machine_is_se4200() (0) ++#endif ++ ++#ifdef CONFIG_MACH_EMS197A ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_EMS197A ++# endif ++# define machine_is_ems197a() (machine_arch_type == MACH_TYPE_EMS197A) ++#else ++# define machine_is_ems197a() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MICRO9 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MICRO9 ++# endif ++# define machine_is_micro9() (machine_arch_type == MACH_TYPE_MICRO9) ++#else ++# define machine_is_micro9() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MICRO9L ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MICRO9L ++# endif ++# define machine_is_micro9l() (machine_arch_type == MACH_TYPE_MICRO9L) ++#else ++# define machine_is_micro9l() (0) ++#endif ++ ++#ifdef CONFIG_MACH_UC5471DSP ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_UC5471DSP ++# endif ++# define machine_is_uc5471dsp() (machine_arch_type == MACH_TYPE_UC5471DSP) ++#else ++# define machine_is_uc5471dsp() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SJ5471ENG ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SJ5471ENG ++# endif ++# define machine_is_sj5471eng() (machine_arch_type == MACH_TYPE_SJ5471ENG) ++#else ++# define machine_is_sj5471eng() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CMPXA26X ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CMPXA26X ++# endif ++# define machine_is_none() (machine_arch_type == MACH_TYPE_CMPXA26X) ++#else ++# define machine_is_none() (0) ++#endif ++ ++#ifdef CONFIG_MACH_NC ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NC ++# endif ++# define machine_is_nc1() (machine_arch_type == MACH_TYPE_NC) ++#else ++# define machine_is_nc1() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_PALMTE ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_PALMTE ++# endif ++# define machine_is_omap_palmte() (machine_arch_type == MACH_TYPE_OMAP_PALMTE) ++#else ++# define machine_is_omap_palmte() (0) ++#endif ++ ++#ifdef CONFIG_MACH_AJAX52X ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_AJAX52X ++# endif ++# define machine_is_ajax52x() (machine_arch_type == MACH_TYPE_AJAX52X) ++#else ++# define machine_is_ajax52x() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SIRIUSTAR ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SIRIUSTAR ++# endif ++# define machine_is_siriustar() (machine_arch_type == MACH_TYPE_SIRIUSTAR) ++#else ++# define machine_is_siriustar() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IODATA_HDLG ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IODATA_HDLG ++# endif ++# define machine_is_iodata_hdlg() (machine_arch_type == MACH_TYPE_IODATA_HDLG) ++#else ++# define machine_is_iodata_hdlg() (0) ++#endif ++ ++#ifdef CONFIG_MACH_AT91RM9200UTL ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_AT91RM9200UTL ++# endif ++# define machine_is_at91rm9200utl() (machine_arch_type == MACH_TYPE_AT91RM9200UTL) ++#else ++# define machine_is_at91rm9200utl() (0) ++#endif ++ ++#ifdef CONFIG_MACH_BIOSAFE ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_BIOSAFE ++# endif ++# define machine_is_biosafe() (machine_arch_type == MACH_TYPE_BIOSAFE) ++#else ++# define machine_is_biosafe() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MP1000 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MP1000 ++# endif ++# define machine_is_mp1000() (machine_arch_type == MACH_TYPE_MP1000) ++#else ++# define machine_is_mp1000() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PARSY ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PARSY ++# endif ++# define machine_is_parsy() (machine_arch_type == MACH_TYPE_PARSY) ++#else ++# define machine_is_parsy() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CCXP ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CCXP ++# endif ++# define machine_is_ccxp270() (machine_arch_type == MACH_TYPE_CCXP) ++#else ++# define machine_is_ccxp270() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_GSAMPLE ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_GSAMPLE ++# endif ++# define machine_is_omap_gsample() (machine_arch_type == MACH_TYPE_OMAP_GSAMPLE) ++#else ++# define machine_is_omap_gsample() (0) ++#endif ++ ++#ifdef CONFIG_MACH_REALVIEW_EB ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_REALVIEW_EB ++# endif ++# define machine_is_realview_eb() (machine_arch_type == MACH_TYPE_REALVIEW_EB) ++#else ++# define machine_is_realview_eb() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SAMOA ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SAMOA ++# endif ++# define machine_is_samoa() (machine_arch_type == MACH_TYPE_SAMOA) ++#else ++# define machine_is_samoa() (0) ++#endif ++ ++#ifdef CONFIG_MACH_T3XSCALE ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_T3XSCALE ++# endif ++# define machine_is_t3xscale() (machine_arch_type == MACH_TYPE_T3XSCALE) ++#else ++# define machine_is_t3xscale() (0) ++#endif ++ ++#ifdef CONFIG_MACH_I878 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_I878 ++# endif ++# define machine_is_i878() (machine_arch_type == MACH_TYPE_I878) ++#else ++# define machine_is_i878() (0) ++#endif ++ ++#ifdef CONFIG_MACH_BORZOI ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_BORZOI ++# endif ++# define machine_is_borzoi() (machine_arch_type == MACH_TYPE_BORZOI) ++#else ++# define machine_is_borzoi() (0) ++#endif ++ ++#ifdef CONFIG_MACH_GECKO ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_GECKO ++# endif ++# define machine_is_gecko() (machine_arch_type == MACH_TYPE_GECKO) ++#else ++# define machine_is_gecko() (0) ++#endif ++ ++#ifdef CONFIG_MACH_DS101 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_DS101 ++# endif ++# define machine_is_ds101() (machine_arch_type == MACH_TYPE_DS101) ++#else ++# define machine_is_ds101() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_PALMTT2 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_PALMTT2 ++# endif ++# define machine_is_omap_palmtt2() (machine_arch_type == MACH_TYPE_OMAP_PALMTT2) ++#else ++# define machine_is_omap_palmtt2() (0) ++#endif ++ ++#ifdef CONFIG_MACH_XSCALE_PALMLD ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_XSCALE_PALMLD ++# endif ++# define machine_is_xscale_palmld() (machine_arch_type == MACH_TYPE_XSCALE_PALMLD) ++#else ++# define machine_is_xscale_palmld() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CC9C ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CC9C ++# endif ++# define machine_is_cc9c() (machine_arch_type == MACH_TYPE_CC9C) ++#else ++# define machine_is_cc9c() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SBC1670 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SBC1670 ++# endif ++# define machine_is_sbc1670() (machine_arch_type == MACH_TYPE_SBC1670) ++#else ++# define machine_is_sbc1670() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IXDP28X5 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IXDP28X5 ++# endif ++# define machine_is_ixdp28x5() (machine_arch_type == MACH_TYPE_IXDP28X5) ++#else ++# define machine_is_ixdp28x5() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_PALMTT ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_PALMTT ++# endif ++# define machine_is_omap_palmtt() (machine_arch_type == MACH_TYPE_OMAP_PALMTT) ++#else ++# define machine_is_omap_palmtt() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ML696K ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ML696K ++# endif ++# define machine_is_ml696k() (machine_arch_type == MACH_TYPE_ML696K) ++#else ++# define machine_is_ml696k() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ARCOM_ZEUS ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ARCOM_ZEUS ++# endif ++# define machine_is_arcom_zeus() (machine_arch_type == MACH_TYPE_ARCOM_ZEUS) ++#else ++# define machine_is_arcom_zeus() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OSIRIS ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OSIRIS ++# endif ++# define machine_is_osiris() (machine_arch_type == MACH_TYPE_OSIRIS) ++#else ++# define machine_is_osiris() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MAESTRO ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MAESTRO ++# endif ++# define machine_is_maestro() (machine_arch_type == MACH_TYPE_MAESTRO) ++#else ++# define machine_is_maestro() (0) ++#endif ++ ++#ifdef CONFIG_MACH_TUNGE2 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_TUNGE2 ++# endif ++# define machine_is_tunge2() (machine_arch_type == MACH_TYPE_TUNGE2) ++#else ++# define machine_is_tunge2() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IXBBM ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IXBBM ++# endif ++# define machine_is_ixbbm() (machine_arch_type == MACH_TYPE_IXBBM) ++#else ++# define machine_is_ixbbm() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MX27 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MX27 ++# endif ++# define machine_is_mx27ads() (machine_arch_type == MACH_TYPE_MX27) ++#else ++# define machine_is_mx27ads() (0) ++#endif ++ ++#ifdef CONFIG_MACH_AX8004 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_AX8004 ++# endif ++# define machine_is_ax8004() (machine_arch_type == MACH_TYPE_AX8004) ++#else ++# define machine_is_ax8004() (0) ++#endif ++ ++#ifdef CONFIG_MACH_AT91SAM9261EK ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_AT91SAM9261EK ++# endif ++# define machine_is_at91sam9261ek() (machine_arch_type == MACH_TYPE_AT91SAM9261EK) ++#else ++# define machine_is_at91sam9261ek() (0) ++#endif ++ ++#ifdef CONFIG_MACH_LOFT ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_LOFT ++# endif ++# define machine_is_loft() (machine_arch_type == MACH_TYPE_LOFT) ++#else ++# define machine_is_loft() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MAGPIE ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MAGPIE ++# endif ++# define machine_is_magpie() (machine_arch_type == MACH_TYPE_MAGPIE) ++#else ++# define machine_is_magpie() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MX21 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MX21 ++# endif ++# define machine_is_mx21ads() (machine_arch_type == MACH_TYPE_MX21) ++#else ++# define machine_is_mx21ads() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MB87M3400 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MB87M3400 ++# endif ++# define machine_is_mb87m3400() (machine_arch_type == MACH_TYPE_MB87M3400) ++#else ++# define machine_is_mb87m3400() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MGUARD_DELTA ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MGUARD_DELTA ++# endif ++# define machine_is_mguard_delta() (machine_arch_type == MACH_TYPE_MGUARD_DELTA) ++#else ++# define machine_is_mguard_delta() (0) ++#endif ++ ++#ifdef CONFIG_MACH_DAVINCI_DVDP ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_DAVINCI_DVDP ++# endif ++# define machine_is_davinci_dvdp() (machine_arch_type == MACH_TYPE_DAVINCI_DVDP) ++#else ++# define machine_is_davinci_dvdp() (0) ++#endif ++ ++#ifdef CONFIG_MACH_HTCUNIVERSAL ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_HTCUNIVERSAL ++# endif ++# define machine_is_htcuniversal() (machine_arch_type == MACH_TYPE_HTCUNIVERSAL) ++#else ++# define machine_is_htcuniversal() (0) ++#endif ++ ++#ifdef CONFIG_MACH_TPAD ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_TPAD ++# endif ++# define machine_is_tpad() (machine_arch_type == MACH_TYPE_TPAD) ++#else ++# define machine_is_tpad() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ROVERP3 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ROVERP3 ++# endif ++# define machine_is_roverp3() (machine_arch_type == MACH_TYPE_ROVERP3) ++#else ++# define machine_is_roverp3() (0) ++#endif ++ ++#ifdef CONFIG_MACH_JORNADA928 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_JORNADA928 ++# endif ++# define machine_is_jornada928() (machine_arch_type == MACH_TYPE_JORNADA928) ++#else ++# define machine_is_jornada928() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MV88FXX81 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MV88FXX81 ++# endif ++# define machine_is_mv88fxx81() (machine_arch_type == MACH_TYPE_MV88FXX81) ++#else ++# define machine_is_mv88fxx81() (0) ++#endif ++ ++#ifdef CONFIG_MACH_STMP36XX ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_STMP36XX ++# endif ++# define machine_is_stmp36xx() (machine_arch_type == MACH_TYPE_STMP36XX) ++#else ++# define machine_is_stmp36xx() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SXNI79524 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SXNI79524 ++# endif ++# define machine_is_sxni79524() (machine_arch_type == MACH_TYPE_SXNI79524) ++#else ++# define machine_is_sxni79524() (0) ++#endif ++ ++#ifdef CONFIG_MACH_AMS_DELTA ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_AMS_DELTA ++# endif ++# define machine_is_ams_delta() (machine_arch_type == MACH_TYPE_AMS_DELTA) ++#else ++# define machine_is_ams_delta() (0) ++#endif ++ ++#ifdef CONFIG_MACH_URANIUM ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_URANIUM ++# endif ++# define machine_is_uranium() (machine_arch_type == MACH_TYPE_URANIUM) ++#else ++# define machine_is_uranium() (0) ++#endif ++ ++#ifdef CONFIG_MACH_UCON ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_UCON ++# endif ++# define machine_is_ucon() (machine_arch_type == MACH_TYPE_UCON) ++#else ++# define machine_is_ucon() (0) ++#endif ++ ++#ifdef CONFIG_MACH_NAS100D ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NAS100D ++# endif ++# define machine_is_nas100d() (machine_arch_type == MACH_TYPE_NAS100D) ++#else ++# define machine_is_nas100d() (0) ++#endif ++ ++#ifdef CONFIG_MACH_L083_1000 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_L083_1000 ++# endif ++# define machine_is_l083() (machine_arch_type == MACH_TYPE_L083_1000) ++#else ++# define machine_is_l083() (0) ++#endif ++ ++#ifdef CONFIG_MACH_EZX ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_EZX ++# endif ++# define machine_is_ezx() (machine_arch_type == MACH_TYPE_EZX) ++#else ++# define machine_is_ezx() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PNX5220 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PNX5220 ++# endif ++# define machine_is_pnx5220() (machine_arch_type == MACH_TYPE_PNX5220) ++#else ++# define machine_is_pnx5220() (0) ++#endif ++ ++#ifdef CONFIG_MACH_BUTTE ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_BUTTE ++# endif ++# define machine_is_butte() (machine_arch_type == MACH_TYPE_BUTTE) ++#else ++# define machine_is_butte() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SRM2 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SRM2 ++# endif ++# define machine_is_srm2() (machine_arch_type == MACH_TYPE_SRM2) ++#else ++# define machine_is_srm2() (0) ++#endif ++ ++#ifdef CONFIG_MACH_DSBR ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_DSBR ++# endif ++# define machine_is_dsbr() (machine_arch_type == MACH_TYPE_DSBR) ++#else ++# define machine_is_dsbr() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CRYSTALBALL ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CRYSTALBALL ++# endif ++# define machine_is_crystalball() (machine_arch_type == MACH_TYPE_CRYSTALBALL) ++#else ++# define machine_is_crystalball() (0) ++#endif ++ ++#ifdef CONFIG_MACH_TINYPXA27X ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_TINYPXA27X ++# endif ++# define machine_is_tinypxa27x() (machine_arch_type == MACH_TYPE_TINYPXA27X) ++#else ++# define machine_is_tinypxa27x() (0) ++#endif ++ ++#ifdef CONFIG_MACH_HERBIE ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_HERBIE ++# endif ++# define machine_is_herbie() (machine_arch_type == MACH_TYPE_HERBIE) ++#else ++# define machine_is_herbie() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MAGICIAN ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MAGICIAN ++# endif ++# define machine_is_magician() (machine_arch_type == MACH_TYPE_MAGICIAN) ++#else ++# define machine_is_magician() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CM4002 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CM4002 ++# endif ++# define machine_is_cm4002() (machine_arch_type == MACH_TYPE_CM4002) ++#else ++# define machine_is_cm4002() (0) ++#endif ++ ++#ifdef CONFIG_MACH_B4 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_B4 ++# endif ++# define machine_is_b4() (machine_arch_type == MACH_TYPE_B4) ++#else ++# define machine_is_b4() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MAUI ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MAUI ++# endif ++# define machine_is_maui() (machine_arch_type == MACH_TYPE_MAUI) ++#else ++# define machine_is_maui() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CYBERTRACKER_G ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CYBERTRACKER_G ++# endif ++# define machine_is_cybertracker_g() (machine_arch_type == MACH_TYPE_CYBERTRACKER_G) ++#else ++# define machine_is_cybertracker_g() (0) ++#endif ++ ++#ifdef CONFIG_MACH_NXDKN ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NXDKN ++# endif ++# define machine_is_nxdkn() (machine_arch_type == MACH_TYPE_NXDKN) ++#else ++# define machine_is_nxdkn() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MIO8390 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MIO8390 ++# endif ++# define machine_is_mio8390() (machine_arch_type == MACH_TYPE_MIO8390) ++#else ++# define machine_is_mio8390() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMI_BOARD ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMI_BOARD ++# endif ++# define machine_is_omi_board() (machine_arch_type == MACH_TYPE_OMI_BOARD) ++#else ++# define machine_is_omi_board() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MX21CIV ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MX21CIV ++# endif ++# define machine_is_mx21civ() (machine_arch_type == MACH_TYPE_MX21CIV) ++#else ++# define machine_is_mx21civ() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MAHI_CDAC ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MAHI_CDAC ++# endif ++# define machine_is_mahi_cdac() (machine_arch_type == MACH_TYPE_MAHI_CDAC) ++#else ++# define machine_is_mahi_cdac() (0) ++#endif ++ ++#ifdef CONFIG_MACH_XSCALE_PALMTX ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_XSCALE_PALMTX ++# endif ++# define machine_is_xscale_palmtx() (machine_arch_type == MACH_TYPE_XSCALE_PALMTX) ++#else ++# define machine_is_xscale_palmtx() (0) ++#endif ++ ++#ifdef CONFIG_MACH_S3C2413 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_S3C2413 ++# endif ++# define machine_is_s3c2413() (machine_arch_type == MACH_TYPE_S3C2413) ++#else ++# define machine_is_s3c2413() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SAMSYS_EP0 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SAMSYS_EP0 ++# endif ++# define machine_is_samsys_ep0() (machine_arch_type == MACH_TYPE_SAMSYS_EP0) ++#else ++# define machine_is_samsys_ep0() (0) ++#endif ++ ++#ifdef CONFIG_MACH_WG302V1 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_WG302V1 ++# endif ++# define machine_is_wg302v1() (machine_arch_type == MACH_TYPE_WG302V1) ++#else ++# define machine_is_wg302v1() (0) ++#endif ++ ++#ifdef CONFIG_MACH_WG302V2 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_WG302V2 ++# endif ++# define machine_is_wg302v2() (machine_arch_type == MACH_TYPE_WG302V2) ++#else ++# define machine_is_wg302v2() (0) ++#endif ++ ++#ifdef CONFIG_MACH_EB42X ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_EB42X ++# endif ++# define machine_is_eb42x() (machine_arch_type == MACH_TYPE_EB42X) ++#else ++# define machine_is_eb42x() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IQ331ES ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IQ331ES ++# endif ++# define machine_is_iq331es() (machine_arch_type == MACH_TYPE_IQ331ES) ++#else ++# define machine_is_iq331es() (0) ++#endif ++ ++#ifdef CONFIG_MACH_COSYDSP ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_COSYDSP ++# endif ++# define machine_is_cosydsp() (machine_arch_type == MACH_TYPE_COSYDSP) ++#else ++# define machine_is_cosydsp() (0) ++#endif ++ ++#ifdef CONFIG_MACH_UPLAT7D ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_UPLAT7D ++# endif ++# define machine_is_uplat7d_proto() (machine_arch_type == MACH_TYPE_UPLAT7D) ++#else ++# define machine_is_uplat7d_proto() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PTDAVINCI ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PTDAVINCI ++# endif ++# define machine_is_ptdavinci() (machine_arch_type == MACH_TYPE_PTDAVINCI) ++#else ++# define machine_is_ptdavinci() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MBUS ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MBUS ++# endif ++# define machine_is_mbus() (machine_arch_type == MACH_TYPE_MBUS) ++#else ++# define machine_is_mbus() (0) ++#endif ++ ++#ifdef CONFIG_MACH_NADIA2VB ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NADIA2VB ++# endif ++# define machine_is_nadia2vb() (machine_arch_type == MACH_TYPE_NADIA2VB) ++#else ++# define machine_is_nadia2vb() (0) ++#endif ++ ++#ifdef CONFIG_MACH_R1000 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_R1000 ++# endif ++# define machine_is_r1000() (machine_arch_type == MACH_TYPE_R1000) ++#else ++# define machine_is_r1000() (0) ++#endif ++ ++#ifdef CONFIG_MACH_HW90250 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_HW90250 ++# endif ++# define machine_is_hw90250() (machine_arch_type == MACH_TYPE_HW90250) ++#else ++# define machine_is_hw90250() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_2430SDP ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_2430SDP ++# endif ++# define machine_is_omap_2430sdp() (machine_arch_type == MACH_TYPE_OMAP_2430SDP) ++#else ++# define machine_is_omap_2430sdp() (0) ++#endif ++ ++#ifdef CONFIG_MACH_DAVINCI_EVM ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_DAVINCI_EVM ++# endif ++# define machine_is_davinci_evm() (machine_arch_type == MACH_TYPE_DAVINCI_EVM) ++#else ++# define machine_is_davinci_evm() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_TORNADO ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_TORNADO ++# endif ++# define machine_is_omap_tornado() (machine_arch_type == MACH_TYPE_OMAP_TORNADO) ++#else ++# define machine_is_omap_tornado() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OLOCREEK ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OLOCREEK ++# endif ++# define machine_is_olocreek() (machine_arch_type == MACH_TYPE_OLOCREEK) ++#else ++# define machine_is_olocreek() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PALMZ72 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PALMZ72 ++# endif ++# define machine_is_palmz72() (machine_arch_type == MACH_TYPE_PALMZ72) ++#else ++# define machine_is_palmz72() (0) ++#endif ++ ++#ifdef CONFIG_MACH_NXDB500 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NXDB500 ++# endif ++# define machine_is_nxdb500() (machine_arch_type == MACH_TYPE_NXDB500) ++#else ++# define machine_is_nxdb500() (0) ++#endif ++ ++#ifdef CONFIG_MACH_APF9328 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_APF9328 ++# endif ++# define machine_is_apf9328() (machine_arch_type == MACH_TYPE_APF9328) ++#else ++# define machine_is_apf9328() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_WIPOQ ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_WIPOQ ++# endif ++# define machine_is_omap_wipoq() (machine_arch_type == MACH_TYPE_OMAP_WIPOQ) ++#else ++# define machine_is_omap_wipoq() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_TWIP ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_TWIP ++# endif ++# define machine_is_omap_twip() (machine_arch_type == MACH_TYPE_OMAP_TWIP) ++#else ++# define machine_is_omap_twip() (0) ++#endif ++ ++#ifdef CONFIG_MACH_XSCALE_PALMTREO650 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_XSCALE_PALMTREO650 ++# endif ++# define machine_is_xscale_treo650() (machine_arch_type == MACH_TYPE_XSCALE_PALMTREO650) ++#else ++# define machine_is_xscale_treo650() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ACUMEN ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ACUMEN ++# endif ++# define machine_is_acumen() (machine_arch_type == MACH_TYPE_ACUMEN) ++#else ++# define machine_is_acumen() (0) ++#endif ++ ++#ifdef CONFIG_MACH_XP100 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_XP100 ++# endif ++# define machine_is_xp100() (machine_arch_type == MACH_TYPE_XP100) ++#else ++# define machine_is_xp100() (0) ++#endif ++ ++#ifdef CONFIG_MACH_FS2410 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_FS2410 ++# endif ++# define machine_is_fs2410() (machine_arch_type == MACH_TYPE_FS2410) ++#else ++# define machine_is_fs2410() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PXA270_CERF ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PXA270_CERF ++# endif ++# define machine_is_pxa270_cerf() (machine_arch_type == MACH_TYPE_PXA270_CERF) ++#else ++# define machine_is_pxa270_cerf() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SQ2FTLPALM ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SQ2FTLPALM ++# endif ++# define machine_is_sq2ftlpalm() (machine_arch_type == MACH_TYPE_SQ2FTLPALM) ++#else ++# define machine_is_sq2ftlpalm() (0) ++#endif ++ ++#ifdef CONFIG_MACH_BSEMSERVER ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_BSEMSERVER ++# endif ++# define machine_is_bsemserver() (machine_arch_type == MACH_TYPE_BSEMSERVER) ++#else ++# define machine_is_bsemserver() (0) ++#endif ++ ++#ifdef CONFIG_MACH_NETCLIENT ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NETCLIENT ++# endif ++# define machine_is_netclient() (machine_arch_type == MACH_TYPE_NETCLIENT) ++#else ++# define machine_is_netclient() (0) ++#endif ++ ++#ifdef CONFIG_MACH_XSCALE_PALMTT5 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_XSCALE_PALMTT5 ++# endif ++# define machine_is_xscale_palmtt5() (machine_arch_type == MACH_TYPE_XSCALE_PALMTT5) ++#else ++# define machine_is_xscale_palmtt5() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_PALMTC ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_PALMTC ++# endif ++# define machine_is_xscale_palmtc() (machine_arch_type == MACH_TYPE_OMAP_PALMTC) ++#else ++# define machine_is_xscale_palmtc() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_APOLLON ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_APOLLON ++# endif ++# define machine_is_omap_apollon() (machine_arch_type == MACH_TYPE_OMAP_APOLLON) ++#else ++# define machine_is_omap_apollon() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ARGONLVEVB ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ARGONLVEVB ++# endif ++# define machine_is_mxc30030evb() (machine_arch_type == MACH_TYPE_ARGONLVEVB) ++#else ++# define machine_is_mxc30030evb() (0) ++#endif ++ ++#ifdef CONFIG_MACH_REA_2D ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_REA_2D ++# endif ++# define machine_is_rea_2d() (machine_arch_type == MACH_TYPE_REA_2D) ++#else ++# define machine_is_rea_2d() (0) ++#endif ++ ++#ifdef CONFIG_MACH_TI3E524 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_TI3E524 ++# endif ++# define machine_is_eti3e524() (machine_arch_type == MACH_TYPE_TI3E524) ++#else ++# define machine_is_eti3e524() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ATEB9200 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ATEB9200 ++# endif ++# define machine_is_ateb9200() (machine_arch_type == MACH_TYPE_ATEB9200) ++#else ++# define machine_is_ateb9200() (0) ++#endif ++ ++#ifdef CONFIG_MACH_AUCKLAND ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_AUCKLAND ++# endif ++# define machine_is_auckland() (machine_arch_type == MACH_TYPE_AUCKLAND) ++#else ++# define machine_is_auckland() (0) ++#endif ++ ++#ifdef CONFIG_MACH_AK3320M ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_AK3320M ++# endif ++# define machine_is_ak3220m() (machine_arch_type == MACH_TYPE_AK3320M) ++#else ++# define machine_is_ak3220m() (0) ++#endif ++ ++#ifdef CONFIG_MACH_DURAMAX ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_DURAMAX ++# endif ++# define machine_is_duramax() (machine_arch_type == MACH_TYPE_DURAMAX) ++#else ++# define machine_is_duramax() (0) ++#endif ++ ++#ifdef CONFIG_MACH_N35 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_N35 ++# endif ++# define machine_is_n35() (machine_arch_type == MACH_TYPE_N35) ++#else ++# define machine_is_n35() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PRONGHORN ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PRONGHORN ++# endif ++# define machine_is_pronghorn() (machine_arch_type == MACH_TYPE_PRONGHORN) ++#else ++# define machine_is_pronghorn() (0) ++#endif ++ ++#ifdef CONFIG_MACH_FUNDY ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_FUNDY ++# endif ++# define machine_is_fundy() (machine_arch_type == MACH_TYPE_FUNDY) ++#else ++# define machine_is_fundy() (0) ++#endif ++ ++#ifdef CONFIG_MACH_LOGICPD_PXA270 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_LOGICPD_PXA270 ++# endif ++# define machine_is_logicpd_pxa270() (machine_arch_type == MACH_TYPE_LOGICPD_PXA270) ++#else ++# define machine_is_logicpd_pxa270() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CPU777 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CPU777 ++# endif ++# define machine_is_cpu777() (machine_arch_type == MACH_TYPE_CPU777) ++#else ++# define machine_is_cpu777() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SIMICON9201 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SIMICON9201 ++# endif ++# define machine_is_simicon9201() (machine_arch_type == MACH_TYPE_SIMICON9201) ++#else ++# define machine_is_simicon9201() (0) ++#endif ++ ++#ifdef CONFIG_MACH_LEAP2_HPM ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_LEAP2_HPM ++# endif ++# define machine_is_leap2_hpm() (machine_arch_type == MACH_TYPE_LEAP2_HPM) ++#else ++# define machine_is_leap2_hpm() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CM922TXA10 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CM922TXA10 ++# endif ++# define machine_is_cm922txa10() (machine_arch_type == MACH_TYPE_CM922TXA10) ++#else ++# define machine_is_cm922txa10() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PXA ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PXA ++# endif ++# define machine_is_sandgate() (machine_arch_type == MACH_TYPE_PXA) ++#else ++# define machine_is_sandgate() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SANDGATE2 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SANDGATE2 ++# endif ++# define machine_is_sandgate2() (machine_arch_type == MACH_TYPE_SANDGATE2) ++#else ++# define machine_is_sandgate2() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SANDGATE2G ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SANDGATE2G ++# endif ++# define machine_is_sandgate2g() (machine_arch_type == MACH_TYPE_SANDGATE2G) ++#else ++# define machine_is_sandgate2g() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SANDGATE2P ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SANDGATE2P ++# endif ++# define machine_is_sandgate2p() (machine_arch_type == MACH_TYPE_SANDGATE2P) ++#else ++# define machine_is_sandgate2p() (0) ++#endif ++ ++#ifdef CONFIG_MACH_FRED_JACK ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_FRED_JACK ++# endif ++# define machine_is_fred_jack() (machine_arch_type == MACH_TYPE_FRED_JACK) ++#else ++# define machine_is_fred_jack() (0) ++#endif ++ ++#ifdef CONFIG_MACH_TTG_COLOR1 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_TTG_COLOR1 ++# endif ++# define machine_is_ttg_color1() (machine_arch_type == MACH_TYPE_TTG_COLOR1) ++#else ++# define machine_is_ttg_color1() (0) ++#endif ++ ++#ifdef CONFIG_MACH_NXEB500HMI ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NXEB500HMI ++# endif ++# define machine_is_nxeb500hmi() (machine_arch_type == MACH_TYPE_NXEB500HMI) ++#else ++# define machine_is_nxeb500hmi() (0) ++#endif ++ ++#ifdef CONFIG_MACH_NETDCU8 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NETDCU8 ++# endif ++# define machine_is_netdcu8() (machine_arch_type == MACH_TYPE_NETDCU8) ++#else ++# define machine_is_netdcu8() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ML675050_CPU_BOA ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ML675050_CPU_BOA ++# endif ++# define machine_is_ml675050_cpu_boa() (machine_arch_type == MACH_TYPE_ML675050_CPU_BOA) ++#else ++# define machine_is_ml675050_cpu_boa() (0) ++#endif ++ ++#ifdef CONFIG_MACH_NG_FVX538 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NG_FVX538 ++# endif ++# define machine_is_ng_fvx538() (machine_arch_type == MACH_TYPE_NG_FVX538) ++#else ++# define machine_is_ng_fvx538() (0) ++#endif ++ ++#ifdef CONFIG_MACH_NG_FVS338 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NG_FVS338 ++# endif ++# define machine_is_ng_fvs338() (machine_arch_type == MACH_TYPE_NG_FVS338) ++#else ++# define machine_is_ng_fvs338() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PNX4103 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PNX4103 ++# endif ++# define machine_is_pnx4103() (machine_arch_type == MACH_TYPE_PNX4103) ++#else ++# define machine_is_pnx4103() (0) ++#endif ++ ++#ifdef CONFIG_MACH_HESDB ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_HESDB ++# endif ++# define machine_is_hesdb() (machine_arch_type == MACH_TYPE_HESDB) ++#else ++# define machine_is_hesdb() (0) ++#endif ++ ++#ifdef CONFIG_MACH_XSILO ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_XSILO ++# endif ++# define machine_is_xsilo() (machine_arch_type == MACH_TYPE_XSILO) ++#else ++# define machine_is_xsilo() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ESPRESSO ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ESPRESSO ++# endif ++# define machine_is_espresso() (machine_arch_type == MACH_TYPE_ESPRESSO) ++#else ++# define machine_is_espresso() (0) ++#endif ++ ++#ifdef CONFIG_MACH_EMLC ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_EMLC ++# endif ++# define machine_is_emlc() (machine_arch_type == MACH_TYPE_EMLC) ++#else ++# define machine_is_emlc() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SISTERON ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SISTERON ++# endif ++# define machine_is_sisteron() (machine_arch_type == MACH_TYPE_SISTERON) ++#else ++# define machine_is_sisteron() (0) ++#endif ++ ++#ifdef CONFIG_MACH_RX1950 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_RX1950 ++# endif ++# define machine_is_rx1950() (machine_arch_type == MACH_TYPE_RX1950) ++#else ++# define machine_is_rx1950() (0) ++#endif ++ ++#ifdef CONFIG_MACH_TSC_VENUS ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_TSC_VENUS ++# endif ++# define machine_is_tsc_venus() (machine_arch_type == MACH_TYPE_TSC_VENUS) ++#else ++# define machine_is_tsc_venus() (0) ++#endif ++ ++#ifdef CONFIG_MACH_DS101J ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_DS101J ++# endif ++# define machine_is_ds101j() (machine_arch_type == MACH_TYPE_DS101J) ++#else ++# define machine_is_ds101j() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MXC30030ADS ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MXC30030ADS ++# endif ++# define machine_is_mxc30030ads() (machine_arch_type == MACH_TYPE_MXC30030ADS) ++#else ++# define machine_is_mxc30030ads() (0) ++#endif ++ ++#ifdef CONFIG_MACH_FUJITSU_WIMAXSOC ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_FUJITSU_WIMAXSOC ++# endif ++# define machine_is_fujitsu_wimaxsoc() (machine_arch_type == MACH_TYPE_FUJITSU_WIMAXSOC) ++#else ++# define machine_is_fujitsu_wimaxsoc() (0) ++#endif ++ ++#ifdef CONFIG_MACH_DUALPCMODEM ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_DUALPCMODEM ++# endif ++# define machine_is_dualpcmodem() (machine_arch_type == MACH_TYPE_DUALPCMODEM) ++#else ++# define machine_is_dualpcmodem() (0) ++#endif ++ ++#ifdef CONFIG_MACH_GESBC9312 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_GESBC9312 ++# endif ++# define machine_is_gesbc9312() (machine_arch_type == MACH_TYPE_GESBC9312) ++#else ++# define machine_is_gesbc9312() (0) ++#endif ++ ++#ifdef CONFIG_MACH_HTCAPACHE ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_HTCAPACHE ++# endif ++# define machine_is_htcapache() (machine_arch_type == MACH_TYPE_HTCAPACHE) ++#else ++# define machine_is_htcapache() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IXDP435 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IXDP435 ++# endif ++# define machine_is_ixdp435() (machine_arch_type == MACH_TYPE_IXDP435) ++#else ++# define machine_is_ixdp435() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CATPROVT100 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CATPROVT100 ++# endif ++# define machine_is_catprovt100() (machine_arch_type == MACH_TYPE_CATPROVT100) ++#else ++# define machine_is_catprovt100() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PICOTUX1XX ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PICOTUX1XX ++# endif ++# define machine_is_picotux1xx() (machine_arch_type == MACH_TYPE_PICOTUX1XX) ++#else ++# define machine_is_picotux1xx() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PICOTUX2XX ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PICOTUX2XX ++# endif ++# define machine_is_picotux2xx() (machine_arch_type == MACH_TYPE_PICOTUX2XX) ++#else ++# define machine_is_picotux2xx() (0) ++#endif ++ ++#ifdef CONFIG_MACH_DSMG600 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_DSMG600 ++# endif ++# define machine_is_dsmg600() (machine_arch_type == MACH_TYPE_DSMG600) ++#else ++# define machine_is_dsmg600() (0) ++#endif ++ ++#ifdef CONFIG_MACH_EMPC2 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_EMPC2 ++# endif ++# define machine_is_empc2() (machine_arch_type == MACH_TYPE_EMPC2) ++#else ++# define machine_is_empc2() (0) ++#endif ++ ++#ifdef CONFIG_MACH_VENTURA ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_VENTURA ++# endif ++# define machine_is_ventura() (machine_arch_type == MACH_TYPE_VENTURA) ++#else ++# define machine_is_ventura() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PHIDGET_SBC ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PHIDGET_SBC ++# endif ++# define machine_is_phidget_sbc() (machine_arch_type == MACH_TYPE_PHIDGET_SBC) ++#else ++# define machine_is_phidget_sbc() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IJ3K ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IJ3K ++# endif ++# define machine_is_ij3k() (machine_arch_type == MACH_TYPE_IJ3K) ++#else ++# define machine_is_ij3k() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PISGAH ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PISGAH ++# endif ++# define machine_is_pisgah() (machine_arch_type == MACH_TYPE_PISGAH) ++#else ++# define machine_is_pisgah() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_FSAMPLE ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_FSAMPLE ++# endif ++# define machine_is_omap_fsample() (machine_arch_type == MACH_TYPE_OMAP_FSAMPLE) ++#else ++# define machine_is_omap_fsample() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SG720 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SG720 ++# endif ++# define machine_is_sg720() (machine_arch_type == MACH_TYPE_SG720) ++#else ++# define machine_is_sg720() (0) ++#endif ++ ++#ifdef CONFIG_MACH_REDFOX ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_REDFOX ++# endif ++# define machine_is_redfox() (machine_arch_type == MACH_TYPE_REDFOX) ++#else ++# define machine_is_redfox() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MYSH_EP9315_1 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MYSH_EP9315_1 ++# endif ++# define machine_is_mysh_ep9315_1() (machine_arch_type == MACH_TYPE_MYSH_EP9315_1) ++#else ++# define machine_is_mysh_ep9315_1() (0) ++#endif ++ ++#ifdef CONFIG_MACH_TPF106 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_TPF106 ++# endif ++# define machine_is_tpf106() (machine_arch_type == MACH_TYPE_TPF106) ++#else ++# define machine_is_tpf106() (0) ++#endif ++ ++#ifdef CONFIG_MACH_AT91RM9200KG ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_AT91RM9200KG ++# endif ++# define machine_is_at91rm9200kg() (machine_arch_type == MACH_TYPE_AT91RM9200KG) ++#else ++# define machine_is_at91rm9200kg() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SLEDB ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SLEDB ++# endif ++# define machine_is_racemt2() (machine_arch_type == MACH_TYPE_SLEDB) ++#else ++# define machine_is_racemt2() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ONTRACK ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ONTRACK ++# endif ++# define machine_is_ontrack() (machine_arch_type == MACH_TYPE_ONTRACK) ++#else ++# define machine_is_ontrack() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PM1200 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PM1200 ++# endif ++# define machine_is_pm1200() (machine_arch_type == MACH_TYPE_PM1200) ++#else ++# define machine_is_pm1200() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ESS24XXX ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ESS24XXX ++# endif ++# define machine_is_ess24562() (machine_arch_type == MACH_TYPE_ESS24XXX) ++#else ++# define machine_is_ess24562() (0) ++#endif ++ ++#ifdef CONFIG_MACH_COREMP7 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_COREMP7 ++# endif ++# define machine_is_coremp7() (machine_arch_type == MACH_TYPE_COREMP7) ++#else ++# define machine_is_coremp7() (0) ++#endif ++ ++#ifdef CONFIG_MACH_NEXCODER_6446 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NEXCODER_6446 ++# endif ++# define machine_is_nexcoder_6446() (machine_arch_type == MACH_TYPE_NEXCODER_6446) ++#else ++# define machine_is_nexcoder_6446() (0) ++#endif ++ ++#ifdef CONFIG_MACH_STVC8380 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_STVC8380 ++# endif ++# define machine_is_stvc8380() (machine_arch_type == MACH_TYPE_STVC8380) ++#else ++# define machine_is_stvc8380() (0) ++#endif ++ ++#ifdef CONFIG_MACH_TEKLYNX ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_TEKLYNX ++# endif ++# define machine_is_teklynx() (machine_arch_type == MACH_TYPE_TEKLYNX) ++#else ++# define machine_is_teklynx() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CARBONADO ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CARBONADO ++# endif ++# define machine_is_carbonado() (machine_arch_type == MACH_TYPE_CARBONADO) ++#else ++# define machine_is_carbonado() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SYSMOS_MP730 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SYSMOS_MP730 ++# endif ++# define machine_is_sysmos_mp730() (machine_arch_type == MACH_TYPE_SYSMOS_MP730) ++#else ++# define machine_is_sysmos_mp730() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SNAPPER_CL15 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SNAPPER_CL15 ++# endif ++# define machine_is_snapper_cl15() (machine_arch_type == MACH_TYPE_SNAPPER_CL15) ++#else ++# define machine_is_snapper_cl15() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PGIGIM ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PGIGIM ++# endif ++# define machine_is_pgigim() (machine_arch_type == MACH_TYPE_PGIGIM) ++#else ++# define machine_is_pgigim() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PTX9160P2 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PTX9160P2 ++# endif ++# define machine_is_ptx9160p2() (machine_arch_type == MACH_TYPE_PTX9160P2) ++#else ++# define machine_is_ptx9160p2() (0) ++#endif ++ ++#ifdef CONFIG_MACH_DCORE1 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_DCORE1 ++# endif ++# define machine_is_dcore1() (machine_arch_type == MACH_TYPE_DCORE1) ++#else ++# define machine_is_dcore1() (0) ++#endif ++ ++#ifdef CONFIG_MACH_VICTORPXA ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_VICTORPXA ++# endif ++# define machine_is_victorpxa() (machine_arch_type == MACH_TYPE_VICTORPXA) ++#else ++# define machine_is_victorpxa() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MX2DTB ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MX2DTB ++# endif ++# define machine_is_mx2dtb() (machine_arch_type == MACH_TYPE_MX2DTB) ++#else ++# define machine_is_mx2dtb() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PXA_IREX_ER0100 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PXA_IREX_ER0100 ++# endif ++# define machine_is_pxa_irex_er0100() (machine_arch_type == MACH_TYPE_PXA_IREX_ER0100) ++#else ++# define machine_is_pxa_irex_er0100() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_PALMZ71 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_PALMZ71 ++# endif ++# define machine_is_omap_palmz71() (machine_arch_type == MACH_TYPE_OMAP_PALMZ71) ++#else ++# define machine_is_omap_palmz71() (0) ++#endif ++ ++#ifdef CONFIG_MACH_BARTEC_DEG ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_BARTEC_DEG ++# endif ++# define machine_is_bartec_deg() (machine_arch_type == MACH_TYPE_BARTEC_DEG) ++#else ++# define machine_is_bartec_deg() (0) ++#endif ++ ++#ifdef CONFIG_MACH_HW50251 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_HW50251 ++# endif ++# define machine_is_hw50251() (machine_arch_type == MACH_TYPE_HW50251) ++#else ++# define machine_is_hw50251() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IBOX ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IBOX ++# endif ++# define machine_is_ibox() (machine_arch_type == MACH_TYPE_IBOX) ++#else ++# define machine_is_ibox() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ATLASLH7A404 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ATLASLH7A404 ++# endif ++# define machine_is_atlaslh7a404() (machine_arch_type == MACH_TYPE_ATLASLH7A404) ++#else ++# define machine_is_atlaslh7a404() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PT2026 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PT2026 ++# endif ++# define machine_is_pt2026() (machine_arch_type == MACH_TYPE_PT2026) ++#else ++# define machine_is_pt2026() (0) ++#endif ++ ++#ifdef CONFIG_MACH_HTCALPINE ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_HTCALPINE ++# endif ++# define machine_is_htcalpine() (machine_arch_type == MACH_TYPE_HTCALPINE) ++#else ++# define machine_is_htcalpine() (0) ++#endif ++ ++#ifdef CONFIG_MACH_BARTEC_VTU ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_BARTEC_VTU ++# endif ++# define machine_is_bartec_vtu() (machine_arch_type == MACH_TYPE_BARTEC_VTU) ++#else ++# define machine_is_bartec_vtu() (0) ++#endif ++ ++#ifdef CONFIG_MACH_VCOREII ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_VCOREII ++# endif ++# define machine_is_vcoreii() (machine_arch_type == MACH_TYPE_VCOREII) ++#else ++# define machine_is_vcoreii() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PDNB3 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PDNB3 ++# endif ++# define machine_is_pdnb3() (machine_arch_type == MACH_TYPE_PDNB3) ++#else ++# define machine_is_pdnb3() (0) ++#endif ++ ++#ifdef CONFIG_MACH_HTCBEETLES ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_HTCBEETLES ++# endif ++# define machine_is_htcbeetles() (machine_arch_type == MACH_TYPE_HTCBEETLES) ++#else ++# define machine_is_htcbeetles() (0) ++#endif ++ ++#ifdef CONFIG_MACH_S3C6400 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_S3C6400 ++# endif ++# define machine_is_s3c6400() (machine_arch_type == MACH_TYPE_S3C6400) ++#else ++# define machine_is_s3c6400() (0) ++#endif ++ ++#ifdef CONFIG_MACH_S3C2443 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_S3C2443 ++# endif ++# define machine_is_s3c2443() (machine_arch_type == MACH_TYPE_S3C2443) ++#else ++# define machine_is_s3c2443() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_LDK ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_LDK ++# endif ++# define machine_is_omap_ldk() (machine_arch_type == MACH_TYPE_OMAP_LDK) ++#else ++# define machine_is_omap_ldk() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SMDK2460 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SMDK2460 ++# endif ++# define machine_is_smdk2460() (machine_arch_type == MACH_TYPE_SMDK2460) ++#else ++# define machine_is_smdk2460() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SMDK2440 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SMDK2440 ++# endif ++# define machine_is_smdk2440() (machine_arch_type == MACH_TYPE_SMDK2440) ++#else ++# define machine_is_smdk2440() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SMDK2412 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SMDK2412 ++# endif ++# define machine_is_smdk2412() (machine_arch_type == MACH_TYPE_SMDK2412) ++#else ++# define machine_is_smdk2412() (0) ++#endif ++ ++#ifdef CONFIG_MACH_WEBBOX ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_WEBBOX ++# endif ++# define machine_is_webbox() (machine_arch_type == MACH_TYPE_WEBBOX) ++#else ++# define machine_is_webbox() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CWWNDP ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CWWNDP ++# endif ++# define machine_is_cwwndp() (machine_arch_type == MACH_TYPE_CWWNDP) ++#else ++# define machine_is_cwwndp() (0) ++#endif ++ ++#ifdef CONFIG_MACH_DRAGON ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_DRAGON ++# endif ++# define machine_is_dragon() (machine_arch_type == MACH_TYPE_DRAGON) ++#else ++# define machine_is_dragon() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OPENDO_CPU_BOARD ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OPENDO_CPU_BOARD ++# endif ++# define machine_is_opendo_cpu_board() (machine_arch_type == MACH_TYPE_OPENDO_CPU_BOARD) ++#else ++# define machine_is_opendo_cpu_board() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CCM2200 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CCM2200 ++# endif ++# define machine_is_ccm2200() (machine_arch_type == MACH_TYPE_CCM2200) ++#else ++# define machine_is_ccm2200() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ETWARM ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ETWARM ++# endif ++# define machine_is_etwarm() (machine_arch_type == MACH_TYPE_ETWARM) ++#else ++# define machine_is_etwarm() (0) ++#endif ++ ++#ifdef CONFIG_MACH_M93030 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_M93030 ++# endif ++# define machine_is_m93030() (machine_arch_type == MACH_TYPE_M93030) ++#else ++# define machine_is_m93030() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CC7U ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CC7U ++# endif ++# define machine_is_cc7u() (machine_arch_type == MACH_TYPE_CC7U) ++#else ++# define machine_is_cc7u() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MTT_RANGER ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MTT_RANGER ++# endif ++# define machine_is_mtt_ranger() (machine_arch_type == MACH_TYPE_MTT_RANGER) ++#else ++# define machine_is_mtt_ranger() (0) ++#endif ++ ++#ifdef CONFIG_MACH_NEXUS ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NEXUS ++# endif ++# define machine_is_nexus() (machine_arch_type == MACH_TYPE_NEXUS) ++#else ++# define machine_is_nexus() (0) ++#endif ++ ++#ifdef CONFIG_MACH_DESMAN ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_DESMAN ++# endif ++# define machine_is_desman() (machine_arch_type == MACH_TYPE_DESMAN) ++#else ++# define machine_is_desman() (0) ++#endif ++ ++#ifdef CONFIG_MACH_BKDE303 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_BKDE303 ++# endif ++# define machine_is_bkde303() (machine_arch_type == MACH_TYPE_BKDE303) ++#else ++# define machine_is_bkde303() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SMDK2413 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SMDK2413 ++# endif ++# define machine_is_smdk2413() (machine_arch_type == MACH_TYPE_SMDK2413) ++#else ++# define machine_is_smdk2413() (0) ++#endif ++ ++#ifdef CONFIG_MACH_AML_M7200 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_AML_M7200 ++# endif ++# define machine_is_aml_m7200() (machine_arch_type == MACH_TYPE_AML_M7200) ++#else ++# define machine_is_aml_m7200() (0) ++#endif ++ ++#ifdef CONFIG_MACH_AML_M5900 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_AML_M5900 ++# endif ++# define machine_is_aml_m5900() (machine_arch_type == MACH_TYPE_AML_M5900) ++#else ++# define machine_is_aml_m5900() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SG640 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SG640 ++# endif ++# define machine_is_sg640() (machine_arch_type == MACH_TYPE_SG640) ++#else ++# define machine_is_sg640() (0) ++#endif ++ ++#ifdef CONFIG_MACH_EDG79524 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_EDG79524 ++# endif ++# define machine_is_edg79524() (machine_arch_type == MACH_TYPE_EDG79524) ++#else ++# define machine_is_edg79524() (0) ++#endif ++ ++#ifdef CONFIG_MACH_AI2410 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_AI2410 ++# endif ++# define machine_is_ai2410() (machine_arch_type == MACH_TYPE_AI2410) ++#else ++# define machine_is_ai2410() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IXP465 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IXP465 ++# endif ++# define machine_is_ixp465() (machine_arch_type == MACH_TYPE_IXP465) ++#else ++# define machine_is_ixp465() (0) ++#endif ++ ++#ifdef CONFIG_MACH_BALLOON3 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_BALLOON3 ++# endif ++# define machine_is_balloon3() (machine_arch_type == MACH_TYPE_BALLOON3) ++#else ++# define machine_is_balloon3() (0) ++#endif ++ ++#ifdef CONFIG_MACH_QT2410 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_QT2410 ++# endif ++# define machine_is_qt2410() (machine_arch_type == MACH_TYPE_QT2410) ++#else ++# define machine_is_qt2410() (0) ++#endif ++ + /* + * These have not yet been registered + */ +diff --git a/include/configs/qt2410.h b/include/configs/qt2410.h +new file mode 100644 +index 0000000..627f365 +--- /dev/null ++++ b/include/configs/qt2410.h +@@ -0,0 +1,256 @@ ++/* ++ * (C) Copyright 2002 ++ * Sysgo Real-Time Solutions, GmbH <www.elinos.com> ++ * Marius Groeger <mgroeger@sysgo.de> ++ * Gary Jennejohn <gj@denx.de> ++ * David Mueller <d.mueller@elsoft.ch> ++ * ++ * Configuation settings for the SAMSUNG SMDK2410 board. ++ * ++ * See file CREDITS for list of people who contributed to this ++ * project. ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++#ifndef __CONFIG_H ++#define __CONFIG_H ++ ++#if 0 ++/* If we want to start u-boot from usb bootloader in NOR flash */ ++#define CONFIG_SKIP_RELOCATE_UBOOT 1 ++#define CONFIG_SKIP_LOWLEVEL_INIT 1 ++#else ++/* If we want to start u-boot directly from within NAND flash */ ++#define CONFIG_S3C2410_NAND_BOOT 1 ++#endif ++ ++/* ++ * High Level Configuration Options ++ * (easy to change) ++ */ ++#define CONFIG_ARM920T 1 /* This is an ARM920T Core */ ++#define CONFIG_S3C2410 1 /* in a SAMSUNG S3C2410 SoC */ ++#define CONFIG_SMDK2410 1 /* on a SAMSUNG SMDK2410 Board */ ++ ++/* input clock of PLL */ ++#define CONFIG_SYS_CLK_FREQ 12000000/* the SMDK2410 has 12MHz input clock */ ++ ++ ++#define USE_920T_MMU 1 ++#define CONFIG_USE_IRQ 1 ++//#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */ ++ ++/* ++ * Size of malloc() pool ++ */ ++#define CFG_MALLOC_LEN (CFG_ENV_SIZE + 128*1024) ++#define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */ ++ ++/* ++ * Hardware drivers ++ */ ++#define CONFIG_DRIVER_CS8900 1 /* we have a CS8900 on-board */ ++#define CS8900_BASE 0x19000300 ++#define CS8900_BUS16 1 /* the Linux driver does accesses as shorts */ ++ ++/* ++ * select serial console configuration ++ */ ++#define CONFIG_SERIAL1 1 /* we use SERIAL 1 on SMDK2410 */ ++#define CONFIG_HWFLOW 1 ++ ++/************************************************************ ++ * RTC ++ ************************************************************/ ++#define CONFIG_RTC_S3C24X0 1 ++ ++/* allow to overwrite serial and ethaddr */ ++#define CONFIG_ENV_OVERWRITE ++ ++#define CONFIG_BAUDRATE 115200 ++ ++/*********************************************************** ++ * Command definition ++ ***********************************************************/ ++#define CONFIG_COMMANDS \ ++ (CONFIG_CMD_DFL | \ ++ CFG_CMD_BSP | \ ++ CFG_CMD_CACHE | \ ++ CFG_CMD_DATE | \ ++ CFG_CMD_DHCP | \ ++ CFG_CMD_DIAG | \ ++ CFG_CMD_ELF | \ ++ CFG_CMD_EXT2 | \ ++ CFG_CMD_FAT | \ ++ CFG_CMD_HWFLOW | \ ++ /* CFG_CMD_IDE | */ \ ++ /* CFG_CMD_IRQ | */ \ ++ CFG_CMD_JFFS2 | \ ++ CFG_CMD_MMC | \ ++ CFG_CMD_NAND | \ ++ CFG_CMD_PING | \ ++ CFG_CMD_PORTIO | \ ++ CFG_CMD_REGINFO | \ ++ CFG_CMD_SAVES | \ ++ CFG_CMD_USB) ++ ++/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */ ++#include <cmd_confdefs.h> ++ ++#define CONFIG_BOOTDELAY 3 ++#define CONFIG_BOOTARGS "root=/dev/sda1 console=ttySAC0,115200 loglevel=8 rootdelay=10" ++/*#define CONFIG_ETHADDR 08:00:3e:26:0a:5b */ ++#define CONFIG_NETMASK 255.255.255.0 ++#define CONFIG_IPADDR 10.0.0.110 ++#define CONFIG_SERVERIP 10.0.0.1 ++/*#define CONFIG_BOOTFILE "elinos-lart" */ ++#define CONFIG_BOOTCOMMAND "mmcinit; ext2load mmc 0 0x32000000 uImage; bootm 0x32000000" ++ ++#define CONFIG_DOS_PARTITION 1 ++ ++#if (CONFIG_COMMANDS & CFG_CMD_KGDB) ++#define CONFIG_KGDB_BAUDRATE 115200 /* speed to run kgdb serial port */ ++/* what's this ? it's not used anywhere */ ++#define CONFIG_KGDB_SER_INDEX 1 /* which serial port to use */ ++#endif ++ ++/* ++ * Miscellaneous configurable options ++ */ ++#define CFG_LONGHELP /* undef to save memory */ ++#define CFG_PROMPT "QT2410 # " /* Monitor Command Prompt */ ++#define CFG_CBSIZE 256 /* Console I/O Buffer Size */ ++#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ ++#define CFG_MAXARGS 16 /* max number of command args */ ++#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */ ++ ++#define CFG_MEMTEST_START 0x30000000 /* memtest works on */ ++#define CFG_MEMTEST_END 0x33F00000 /* 63 MB in DRAM */ ++ ++#undef CFG_CLKS_IN_HZ /* everything, incl board info, in Hz */ ++ ++#define CFG_LOAD_ADDR 0x33000000 /* default load address */ ++ ++/* the PWM TImer 4 uses a counter of 15625 for 10 ms, so we need */ ++/* it to wrap 100 times (total 1562500) to get 1 sec. */ ++#define CFG_HZ 1562500 ++ ++/* valid baudrates */ ++#define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } ++ ++/*----------------------------------------------------------------------- ++ * Stack sizes ++ * ++ * The stack sizes are set up in start.S using the settings below ++ */ ++#define CONFIG_STACKSIZE (128*1024) /* regular stack */ ++#ifdef CONFIG_USE_IRQ ++#define CONFIG_STACKSIZE_IRQ (4*1024) /* IRQ stack */ ++#define CONFIG_STACKSIZE_FIQ (4*1024) /* FIQ stack */ ++#endif ++ ++/* IDE/ATA config */ ++ ++#if 0 ++#define CFG_IDE_MAXBUS 1 ++#define CFG_IDE_MAXDEVICE 2 ++#define CFG_IDE_PREINIT 0 ++ ++#define CFG_ATA_BASE_ADDR ++#endif ++ ++#define CONFIG_USB_OHCI 1 ++ ++/*----------------------------------------------------------------------- ++ * Physical Memory Map ++ */ ++#define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of DRAM */ ++#define PHYS_SDRAM_1 0x30000000 /* SDRAM Bank #1 */ ++#define PHYS_SDRAM_1_SIZE 0x04000000 /* 64 MB */ ++#define PHYS_SDRAM_RES_SIZE 0x00200000 /* 2 MB for frame buffer */ ++ ++#define PHYS_FLASH_1 0x00000000 /* Flash Bank #1 */ ++ ++#define CFG_FLASH_BASE PHYS_FLASH_1 ++ ++/*----------------------------------------------------------------------- ++ * FLASH and environment organization ++ */ ++ ++#define CONFIG_AMD_LV400 1 /* uncomment this if you have a LV400 flash */ ++#if 0 ++#define CONFIG_AMD_LV800 1 /* uncomment this if you have a LV800 flash */ ++#endif ++ ++#define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */ ++#ifdef CONFIG_AMD_LV800 ++#define PHYS_FLASH_SIZE 0x00100000 /* 1MB */ ++#define CFG_MAX_FLASH_SECT (19) /* max number of sectors on one chip */ ++#define CFG_ENV_ADDR (CFG_FLASH_BASE + 0x0F0000) /* addr of environment */ ++#endif ++#ifdef CONFIG_AMD_LV400 ++#define PHYS_FLASH_SIZE 0x00080000 /* 512KB */ ++#define CFG_MAX_FLASH_SECT (11) /* max number of sectors on one chip */ ++#define CFG_ENV_ADDR (CFG_FLASH_BASE + 0x070000) /* addr of environment */ ++#endif ++ ++/* timeout values are in ticks */ ++#define CFG_FLASH_ERASE_TOUT (5*CFG_HZ) /* Timeout for Flash Erase */ ++#define CFG_FLASH_WRITE_TOUT (5*CFG_HZ) /* Timeout for Flash Write */ ++ ++#define CFG_ENV_IS_IN_NAND 1 ++#define CFG_ENV_SIZE 0x4000 /* 16k Total Size of Environment Sector */ ++#define CFG_ENV_OFFSET 0x30000 /* environment after bootloader */ ++ ++#define NAND_MAX_CHIPS 1 ++#define CFG_NAND_BASE 0x4e000000 ++#define CFG_MAX_NAND_DEVICE 1 ++ ++#define CONFIG_MMC 1 ++#define CFG_MMC_BASE 0xff000000 ++ ++#define CONFIG_EXT2 1 ++ ++/* FAT driver in u-boot is broken currently */ ++#define CONFIG_FAT 1 ++#define CONFIG_SUPPORT_VFAT ++ ++/* ATAG configuration */ ++#define CONFIG_INITRD_TAG 1 ++#define CONFIG_SETUP_MEMORY_TAGS 1 ++#define CONFIG_CMDLINE_TAG 1 ++#if 0 ++#define CONFIG_SERIAL_TAG 1 ++#define CONFIG_REVISION_TAG 1 ++#endif ++ ++ ++#if 0 ++#define CONFIG_VIDEO ++#define CONFIG_VIDEO_S3C2410 ++#define CONFIG_CFB_CONSOLE ++#define CONFIG_VIDEO_LOGO ++#define CONFIG_VGA_AS_SINGLE_DEVICE ++ ++#define VIDEO_KBD_INIT_FCT 0 ++#define VIDEO_TSTC_FCT serial_tstc ++#define VIDEO_GETC_FCT serial_getc ++ ++#define LCD_VIDEO_ADDR 0x33d00000 ++#endif ++ ++#endif /* __CONFIG_H */ +diff --git a/include/s3c2410.h b/include/s3c2410.h +index 86495f6..913521d 100644 +--- a/include/s3c2410.h ++++ b/include/s3c2410.h +@@ -38,12 +38,6 @@ #define S3C24X0_SPI_CHANNELS 2 + #define S3C2410_ECCSIZE 512 + #define S3C2410_ECCBYTES 3 + +-typedef enum { +- S3C24X0_UART0, +- S3C24X0_UART1, +- S3C24X0_UART2 +-} S3C24X0_UARTS_NR; +- + /* S3C2410 device base addresses */ + #define S3C24X0_MEMCTL_BASE 0x48000000 + #define S3C24X0_USB_HOST_BASE 0x49000000 +@@ -65,9 +59,23 @@ #define S3C24X0_SPI_BASE 0x59000000 + #define S3C2410_SDI_BASE 0x5A000000 + + ++#define oNFCONF 0x00 ++#define oNFCMD 0x04 ++#define oNFADDR 0x08 ++#define oNFDATA 0x0C ++#define oNFSTAT 0x10 ++#define oNFECC 0x14 ++ ++#ifndef __ASSEMBLER__ ++ + /* include common stuff */ + #include <s3c24x0.h> + ++typedef enum { ++ S3C24X0_UART0, ++ S3C24X0_UART1, ++ S3C24X0_UART2 ++} S3C24X0_UARTS_NR; + + static inline S3C24X0_MEMCTL * const S3C24X0_GetBase_MEMCTL(void) + { +@@ -142,6 +150,7 @@ static inline S3C2410_SDI * const S3C241 + return (S3C2410_SDI * const)S3C2410_SDI_BASE; + } + ++#endif + + /* ISR */ + #define pISR_RESET (*(unsigned *)(_ISR_STARTADDRESS+0x0)) +diff --git a/include/s3c24x0.h b/include/s3c24x0.h +index 71f35a5..557b91f 100644 +--- a/include/s3c24x0.h ++++ b/include/s3c24x0.h +@@ -637,13 +637,7 @@ typedef struct { + S3C24X0_REG32 SDIDCNT; + S3C24X0_REG32 SDIDSTA; + S3C24X0_REG32 SDIFSTA; +-#ifdef __BIG_ENDIAN +- S3C24X0_REG8 res[3]; +- S3C24X0_REG8 SDIDAT; +-#else +- S3C24X0_REG8 SDIDAT; +- S3C24X0_REG8 res[3]; +-#endif ++ S3C24X0_REG32 SDIDAT; + S3C24X0_REG32 SDIIMSK; + } /*__attribute__((__packed__))*/ S3C2410_SDI; + +@@ -1123,11 +1117,7 @@ #define rSDIDatCon (*(volatile unsigned + #define rSDIDatCnt (*(volatile unsigned *)0x5A000030) + #define rSDIDatSta (*(volatile unsigned *)0x5A000034) + #define rSDIFSTA (*(volatile unsigned *)0x5A000038) +-#ifdef __BIG_ENDIAN +-#define rSDIDAT (*(volatile unsigned char *)0x5A00003F) +-#else +-#define rSDIDAT (*(volatile unsigned char *)0x5A00003C) +-#endif ++#define rSDIDAT (*(volatile unsigned *)0x5A00003C) + #define rSDIIntMsk (*(volatile unsigned *)0x5A000040) + + #endif diff --git a/packages/uboot/files/u-boot-20060807.tar.bz2 b/packages/uboot/files/u-boot-20060807.tar.bz2 Binary files differnew file mode 100644 index 0000000000..7b35fcfdd1 --- /dev/null +++ b/packages/uboot/files/u-boot-20060807.tar.bz2 diff --git a/packages/uboot/files/u-boot-20060907-gta01.patch b/packages/uboot/files/u-boot-20060907-gta01.patch new file mode 100644 index 0000000000..6aa54fa208 --- /dev/null +++ b/packages/uboot/files/u-boot-20060907-gta01.patch @@ -0,0 +1,901 @@ +diff --exclude .git -Nru u-boot/Makefile u-boot.new/Makefile +--- u-boot/Makefile 2006-08-11 23:19:07.000000000 +0200 ++++ u-boot.new/Makefile 2006-10-26 13:02:41.000000000 +0200 +@@ -1641,6 +1641,9 @@ + qt2410_config : unconfig + @./mkconfig $(@:_config=) arm arm920t qt2410 NULL s3c24x0 + ++gta01_config : unconfig ++ @./mkconfig $(@:_config=) arm arm920t gta01 NULL s3c24x0 ++ + scb9328_config : unconfig + @./mkconfig $(@:_config=) arm arm920t scb9328 NULL imx + +diff --exclude .git -Nru u-boot/board/gta01/Makefile u-boot.new/board/gta01/Makefile +--- u-boot/board/gta01/Makefile 1970-01-01 01:00:00.000000000 +0100 ++++ u-boot.new/board/gta01/Makefile 2006-10-25 17:21:44.000000000 +0200 +@@ -0,0 +1,47 @@ ++# ++# (C) Copyright 2000, 2001, 2002 ++# Wolfgang Denk, DENX Software Engineering, wd@denx.de. ++# ++# See file CREDITS for list of people who contributed to this ++# project. ++# ++# 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. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++# MA 02111-1307 USA ++# ++ ++include $(TOPDIR)/config.mk ++ ++LIB = lib$(BOARD).a ++ ++OBJS := gta01.o ++SOBJS := lowlevel_init.o ++ ++$(LIB): $(OBJS) $(SOBJS) ++ $(AR) crv $@ $(OBJS) $(SOBJS) ++ ++clean: ++ rm -f $(SOBJS) $(OBJS) ++ ++distclean: clean ++ rm -f $(LIB) core *.bak .depend ++ ++######################################################################### ++ ++.depend: Makefile $(SOBJS:.o=.S) $(OBJS:.o=.c) ++ $(CC) -M $(CPPFLAGS) $(SOBJS:.o=.S) $(OBJS:.o=.c) > $@ ++ ++-include .depend ++ ++######################################################################### +diff --exclude .git -Nru u-boot/board/gta01/config.mk u-boot.new/board/gta01/config.mk +--- u-boot/board/gta01/config.mk 1970-01-01 01:00:00.000000000 +0100 ++++ u-boot.new/board/gta01/config.mk 2006-10-25 17:22:09.000000000 +0200 +@@ -0,0 +1,25 @@ ++# ++# (C) Copyright 2002 ++# Gary Jennejohn, DENX Software Engineering, <gj@denx.de> ++# David Mueller, ELSOFT AG, <d.mueller@elsoft.ch> ++# ++# FIC GTA01 board with S3C2410X (ARM920T) cpu ++# ++# see http://www.samsung.com/ for more information on SAMSUNG ++# ++ ++# ++# GTA01 has 1 bank of 64 MB DRAM ++# ++# 3000'0000 to 3400'0000 ++# ++# Linux-Kernel is expected to be at 3000'8000, entry 3000'8000 ++# optionally with a ramdisk at 3080'0000 ++# ++# we load ourself to 33F8'0000 ++# ++# download area is 3300'0000 ++# ++ ++ ++TEXT_BASE = 0x33F80000 +diff --exclude .git -Nru u-boot/board/gta01/gta01.c u-boot.new/board/gta01/gta01.c +--- u-boot/board/gta01/gta01.c 1970-01-01 01:00:00.000000000 +0100 ++++ u-boot.new/board/gta01/gta01.c 2006-10-25 17:27:50.000000000 +0200 +@@ -0,0 +1,133 @@ ++/* ++ * (C) 2006 by Harald Welte <hwelte@hmw-consulting.de> ++ * ++ * based on existing S3C2410 startup code in u-boot: ++ * ++ * (C) Copyright 2002 ++ * Sysgo Real-Time Solutions, GmbH <www.elinos.com> ++ * Marius Groeger <mgroeger@sysgo.de> ++ * ++ * (C) Copyright 2002 ++ * David Mueller, ELSOFT AG, <d.mueller@elsoft.ch> ++ * ++ * See file CREDITS for list of people who contributed to this ++ * project. ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++#include <common.h> ++#include <s3c2410.h> ++ ++DECLARE_GLOBAL_DATA_PTR; ++ ++#if 1 ++//#define M_MDIV 0xA1 /* Fout = 202.8MHz */ ++//#define M_PDIV 0x3 ++//#define M_SDIV 0x1 ++#define M_MDIV 0x90 /* Fout = 202.8MHz */ ++#define M_PDIV 0x7 ++#define M_SDIV 0x0 ++#else ++#define M_MDIV 0x5c /* Fout = 150.0MHz */ ++#define M_PDIV 0x4 ++#define M_SDIV 0x0 ++#endif ++ ++#if 1 ++#define U_M_MDIV 0x78 ++#define U_M_PDIV 0x2 ++#define U_M_SDIV 0x3 ++#else ++#define U_M_MDIV 0x48 ++#define U_M_PDIV 0x3 ++#define U_M_SDIV 0x2 ++#endif ++ ++static inline void delay (unsigned long loops) ++{ ++ __asm__ volatile ("1:\n" ++ "subs %0, %1, #1\n" ++ "bne 1b":"=r" (loops):"0" (loops)); ++} ++ ++/* ++ * Miscellaneous platform dependent initialisations ++ */ ++ ++int board_init (void) ++{ ++ S3C24X0_CLOCK_POWER * const clk_power = S3C24X0_GetBase_CLOCK_POWER(); ++ S3C24X0_GPIO * const gpio = S3C24X0_GetBase_GPIO(); ++ ++ /* to reduce PLL lock time, adjust the LOCKTIME register */ ++ clk_power->LOCKTIME = 0xFFFFFF; ++ ++ /* configure MPLL */ ++ clk_power->MPLLCON = ((M_MDIV << 12) + (M_PDIV << 4) + M_SDIV); ++ ++ /* some delay between MPLL and UPLL */ ++ delay (4000); ++ ++ /* configure UPLL */ ++ clk_power->UPLLCON = ((U_M_MDIV << 12) + (U_M_PDIV << 4) + U_M_SDIV); ++ ++ /* some delay between MPLL and UPLL */ ++ delay (8000); ++ ++ /* set up the I/O ports */ ++ gpio->GPACON = 0x007FFFFF; ++ ++ gpio->GPBCON = 0x00005056; ++ gpio->GPBUP = 0x000007FF; ++ ++ gpio->GPCCON = 0xAAAA12A8; ++ gpio->GPCUP = 0x0000FFFF; ++ ++ gpio->GPDCON = 0xAAAAAAAA; ++ gpio->GPDUP = 0x0000FFFF; ++ ++ gpio->GPECON = 0xAAAAAAAA; ++ gpio->GPEUP = 0x0000FFFF; ++ ++ gpio->GPFCON = 0x00002AA9; ++ gpio->GPFUP = 0x000000FF; ++ ++ gpio->GPGCON = 0xA846F0C0; ++ gpio->GPGUP = 0x0000AFEF; ++ ++ gpio->GPHCON = 0x0008FAAA; ++ gpio->GPHUP = 0x000007FF; ++ ++ /* arch number of SMDK2410-Board */ ++ gd->bd->bi_arch_number = MACH_TYPE_GTA01; ++ ++ /* adress of boot parameters */ ++ gd->bd->bi_boot_params = 0x30000100; ++ ++ icache_enable(); ++ dcache_enable(); ++ ++ return 0; ++} ++ ++int dram_init (void) ++{ ++ gd->bd->bi_dram[0].start = PHYS_SDRAM_1; ++ gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE; ++ ++ return 0; ++} +diff --exclude .git -Nru u-boot/board/gta01/lowlevel_init.S u-boot.new/board/gta01/lowlevel_init.S +--- u-boot/board/gta01/lowlevel_init.S 1970-01-01 01:00:00.000000000 +0100 ++++ u-boot.new/board/gta01/lowlevel_init.S 2006-10-25 17:20:42.000000000 +0200 +@@ -0,0 +1,171 @@ ++/* ++ * Memory Setup stuff - taken from blob memsetup.S ++ * ++ * Copyright (C) 1999 2000 2001 Erik Mouw (J.A.K.Mouw@its.tudelft.nl) and ++ * Jan-Derk Bakker (J.D.Bakker@its.tudelft.nl) ++ * ++ * Modified for the FIC GTA01 by Harald Welte <hwelte@hmw-consulting.de> ++ * ++ * See file CREDITS for list of people who contributed to this ++ * project. ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++ ++#include <config.h> ++#include <version.h> ++ ++ ++/* some parameters for the board */ ++ ++/* ++ * ++ * Taken from linux/arch/arm/boot/compressed/head-s3c2410.S ++ * ++ * Copyright (C) 2002 Samsung Electronics SW.LEE <hitchcar@sec.samsung.com> ++ * ++ */ ++ ++#define BWSCON 0x48000000 ++ ++/* BWSCON */ ++#define DW8 (0x0) ++#define DW16 (0x1) ++#define DW32 (0x2) ++#define WAIT (0x1<<2) ++#define UBLB (0x1<<3) ++ ++#define B1_BWSCON (DW32) ++#define B2_BWSCON (DW16) ++#define B3_BWSCON (DW16 + WAIT + UBLB) ++#define B4_BWSCON (DW16) ++#define B5_BWSCON (DW16) ++#define B6_BWSCON (DW32) ++#define B7_BWSCON (DW32) ++ ++/* BANK0CON */ ++#define B0_Tacs 0x0 /* 0clk */ ++#define B0_Tcos 0x0 /* 0clk */ ++#define B0_Tacc 0x7 /* 14clk */ ++#define B0_Tcoh 0x0 /* 0clk */ ++#define B0_Tah 0x0 /* 0clk */ ++#define B0_Tacp 0x0 ++#define B0_PMC 0x0 /* normal */ ++ ++/* BANK1CON */ ++#define B1_Tacs 0x0 /* 0clk */ ++#define B1_Tcos 0x0 /* 0clk */ ++#define B1_Tacc 0x7 /* 14clk */ ++#define B1_Tcoh 0x0 /* 0clk */ ++#define B1_Tah 0x0 /* 0clk */ ++#define B1_Tacp 0x0 ++#define B1_PMC 0x0 ++ ++#define B2_Tacs 0x0 ++#define B2_Tcos 0x0 ++#define B2_Tacc 0x7 ++#define B2_Tcoh 0x0 ++#define B2_Tah 0x0 ++#define B2_Tacp 0x0 ++#define B2_PMC 0x0 ++ ++#define B3_Tacs 0x0 /* 0clk */ ++#define B3_Tcos 0x3 /* 4clk */ ++#define B3_Tacc 0x7 /* 14clk */ ++#define B3_Tcoh 0x1 /* 1clk */ ++#define B3_Tah 0x0 /* 0clk */ ++#define B3_Tacp 0x3 /* 6clk */ ++#define B3_PMC 0x0 /* normal */ ++ ++#define B4_Tacs 0x0 /* 0clk */ ++#define B4_Tcos 0x0 /* 0clk */ ++#define B4_Tacc 0x7 /* 14clk */ ++#define B4_Tcoh 0x0 /* 0clk */ ++#define B4_Tah 0x0 /* 0clk */ ++#define B4_Tacp 0x0 ++#define B4_PMC 0x0 /* normal */ ++ ++#define B5_Tacs 0x0 /* 0clk */ ++#define B5_Tcos 0x0 /* 0clk */ ++#define B5_Tacc 0x7 /* 14clk */ ++#define B5_Tcoh 0x0 /* 0clk */ ++#define B5_Tah 0x0 /* 0clk */ ++#define B5_Tacp 0x0 ++#define B5_PMC 0x0 /* normal */ ++ ++#define B6_MT 0x3 /* SDRAM */ ++#define B6_Trcd 0x1 ++#define B6_SCAN 0x1 /* 9bit */ ++ ++#define B7_MT 0x3 /* SDRAM */ ++#define B7_Trcd 0x1 /* 3clk */ ++#define B7_SCAN 0x1 /* 9bit */ ++ ++/* REFRESH parameter */ ++#define REFEN 0x1 /* Refresh enable */ ++#define TREFMD 0x0 /* CBR(CAS before RAS)/Auto refresh */ ++#define Trp 0x1 /* 3clk */ ++#define Trc 0x3 /* 7clk */ ++#define Tchr 0x2 /* 3clk */ ++//#define REFCNT 1113 /* period=15.6us, HCLK=60Mhz, (2048+1-15.6*60) */ ++#define REFCNT 997 /* period=17.5us, HCLK=60Mhz, (2048+1-15.6*60) */ ++/**************************************/ ++ ++_TEXT_BASE: ++ .word TEXT_BASE ++ ++.globl lowlevel_init ++lowlevel_init: ++ /* memory control configuration */ ++ /* make r0 relative the current location so that it */ ++ /* reads SMRDATA out of FLASH rather than memory ! */ ++ ldr r0, =SMRDATA ++ ldr r1, _TEXT_BASE ++ sub r0, r0, r1 ++ ldr r1, =BWSCON /* Bus Width Status Controller */ ++ add r2, r0, #13*4 ++0: ++ ldr r3, [r0], #4 ++ str r3, [r1], #4 ++ cmp r2, r0 ++ bne 0b ++ ++ /* setup asynchronous bus mode */ ++ mrc p15, 0, r1 ,c1 ,c0, 0 ++ orr r1, r1, #0xc0000000 ++ mcr p15, 0, r1, c1, c0, 0 ++ ++ /* everything is fine now */ ++ mov pc, lr ++ ++ .ltorg ++/* the literal pools origin */ ++ ++SMRDATA: ++ .word (0+(B1_BWSCON<<4)+(B2_BWSCON<<8)+(B3_BWSCON<<12)+(B4_BWSCON<<16)+(B5_BWSCON<<20)+(B6_BWSCON<<24)+(B7_BWSCON<<28)) ++ .word ((B0_Tacs<<13)+(B0_Tcos<<11)+(B0_Tacc<<8)+(B0_Tcoh<<6)+(B0_Tah<<4)+(B0_Tacp<<2)+(B0_PMC)) ++ .word ((B1_Tacs<<13)+(B1_Tcos<<11)+(B1_Tacc<<8)+(B1_Tcoh<<6)+(B1_Tah<<4)+(B1_Tacp<<2)+(B1_PMC)) ++ .word ((B2_Tacs<<13)+(B2_Tcos<<11)+(B2_Tacc<<8)+(B2_Tcoh<<6)+(B2_Tah<<4)+(B2_Tacp<<2)+(B2_PMC)) ++ .word ((B3_Tacs<<13)+(B3_Tcos<<11)+(B3_Tacc<<8)+(B3_Tcoh<<6)+(B3_Tah<<4)+(B3_Tacp<<2)+(B3_PMC)) ++ .word ((B4_Tacs<<13)+(B4_Tcos<<11)+(B4_Tacc<<8)+(B4_Tcoh<<6)+(B4_Tah<<4)+(B4_Tacp<<2)+(B4_PMC)) ++ .word ((B5_Tacs<<13)+(B5_Tcos<<11)+(B5_Tacc<<8)+(B5_Tcoh<<6)+(B5_Tah<<4)+(B5_Tacp<<2)+(B5_PMC)) ++ .word ((B6_MT<<15)+(B6_Trcd<<2)+(B6_SCAN)) ++ .word ((B7_MT<<15)+(B7_Trcd<<2)+(B7_SCAN)) ++ .word ((REFEN<<23)+(TREFMD<<22)+(Trp<<20)+(Trc<<18)+(Tchr<<16)+REFCNT) ++ .word 0xb2 ++ .word 0x30 ++ .word 0x30 +diff --exclude .git -Nru u-boot/board/gta01/u-boot.lds u-boot.new/board/gta01/u-boot.lds +--- u-boot/board/gta01/u-boot.lds 1970-01-01 01:00:00.000000000 +0100 ++++ u-boot.new/board/gta01/u-boot.lds 2006-10-25 17:28:02.000000000 +0200 +@@ -0,0 +1,57 @@ ++/* ++ * (C) Copyright 2002 ++ * Gary Jennejohn, DENX Software Engineering, <gj@denx.de> ++ * ++ * See file CREDITS for list of people who contributed to this ++ * project. ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") ++/*OUTPUT_FORMAT("elf32-arm", "elf32-arm", "elf32-arm")*/ ++OUTPUT_ARCH(arm) ++ENTRY(_start) ++SECTIONS ++{ ++ . = 0x00000000; ++ ++ . = ALIGN(4); ++ .text : ++ { ++ cpu/arm920t/start.o (.text) ++ *(.text) ++ } ++ ++ . = ALIGN(4); ++ .rodata : { *(.rodata) } ++ ++ . = ALIGN(4); ++ .data : { *(.data) } ++ ++ . = ALIGN(4); ++ .got : { *(.got) } ++ ++ . = .; ++ __u_boot_cmd_start = .; ++ .u_boot_cmd : { *(.u_boot_cmd) } ++ __u_boot_cmd_end = .; ++ ++ . = ALIGN(4); ++ __bss_start = .; ++ .bss : { *(.bss) } ++ _end = .; ++} +diff --exclude .git -Nru u-boot/board/qt2410/qt2410.c.old u-boot.new/board/qt2410/qt2410.c.old +--- u-boot/board/qt2410/qt2410.c.old 1970-01-01 01:00:00.000000000 +0100 ++++ u-boot.new/board/qt2410/qt2410.c.old 2006-10-10 11:09:43.000000000 +0200 +@@ -0,0 +1,127 @@ ++/* ++ * (C) 2006 by Harald Welte <hwelte@hmw-consulting.de> ++ * ++ * based on existing S3C2410 startup code in u-boot: ++ * ++ * (C) Copyright 2002 ++ * Sysgo Real-Time Solutions, GmbH <www.elinos.com> ++ * Marius Groeger <mgroeger@sysgo.de> ++ * ++ * (C) Copyright 2002 ++ * David Mueller, ELSOFT AG, <d.mueller@elsoft.ch> ++ * ++ * See file CREDITS for list of people who contributed to this ++ * project. ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++#include <common.h> ++#include <s3c2410.h> ++ ++DECLARE_GLOBAL_DATA_PTR; ++ ++#if 1 ++#define M_MDIV 0xA1 /* Fout = 202.8MHz */ ++#define M_PDIV 0x3 ++#define M_SDIV 0x1 ++//#define M_MDIV 0x90 /* Fout = 202.8MHz */ ++//#define M_PDIV 0x7 ++//#define M_SDIV 0x0 ++#else ++#define M_MDIV 0x5c /* Fout = 150.0MHz */ ++#define M_PDIV 0x4 ++#define M_SDIV 0x0 ++#endif ++ ++#if 1 ++#define U_M_MDIV 0x78 ++#define U_M_PDIV 0x2 ++#define U_M_SDIV 0x3 ++#else ++#define U_M_MDIV 0x48 ++#define U_M_PDIV 0x3 ++#define U_M_SDIV 0x2 ++#endif ++ ++static inline void delay (unsigned long loops) ++{ ++ __asm__ volatile ("1:\n" ++ "subs %0, %1, #1\n" ++ "bne 1b":"=r" (loops):"0" (loops)); ++} ++ ++/* ++ * Miscellaneous platform dependent initialisations ++ */ ++ ++int board_init (void) ++{ ++ S3C24X0_CLOCK_POWER * const clk_power = S3C24X0_GetBase_CLOCK_POWER(); ++ S3C24X0_GPIO * const gpio = S3C24X0_GetBase_GPIO(); ++ ++ /* to reduce PLL lock time, adjust the LOCKTIME register */ ++ clk_power->LOCKTIME = 0xFFFFFF; ++ ++ /* configure MPLL */ ++ clk_power->MPLLCON = ((M_MDIV << 12) + (M_PDIV << 4) + M_SDIV); ++ ++ /* some delay between MPLL and UPLL */ ++ delay (4000); ++ ++ /* configure UPLL */ ++ clk_power->UPLLCON = ((U_M_MDIV << 12) + (U_M_PDIV << 4) + U_M_SDIV); ++ ++ /* some delay between MPLL and UPLL */ ++ delay (8000); ++ ++ /* set up the I/O ports */ ++ gpio->GPACON = 0x007FFFFF; ++ gpio->GPBCON = 0x00044555; ++ gpio->GPBUP = 0x000007FF; ++ gpio->GPCCON = 0xAAAAAAAA; ++ gpio->GPCUP = 0x0000FFFF; ++ gpio->GPDCON = 0xAAAAAAAA; ++ gpio->GPDUP = 0x0000FFFF; ++ gpio->GPECON = 0xAAAAAAAA; ++ gpio->GPEUP = 0x0000FFFF; ++ gpio->GPFCON = 0x000055AA; ++ gpio->GPFUP = 0x000000FF; ++ gpio->GPGCON = 0xFF95FFBA; ++ //gpio->GPGUP = 0x0000FFFF; ++ gpio->GPGUP = 0x0000AFEF; ++ gpio->GPHCON = 0x0028FAAA; ++ gpio->GPHUP = 0x000007FF; ++ ++ /* arch number of SMDK2410-Board */ ++ gd->bd->bi_arch_number = MACH_TYPE_QT2410; ++ ++ /* adress of boot parameters */ ++ gd->bd->bi_boot_params = 0x30000100; ++ ++ icache_enable(); ++ dcache_enable(); ++ ++ return 0; ++} ++ ++int dram_init (void) ++{ ++ gd->bd->bi_dram[0].start = PHYS_SDRAM_1; ++ gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE; ++ ++ return 0; ++} +diff --exclude .git -Nru u-boot/fs/cramfs/cramfs.c u-boot.new/fs/cramfs/cramfs.c +--- u-boot/fs/cramfs/cramfs.c 2006-07-14 12:41:02.000000000 +0200 ++++ u-boot.new/fs/cramfs/cramfs.c 2006-10-26 14:01:41.000000000 +0200 +@@ -27,7 +27,7 @@ + #include <common.h> + #include <malloc.h> + +-#if (CONFIG_COMMANDS & CFG_CMD_JFFS2) ++#if (CONFIG_COMMANDS & CFG_CMD_CRAMFS) + + #include <asm/byteorder.h> + #include <linux/stat.h> +@@ -343,5 +343,22 @@ + } + return 1; + } +- ++#else ++int cramfs_load (char *loadoffset, struct part_info *info, char *filename) ++{ ++ return -1; ++} ++int cramfs_ls (struct part_info *info, char *filename) ++{ ++ return 0; ++} ++int cramfs_info (struct part_info *info) ++{ ++ return 0; ++} ++int cramfs_check (struct part_info *info) ++{ ++ return 0; ++} + #endif /* CFG_FS_CRAMFS */ ++ +diff --exclude .git -Nru u-boot/include/asm-arm/mach-types.h u-boot.new/include/asm-arm/mach-types.h +--- u-boot/include/asm-arm/mach-types.h 2006-08-11 23:19:07.000000000 +0200 ++++ u-boot.new/include/asm-arm/mach-types.h 2006-10-25 23:55:00.000000000 +0200 +@@ -1038,6 +1038,7 @@ + #define MACH_TYPE_IXP465 1028 + #define MACH_TYPE_BALLOON3 1029 + #define MACH_TYPE_QT2410 1108 ++#define MACH_TYPE_GTA01 1182 + + #ifdef CONFIG_ARCH_EBSA110 + # ifdef machine_arch_type +@@ -13327,6 +13328,19 @@ + # define machine_is_qt2410() (0) + #endif + ++#ifdef CONFIG_MACH_GTA01 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_GTA01 ++# endif ++# define machine_is_gta01() (machine_arch_type == MACH_TYPE_GTA01) ++#else ++# define machine_is_gta01() (0) ++#endif ++ ++ + /* + * These have not yet been registered + */ +diff --exclude .git -Nru u-boot/include/configs/gta01.h u-boot.new/include/configs/gta01.h +--- u-boot/include/configs/gta01.h 1970-01-01 01:00:00.000000000 +0100 ++++ u-boot.new/include/configs/gta01.h 2006-10-26 20:21:30.000000000 +0200 +@@ -0,0 +1,233 @@ ++/* ++ * (C) Copyright 2006 Harald Welte <hwelte@hmw-consulting.de> ++ * ++ * Configuation settings for the FIC GTA01 Linux GSM phone ++ * ++ * See file CREDITS for list of people who contributed to this ++ * project. ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++#ifndef __CONFIG_H ++#define __CONFIG_H ++ ++/* we want to start u-boot directly from within NAND flash */ ++#define CONFIG_S3C2410_NAND_BOOT 1 ++ ++/* ++ * High Level Configuration Options ++ * (easy to change) ++ */ ++#define CONFIG_ARM920T 1 /* This is an ARM920T Core */ ++#define CONFIG_S3C2410 1 /* in a SAMSUNG S3C2410 SoC */ ++#define CONFIG_SMDK2410 1 /* on a SAMSUNG SMDK2410 Board */ ++ ++/* input clock of PLL */ ++#define CONFIG_SYS_CLK_FREQ 12000000/* the GTA01 has 12MHz input clock */ ++ ++ ++#define USE_920T_MMU 1 ++#define CONFIG_USE_IRQ 1 ++ ++/* ++ * Size of malloc() pool ++ */ ++#define CFG_MALLOC_LEN (CFG_ENV_SIZE + 128*1024) ++#define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */ ++ ++/* ++ * Hardware drivers ++ */ ++ ++/* ++ * select serial console configuration ++ */ ++#define CONFIG_SERIAL1 1 /* we use SERIAL 1 on GTA01 */ ++//#define CONFIG_HWFLOW 1 ++ ++/************************************************************ ++ * RTC ++ ************************************************************/ ++#define CONFIG_RTC_S3C24X0 1 ++ ++/* allow to overwrite serial and ethaddr */ ++#define CONFIG_ENV_OVERWRITE ++ ++#define CONFIG_BAUDRATE 115200 ++ ++/*********************************************************** ++ * Command definition ++ ***********************************************************/ ++#define CONFIG_COMMANDS (\ ++ CFG_CMD_BDI | \ ++ CFG_CMD_LOADS | \ ++ CFG_CMD_LAODB | \ ++ CFG_CMD_IMI | \ ++ CFG_CMD_CACHE | \ ++ CFG_CMD_MEMORY | \ ++ CFG_CMD_ENV | \ ++ /* CFG_CMD_IRQ | */ \ ++ CFG_CMD_BOOTD | \ ++ CFG_CMD_CONSOLE | \ ++ CFG_CMD_ASKENV | \ ++ CFG_CMD_RUN | \ ++ CFG_CMD_ECHO | \ ++ CFG_CMD_I2C | \ ++ CFG_CMD_REGINFO | \ ++ CFG_CMD_IMMAP | \ ++ CFG_CMD_DATE | \ ++ CFG_CMD_AUTOSCRIPT | \ ++ CFG_CMD_BSP | \ ++ CFG_CMD_ELF | \ ++ CFG_CMD_MISC | \ ++ CFG_CMD_USB | \ ++ CFG_CMD_JFFS2 | \ ++ CFG_CMD_DIAG | \ ++ /* CFG_CMD_HWFLOW | */ \ ++ CFG_CMD_SAVES | \ ++ CFG_CMD_NAND | \ ++ CFG_CMD_PORTIO | \ ++ CFG_CMD_MMC | \ ++ CFG_CMD_FAT | \ ++ CFG_CMD_EXT2 | \ ++ 0) ++/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */ ++#include <cmd_confdefs.h> ++ ++#define CONFIG_BOOTDELAY 3 ++#define CONFIG_BOOTARGS "rootfstype=jffs2 root=/dev/mtdblock4 console=ttySAC0,115200 console=tty0 loglevel=8" ++/*#define CONFIG_BOOTFILE "elinos-lart" */ ++#define CONFIG_BOOTCOMMAND "nand load 0x32000000 0x34000 0x200000; bootm 0x32000000" ++ ++#define CONFIG_DOS_PARTITION 1 ++ ++#if (CONFIG_COMMANDS & CFG_CMD_KGDB) ++#define CONFIG_KGDB_BAUDRATE 115200 /* speed to run kgdb serial port */ ++/* what's this ? it's not used anywhere */ ++#define CONFIG_KGDB_SER_INDEX 1 /* which serial port to use */ ++#endif ++ ++/* ++ * Miscellaneous configurable options ++ */ ++#define CFG_LONGHELP /* undef to save memory */ ++#define CFG_PROMPT "GTA01 # " /* Monitor Command Prompt */ ++#define CFG_CBSIZE 256 /* Console I/O Buffer Size */ ++#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ ++#define CFG_MAXARGS 16 /* max number of command args */ ++#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */ ++ ++#define CFG_MEMTEST_START 0x30000000 /* memtest works on */ ++#define CFG_MEMTEST_END 0x33F00000 /* 63 MB in DRAM */ ++ ++#undef CFG_CLKS_IN_HZ /* everything, incl board info, in Hz */ ++ ++#define CFG_LOAD_ADDR 0x33000000 /* default load address */ ++ ++/* the PWM TImer 4 uses a counter of 15625 for 10 ms, so we need */ ++/* it to wrap 100 times (total 1562500) to get 1 sec. */ ++#define CFG_HZ 1562500 ++ ++/* valid baudrates */ ++#define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } ++ ++/*----------------------------------------------------------------------- ++ * Stack sizes ++ * ++ * The stack sizes are set up in start.S using the settings below ++ */ ++#define CONFIG_STACKSIZE (128*1024) /* regular stack */ ++#ifdef CONFIG_USE_IRQ ++#define CONFIG_STACKSIZE_IRQ (4*1024) /* IRQ stack */ ++#define CONFIG_STACKSIZE_FIQ (4*1024) /* FIQ stack */ ++#endif ++ ++#define CONFIG_USB_OHCI 1 ++ ++/*----------------------------------------------------------------------- ++ * Physical Memory Map ++ */ ++#define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of DRAM */ ++#define PHYS_SDRAM_1 0x30000000 /* SDRAM Bank #1 */ ++#define PHYS_SDRAM_1_SIZE 0x04000000 /* 64 MB */ ++#define PHYS_SDRAM_RES_SIZE 0x00200000 /* 2 MB for frame buffer */ ++ ++/*----------------------------------------------------------------------- ++ * FLASH and environment organization ++ */ ++ ++#if 1 ++#define CFG_NO_FLASH 1 ++#else ++#define CFG_MAX_FLASH_SECT 1 ++#define CFG_MAX_FLASH_BANKS 1 ++#endif ++ ++#define CFG_ENV_IS_IN_NAND 1 ++#define CFG_ENV_SIZE 0x4000 /* 16k Total Size of Environment Sector */ ++#define CFG_ENV_OFFSET 0x30000 /* environment after bootloader */ ++ ++#define NAND_MAX_CHIPS 1 ++#define CFG_NAND_BASE 0x4e000000 ++#define CFG_MAX_NAND_DEVICE 1 ++ ++#define CONFIG_MMC 1 ++#define CFG_MMC_BASE 0xff000000 ++ ++/* EXT2 driver */ ++#define CONFIG_EXT2 1 ++ ++/* FAT driver in u-boot is broken currently */ ++#define CONFIG_FAT 1 ++#define CONFIG_SUPPORT_VFAT 1 ++ ++/* JFFS2 driver */ ++#define CONFIG_JFFS2_NAND 1 ++#define CONFIG_JFFS2_NAND_DEV 0 ++#define CONFIG_JFFS2_NAND_OFF 0x634000 ++#define CONFIG_JFFS2_NAND_SIZE 0x39cc000 ++ ++/* ATAG configuration */ ++#define CONFIG_INITRD_TAG 1 ++#define CONFIG_SETUP_MEMORY_TAGS 1 ++#define CONFIG_CMDLINE_TAG 1 ++#if 0 ++#define CONFIG_SERIAL_TAG 1 ++#define CONFIG_REVISION_TAG 1 ++#endif ++ ++#define CONFIG_DRIVER_S3C24X0_I2C 1 ++#define CONFIG_HARD_I2C 1 ++#define CFG_I2C_SPEED 400000 /* 400kHz according to PCF50707 data sheet */ ++#define CFG_I2C_SLAVE 0x7f ++ ++ ++#if 0 ++#define CONFIG_VIDEO ++#define CONFIG_VIDEO_S3C2410 ++#define CONFIG_CFB_CONSOLE ++#define CONFIG_VIDEO_LOGO ++#define CONFIG_VGA_AS_SINGLE_DEVICE ++ ++#define VIDEO_KBD_INIT_FCT 0 ++#define VIDEO_TSTC_FCT serial_tstc ++#define VIDEO_GETC_FCT serial_getc ++ ++#define LCD_VIDEO_ADDR 0x33d00000 ++#endif ++ ++#endif /* __CONFIG_H */ diff --git a/packages/uboot/files/u-boot-20060907.tar.bz2 b/packages/uboot/files/u-boot-20060907.tar.bz2 Binary files differnew file mode 100644 index 0000000000..66b562cafe --- /dev/null +++ b/packages/uboot/files/u-boot-20060907.tar.bz2 diff --git a/packages/uboot/files/u-boot-20061030-ext2load_hex.patch b/packages/uboot/files/u-boot-20061030-ext2load_hex.patch new file mode 100644 index 0000000000..3cecb7485d --- /dev/null +++ b/packages/uboot/files/u-boot-20061030-ext2load_hex.patch @@ -0,0 +1,14 @@ +This patch adds the hex-printing of the file size read by 'ext2load' +Index: u-boot.git/common/cmd_ext2.c +=================================================================== +--- u-boot.git.orig/common/cmd_ext2.c 2007-01-02 18:26:17.000000000 +0100 ++++ u-boot.git/common/cmd_ext2.c 2007-01-02 18:26:27.000000000 +0100 +@@ -279,7 +279,7 @@ + /* Loading ok, update default load address */ + load_addr = addr; + +- printf ("\n%ld bytes read\n", filelen); ++ printf ("\n%ld (0x%lx) bytes read\n", filelen, filelen); + sprintf(buf, "%lX", filelen); + setenv("filesize", buf); + diff --git a/packages/uboot/files/u-boot-20061030-gta01bv2.patch b/packages/uboot/files/u-boot-20061030-gta01bv2.patch new file mode 100644 index 0000000000..9e2d19338e --- /dev/null +++ b/packages/uboot/files/u-boot-20061030-gta01bv2.patch @@ -0,0 +1,246 @@ +This patch adds support for the GTA01Bv2 variant of the FIC GTA01 (Neo1973) phone + +Index: git/Makefile +=================================================================== +--- git.orig/Makefile 2007-01-04 12:22:12.000000000 +0100 ++++ git/Makefile 2007-01-04 12:22:16.000000000 +0100 +@@ -1918,6 +1918,7 @@ + + gta01_config \ + gta01v3_config \ ++gta01bv2_config \ + gta01v4_config : unconfig + @board/gta01/split_by_variant.sh $@ + +Index: git/board/gta01/gta01.c +=================================================================== +--- git.orig/board/gta01/gta01.c 2007-01-04 12:22:12.000000000 +0100 ++++ git/board/gta01/gta01.c 2007-01-04 12:22:16.000000000 +0100 +@@ -35,28 +35,29 @@ + + DECLARE_GLOBAL_DATA_PTR; + +-#if 1 ++#if defined(CONFIG_ARCH_GTA01_v3) || defined(CONFIG_ARCH_GTA01_v4) + //#define M_MDIV 0xA1 /* Fout = 202.8MHz */ + //#define M_PDIV 0x3 + //#define M_SDIV 0x1 + #define M_MDIV 0x90 /* Fout = 202.8MHz */ + #define M_PDIV 0x7 + #define M_SDIV 0x0 +-#else +-#define M_MDIV 0x5c /* Fout = 150.0MHz */ +-#define M_PDIV 0x4 ++#elif defined(CONFIG_ARCH_GTA01B_v2) ++#if 0 ++#define M_MDIV 0x7d /* Fout = 266MHz */ ++#define M_PDIV 0x1 ++#define M_SDIV 0x1 ++#endif ++#define M_MDIV 0x90 /* Fout = 202.8MHz */ ++#define M_PDIV 0x7 + #define M_SDIV 0x0 ++#else ++#error Please define GTA01 revision + #endif + +-#if 1 + #define U_M_MDIV 0x78 + #define U_M_PDIV 0x2 + #define U_M_SDIV 0x3 +-#else +-#define U_M_MDIV 0x48 +-#define U_M_PDIV 0x3 +-#define U_M_SDIV 0x2 +-#endif + + static inline void delay (unsigned long loops) + { +@@ -137,7 +138,31 @@ + + gpio->GPHCON = 0x0000FAAA; + gpio->GPHUP = 0x000007FF; ++#elif defined(CONFIG_ARCH_GTA01B_v2) ++ gpio->GPACON = 0x005E47FF; + ++ gpio->GPBCON = 0x00145416; ++ gpio->GPBUP = 0x000007FF; ++ gpio->GPBDAT |= 0x4; /* Set GBP2 to high (Flash power-up) */ ++ ++ gpio->GPCCON = 0xAAAA12A9; ++ gpio->GPCUP = 0x0000FFFF; ++ ++ gpio->GPDCON = 0xAAAAAAAA; ++ gpio->GPDUP = 0x0000FFFF; ++ ++ gpio->GPECON = 0xA02AAAAA; ++ gpio->GPEUP = 0x0000FFFF; ++ ++ gpio->GPFCON = 0x0000aa19; ++ gpio->GPFUP = 0x000000FF; ++ gpio->GPFDAT |= 0x4; /* Set GBF2 to high (nGSM_EN) */ ++ ++ gpio->GPGCON = 0xFF40F0C1; ++ gpio->GPGUP = 0x0000AFEF; ++ ++ gpio->GPHCON = 0x0000FAAA; ++ gpio->GPHUP = 0x000007FF; + #else + #error Please define GTA01 version + #endif +@@ -156,9 +181,11 @@ + + int board_late_init(void) + { ++#if defined(CONFIG_ARCH_GTA01_v3) || defined(CONFIG_ARCH_GTA01_v4) + const char mmc_power = 0x8f; +- /* enable D3REG 3.3V (SC/MMC power) */ ++ /* enable D2REG 3.3V (SC/MMC power) */ + i2c_write(0x08, 0x25, 1, &mmc_power, 1); ++#endif + return 0; + } + +@@ -176,5 +203,7 @@ + return 0x00000130; + #elif defined(CONFIG_ARCH_GTA01_v4) + return 0x00000140; ++#elif defined(CONFIG_ARCH_GTA01B_v2) ++ return 0x00000220; + #endif + } +Index: git/board/gta01/split_by_variant.sh +=================================================================== +--- git.orig/board/gta01/split_by_variant.sh 2007-01-04 12:22:12.000000000 +0100 ++++ git/board/gta01/split_by_variant.sh 2007-01-04 12:22:16.000000000 +0100 +@@ -15,16 +15,23 @@ + case "$1" in + gta01v4_config) + echo "#define CONFIG_ARCH_GTA01_v4" > ${obj}include/config.h ++ echo "GTA01_BIG_FLASH=n" > ${obj}board/gta01/config.tmp + ;; + + gta01v3_config) + echo "#define CONFIG_ARCH_GTA01_v3" > ${obj}include/config.h ++ echo "GTA01_BIG_FLASH=n" > ${obj}board/gta01/config.tmp + ;; + ++ gta01bv2_config) ++ echo "#define CONFIG_ARCH_GTA01B_v2" > ${obj}include/config.h ++ echo "GTA01_BIG_FLASH=y" > ${obj}board/gta01/config.tmp ++ ;; + + *) + echo "$0:: Unrecognised config - using gta01v3_config" + echo "#define CONFIG_ARCH_GTA01_v3" > ${obj}include/config.h ++ echo "GTA01_BIG_FLASH=n" > ${obj}board/gta01/config.tmp + ;; + + esac +Index: git/include/configs/gta01.h +=================================================================== +--- git.orig/include/configs/gta01.h 2007-01-04 12:22:12.000000000 +0100 ++++ git/include/configs/gta01.h 2007-01-04 12:22:16.000000000 +0100 +@@ -128,6 +128,8 @@ + #define CFG_PROMPT "GTA01v3 # " /* Monitor Command Prompt */ + #elif defined(CONFIG_ARCH_GTA01_v4) + #define CFG_PROMPT "GTA01v4 # " /* Monitor Command Prompt */ ++#elif defined(CONFIG_ARCH_GTA01B_v2) ++#define CFG_PROMPT "GTA01Bv2 # " /* Monitor Command Prompt */ + #endif + #define CFG_CBSIZE 256 /* Console I/O Buffer Size */ + #define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ +@@ -166,7 +168,13 @@ + */ + #define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of DRAM */ + #define PHYS_SDRAM_1 0x30000000 /* SDRAM Bank #1 */ ++#if defined(CONFIG_ARCH_GTA01_v3) || defined(CONFIG_ARCH_GTA01_v4) + #define PHYS_SDRAM_1_SIZE 0x04000000 /* 64 MB */ ++#elif defined(CONFIG_ARCH_GTA01B_v2) ++#define PHYS_SDRAM_1_SIZE 0x08000000 /* 128 MB */ ++#else ++#error Please define GTA01 variant ++#endif + #define PHYS_SDRAM_RES_SIZE 0x00200000 /* 2 MB for frame buffer */ + + /*----------------------------------------------------------------------- +Index: git/board/gta01/lowlevel_init.S +=================================================================== +--- git.orig/board/gta01/lowlevel_init.S 2007-01-04 12:22:07.000000000 +0100 ++++ git/board/gta01/lowlevel_init.S 2007-01-04 12:22:16.000000000 +0100 +@@ -108,12 +108,16 @@ + #define B5_PMC 0x0 /* normal */ + + #define B6_MT 0x3 /* SDRAM */ +-#define B6_Trcd 0x1 ++#define B6_Trcd 0x1 /* 3clk */ ++#if defined (CONFIG_ARCH_GTA01_v3) || defined(CONFIG_ARCH_GTA01_v4) + #define B6_SCAN 0x1 /* 9bit */ ++#elif defined(CONFIG_ARCH_GTA01B_v2) ++#define B6_SCAN 0x2 /* 10bit */ ++#endif + + #define B7_MT 0x3 /* SDRAM */ + #define B7_Trcd 0x1 /* 3clk */ +-#define B7_SCAN 0x1 /* 9bit */ ++#define B7_SCAN 0x2 /* 10bit */ + + /* REFRESH parameter */ + #define REFEN 0x1 /* Refresh enable */ +@@ -149,6 +153,19 @@ + orr r1, r1, #0xc0000000 + mcr p15, 0, r1, c1, c0, 0 + ++#if defined(CONFIG_ARCH_GTA01_v4) || defined(CONFIG_ARCH_GTA01B_v2) ++ /* switch on power for NAND */ ++ ldr r0, =0x56000010 /* GPBCON */ ++ ldr r1, [r0] ++ orr r1, r1, #0x10 ++ str r1, [r0] ++ ++ ldr r0, =0x56000014 /* GPBDAT */ ++ ldr r1, [r0] ++ orr r1, r1, #(1 <<2) ++ str r1, [r0] ++#endif ++ + /* everything is fine now */ + mov pc, lr + +Index: git/board/gta01/config.mk +=================================================================== +--- git.orig/board/gta01/config.mk 2007-01-04 12:22:07.000000000 +0100 ++++ git/board/gta01/config.mk 2007-01-04 12:22:16.000000000 +0100 +@@ -8,18 +8,26 @@ + # see http://www.samsung.com/ for more information on SAMSUNG + # + ++# GTA01v3 has 1 bank of 64 MB SDRAM ++# GTA01v4 has 1 bank of 64 MB SDRAM + # +-# GTA01 has 1 bank of 64 MB DRAM ++# 3000'0000 to 3400'0000 ++# we load ourself to 33F8'0000 ++# ++# GTA01Bv2 or later has 1 bank of 128 MB SDRAM + # +-# 3000'0000 to 3400'0000 ++# 3000'0000 to 3800'0000 ++# we load ourself to 37F8'0000 + # + # Linux-Kernel is expected to be at 3000'8000, entry 3000'8000 + # optionally with a ramdisk at 3080'0000 + # +-# we load ourself to 33F8'0000 +-# +-# download area is 3300'0000 +-# ++# download area is 3200'0000 or 3300'0000 + ++sinclude $(OBJTREE)/board/$(BOARDDIR)/config.tmp + ++ifeq ($(GTA01_BIG_RAM),y) ++TEXT_BASE = 0x37F80000 ++else + TEXT_BASE = 0x33F80000 ++endif diff --git a/packages/uboot/files/u-boot-20061030-gta01v4.patch b/packages/uboot/files/u-boot-20061030-gta01v4.patch new file mode 100644 index 0000000000..8910dcf831 --- /dev/null +++ b/packages/uboot/files/u-boot-20061030-gta01v4.patch @@ -0,0 +1,132 @@ +Index: git/Makefile +=================================================================== +--- git.orig/Makefile 2007-01-04 12:22:08.000000000 +0100 ++++ git/Makefile 2007-01-04 12:22:12.000000000 +0100 +@@ -1916,8 +1916,10 @@ + qt2410_config : unconfig + @./mkconfig $(@:_config=) arm arm920t qt2410 NULL s3c24x0 + +-gta01_config : unconfig +- @./mkconfig $(@:_config=) arm arm920t gta01 NULL s3c24x0 ++gta01_config \ ++gta01v3_config \ ++gta01v4_config : unconfig ++ @board/gta01/split_by_variant.sh $@ + + scb9328_config : unconfig + @$(MKCONFIG) $(@:_config=) arm arm920t scb9328 NULL imx +Index: git/board/gta01/gta01.c +=================================================================== +--- git.orig/board/gta01/gta01.c 2007-01-04 12:22:08.000000000 +0100 ++++ git/board/gta01/gta01.c 2007-01-04 12:22:12.000000000 +0100 +@@ -90,6 +90,7 @@ + delay (8000); + + /* set up the I/O ports */ ++#if defined(CONFIG_ARCH_GTA01_v3) + gpio->GPACON = 0x007FFFFF; + + gpio->GPBCON = 0x00005056; +@@ -112,6 +113,34 @@ + + gpio->GPHCON = 0x0008FAAA; + gpio->GPHUP = 0x000007FF; ++#elif defined(CONFIG_ARCH_GTA01_v4) ++ gpio->GPACON = 0x007FFFFF; //0x005E47FF; ++ ++ gpio->GPBDAT |= 0x4; /* Set GBP2 to high (Flash power-up) */ ++ gpio->GPBCON = 0x00005056; //0x00045016; ++ gpio->GPBUP = 0x000007FF; ++ ++ gpio->GPCCON = 0xAAAA12A9; ++ gpio->GPCUP = 0x0000FFFF; ++ ++ gpio->GPDCON = 0xAAAAAAAA; ++ gpio->GPDUP = 0x0000FFFF; ++ ++ gpio->GPECON = 0xA02AAAAA; ++ gpio->GPEUP = 0x0000FFFF; ++ ++ gpio->GPFCON = 0x0000aa09; ++ gpio->GPFUP = 0x000000FF; ++ ++ gpio->GPGCON = 0xFF40F0C1; ++ gpio->GPGUP = 0x0000FFFF; ++ ++ gpio->GPHCON = 0x0000FAAA; ++ gpio->GPHUP = 0x000007FF; ++ ++#else ++#error Please define GTA01 version ++#endif + + /* arch number of SMDK2410-Board */ + gd->bd->bi_arch_number = MACH_TYPE_GTA01; +@@ -143,5 +172,9 @@ + + u_int32_t get_board_rev(void) + { ++#if defined(CONFIG_ARCH_GTA01_v3) + return 0x00000130; ++#elif defined(CONFIG_ARCH_GTA01_v4) ++ return 0x00000140; ++#endif + } +Index: git/board/gta01/split_by_variant.sh +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/board/gta01/split_by_variant.sh 2007-01-04 12:22:12.000000000 +0100 +@@ -0,0 +1,36 @@ ++#!/bin/sh ++# --------------------------------------------------------- ++# Set the core module defines according to Core Module ++# --------------------------------------------------------- ++# --------------------------------------------------------- ++# Set up the GTA01 type define ++# --------------------------------------------------------- ++ ++mkdir -p ${obj}include ++if [ "$1" == "" ] ++then ++ echo "$0:: No parameters - using GTA01v3 config" ++ echo "#define CONFIG_ARCH_GTA01_v3" > ${obj}include/config.h ++else ++ case "$1" in ++ gta01v4_config) ++ echo "#define CONFIG_ARCH_GTA01_v4" > ${obj}include/config.h ++ ;; ++ ++ gta01v3_config) ++ echo "#define CONFIG_ARCH_GTA01_v3" > ${obj}include/config.h ++ ;; ++ ++ ++ *) ++ echo "$0:: Unrecognised config - using gta01v3_config" ++ echo "#define CONFIG_ARCH_GTA01_v3" > ${obj}include/config.h ++ ;; ++ ++ esac ++ ++fi ++# --------------------------------------------------------- ++# Complete the configuration ++# --------------------------------------------------------- ++$MKCONFIG -a gta01 arm arm920t gta01 NULL s3c24x0 +Index: git/include/configs/gta01.h +=================================================================== +--- git.orig/include/configs/gta01.h 2007-01-04 12:22:08.000000000 +0100 ++++ git/include/configs/gta01.h 2007-01-04 12:22:12.000000000 +0100 +@@ -124,7 +124,11 @@ + * Miscellaneous configurable options + */ + #define CFG_LONGHELP /* undef to save memory */ +-#define CFG_PROMPT "GTA01 # " /* Monitor Command Prompt */ ++#if defined(CONFIG_ARCH_GTA01_v3) ++#define CFG_PROMPT "GTA01v3 # " /* Monitor Command Prompt */ ++#elif defined(CONFIG_ARCH_GTA01_v4) ++#define CFG_PROMPT "GTA01v4 # " /* Monitor Command Prompt */ ++#endif + #define CFG_CBSIZE 256 /* Console I/O Buffer Size */ + #define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ + #define CFG_MAXARGS 16 /* max number of command args */ diff --git a/packages/uboot/files/u-boot-20061030-qt2410-gta01.patch b/packages/uboot/files/u-boot-20061030-qt2410-gta01.patch new file mode 100644 index 0000000000..91f85479bc --- /dev/null +++ b/packages/uboot/files/u-boot-20061030-qt2410-gta01.patch @@ -0,0 +1,9272 @@ +Index: git/Makefile +=================================================================== +--- git.orig/Makefile 2007-01-04 12:21:15.000000000 +0100 ++++ git/Makefile 2007-01-04 12:21:18.000000000 +0100 +@@ -1913,6 +1913,12 @@ + sbc2410x_config: unconfig + @$(MKCONFIG) $(@:_config=) arm arm920t sbc2410x NULL s3c24x0 + ++qt2410_config : unconfig ++ @./mkconfig $(@:_config=) arm arm920t qt2410 NULL s3c24x0 ++ ++gta01_config : unconfig ++ @./mkconfig $(@:_config=) arm arm920t gta01 NULL s3c24x0 ++ + scb9328_config : unconfig + @$(MKCONFIG) $(@:_config=) arm arm920t scb9328 NULL imx + +Index: git/board/gta01/Makefile +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/board/gta01/Makefile 2007-01-04 12:21:18.000000000 +0100 +@@ -0,0 +1,47 @@ ++# ++# (C) Copyright 2000, 2001, 2002 ++# Wolfgang Denk, DENX Software Engineering, wd@denx.de. ++# ++# See file CREDITS for list of people who contributed to this ++# project. ++# ++# 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. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++# MA 02111-1307 USA ++# ++ ++include $(TOPDIR)/config.mk ++ ++LIB = lib$(BOARD).a ++ ++OBJS := gta01.o ++SOBJS := lowlevel_init.o ++ ++$(LIB): $(OBJS) $(SOBJS) ++ $(AR) crv $@ $(OBJS) $(SOBJS) ++ ++clean: ++ rm -f $(SOBJS) $(OBJS) ++ ++distclean: clean ++ rm -f $(LIB) core *.bak .depend ++ ++######################################################################### ++ ++.depend: Makefile $(SOBJS:.o=.S) $(OBJS:.o=.c) ++ $(CC) -M $(CPPFLAGS) $(SOBJS:.o=.S) $(OBJS:.o=.c) > $@ ++ ++-include .depend ++ ++######################################################################### +Index: git/board/gta01/config.mk +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/board/gta01/config.mk 2007-01-04 12:21:18.000000000 +0100 +@@ -0,0 +1,25 @@ ++# ++# (C) Copyright 2002 ++# Gary Jennejohn, DENX Software Engineering, <gj@denx.de> ++# David Mueller, ELSOFT AG, <d.mueller@elsoft.ch> ++# ++# FIC GTA01 board with S3C2410X (ARM920T) cpu ++# ++# see http://www.samsung.com/ for more information on SAMSUNG ++# ++ ++# ++# GTA01 has 1 bank of 64 MB DRAM ++# ++# 3000'0000 to 3400'0000 ++# ++# Linux-Kernel is expected to be at 3000'8000, entry 3000'8000 ++# optionally with a ramdisk at 3080'0000 ++# ++# we load ourself to 33F8'0000 ++# ++# download area is 3300'0000 ++# ++ ++ ++TEXT_BASE = 0x33F80000 +Index: git/board/gta01/gta01.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/board/gta01/gta01.c 2007-01-04 12:21:18.000000000 +0100 +@@ -0,0 +1,147 @@ ++/* ++ * (C) 2006 by Harald Welte <hwelte@hmw-consulting.de> ++ * ++ * based on existing S3C2410 startup code in u-boot: ++ * ++ * (C) Copyright 2002 ++ * Sysgo Real-Time Solutions, GmbH <www.elinos.com> ++ * Marius Groeger <mgroeger@sysgo.de> ++ * ++ * (C) Copyright 2002 ++ * David Mueller, ELSOFT AG, <d.mueller@elsoft.ch> ++ * ++ * See file CREDITS for list of people who contributed to this ++ * project. ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++#include <common.h> ++#include <s3c2410.h> ++#include <i2c.h> ++ ++DECLARE_GLOBAL_DATA_PTR; ++ ++#if 1 ++//#define M_MDIV 0xA1 /* Fout = 202.8MHz */ ++//#define M_PDIV 0x3 ++//#define M_SDIV 0x1 ++#define M_MDIV 0x90 /* Fout = 202.8MHz */ ++#define M_PDIV 0x7 ++#define M_SDIV 0x0 ++#else ++#define M_MDIV 0x5c /* Fout = 150.0MHz */ ++#define M_PDIV 0x4 ++#define M_SDIV 0x0 ++#endif ++ ++#if 1 ++#define U_M_MDIV 0x78 ++#define U_M_PDIV 0x2 ++#define U_M_SDIV 0x3 ++#else ++#define U_M_MDIV 0x48 ++#define U_M_PDIV 0x3 ++#define U_M_SDIV 0x2 ++#endif ++ ++static inline void delay (unsigned long loops) ++{ ++ __asm__ volatile ("1:\n" ++ "subs %0, %1, #1\n" ++ "bne 1b":"=r" (loops):"0" (loops)); ++} ++ ++/* ++ * Miscellaneous platform dependent initialisations ++ */ ++ ++int board_init (void) ++{ ++ S3C24X0_CLOCK_POWER * const clk_power = S3C24X0_GetBase_CLOCK_POWER(); ++ S3C24X0_GPIO * const gpio = S3C24X0_GetBase_GPIO(); ++ ++ /* to reduce PLL lock time, adjust the LOCKTIME register */ ++ clk_power->LOCKTIME = 0xFFFFFF; ++ ++ /* configure MPLL */ ++ clk_power->MPLLCON = ((M_MDIV << 12) + (M_PDIV << 4) + M_SDIV); ++ ++ /* some delay between MPLL and UPLL */ ++ delay (4000); ++ ++ /* configure UPLL */ ++ clk_power->UPLLCON = ((U_M_MDIV << 12) + (U_M_PDIV << 4) + U_M_SDIV); ++ ++ /* some delay between MPLL and UPLL */ ++ delay (8000); ++ ++ /* set up the I/O ports */ ++ gpio->GPACON = 0x007FFFFF; ++ ++ gpio->GPBCON = 0x00005056; ++ gpio->GPBUP = 0x000007FF; ++ ++ gpio->GPCCON = 0xAAAA12A8; ++ gpio->GPCUP = 0x0000FFFF; ++ ++ gpio->GPDCON = 0xAAAAAAAA; ++ gpio->GPDUP = 0x0000FFFF; ++ ++ gpio->GPECON = 0xAAAAAAAA; ++ gpio->GPEUP = 0x0000FFFF; ++ ++ gpio->GPFCON = 0x00002AA9; ++ gpio->GPFUP = 0x000000FF; ++ ++ gpio->GPGCON = 0xA846F0C0; ++ gpio->GPGUP = 0x0000AFEF; ++ ++ gpio->GPHCON = 0x0008FAAA; ++ gpio->GPHUP = 0x000007FF; ++ ++ /* arch number of SMDK2410-Board */ ++ gd->bd->bi_arch_number = MACH_TYPE_GTA01; ++ ++ /* adress of boot parameters */ ++ gd->bd->bi_boot_params = 0x30000100; ++ ++ icache_enable(); ++ dcache_enable(); ++ ++ return 0; ++} ++ ++int board_late_init(void) ++{ ++ const char mmc_power = 0x8f; ++ /* enable D3REG 3.3V (SC/MMC power) */ ++ i2c_write(0x08, 0x25, 1, &mmc_power, 1); ++ return 0; ++} ++ ++int dram_init (void) ++{ ++ gd->bd->bi_dram[0].start = PHYS_SDRAM_1; ++ gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE; ++ ++ return 0; ++} ++ ++u_int32_t get_board_rev(void) ++{ ++ return 0x00000130; ++} +Index: git/board/gta01/lowlevel_init.S +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/board/gta01/lowlevel_init.S 2007-01-04 12:21:18.000000000 +0100 +@@ -0,0 +1,171 @@ ++/* ++ * Memory Setup stuff - taken from blob memsetup.S ++ * ++ * Copyright (C) 1999 2000 2001 Erik Mouw (J.A.K.Mouw@its.tudelft.nl) and ++ * Jan-Derk Bakker (J.D.Bakker@its.tudelft.nl) ++ * ++ * Modified for the FIC GTA01 by Harald Welte <hwelte@hmw-consulting.de> ++ * ++ * See file CREDITS for list of people who contributed to this ++ * project. ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++ ++#include <config.h> ++#include <version.h> ++ ++ ++/* some parameters for the board */ ++ ++/* ++ * ++ * Taken from linux/arch/arm/boot/compressed/head-s3c2410.S ++ * ++ * Copyright (C) 2002 Samsung Electronics SW.LEE <hitchcar@sec.samsung.com> ++ * ++ */ ++ ++#define BWSCON 0x48000000 ++ ++/* BWSCON */ ++#define DW8 (0x0) ++#define DW16 (0x1) ++#define DW32 (0x2) ++#define WAIT (0x1<<2) ++#define UBLB (0x1<<3) ++ ++#define B1_BWSCON (DW32) ++#define B2_BWSCON (DW16) ++#define B3_BWSCON (DW16 + WAIT + UBLB) ++#define B4_BWSCON (DW16) ++#define B5_BWSCON (DW16) ++#define B6_BWSCON (DW32) ++#define B7_BWSCON (DW32) ++ ++/* BANK0CON */ ++#define B0_Tacs 0x0 /* 0clk */ ++#define B0_Tcos 0x0 /* 0clk */ ++#define B0_Tacc 0x7 /* 14clk */ ++#define B0_Tcoh 0x0 /* 0clk */ ++#define B0_Tah 0x0 /* 0clk */ ++#define B0_Tacp 0x0 ++#define B0_PMC 0x0 /* normal */ ++ ++/* BANK1CON */ ++#define B1_Tacs 0x0 /* 0clk */ ++#define B1_Tcos 0x0 /* 0clk */ ++#define B1_Tacc 0x7 /* 14clk */ ++#define B1_Tcoh 0x0 /* 0clk */ ++#define B1_Tah 0x0 /* 0clk */ ++#define B1_Tacp 0x0 ++#define B1_PMC 0x0 ++ ++#define B2_Tacs 0x0 ++#define B2_Tcos 0x0 ++#define B2_Tacc 0x7 ++#define B2_Tcoh 0x0 ++#define B2_Tah 0x0 ++#define B2_Tacp 0x0 ++#define B2_PMC 0x0 ++ ++#define B3_Tacs 0x0 /* 0clk */ ++#define B3_Tcos 0x3 /* 4clk */ ++#define B3_Tacc 0x7 /* 14clk */ ++#define B3_Tcoh 0x1 /* 1clk */ ++#define B3_Tah 0x0 /* 0clk */ ++#define B3_Tacp 0x3 /* 6clk */ ++#define B3_PMC 0x0 /* normal */ ++ ++#define B4_Tacs 0x0 /* 0clk */ ++#define B4_Tcos 0x0 /* 0clk */ ++#define B4_Tacc 0x7 /* 14clk */ ++#define B4_Tcoh 0x0 /* 0clk */ ++#define B4_Tah 0x0 /* 0clk */ ++#define B4_Tacp 0x0 ++#define B4_PMC 0x0 /* normal */ ++ ++#define B5_Tacs 0x0 /* 0clk */ ++#define B5_Tcos 0x0 /* 0clk */ ++#define B5_Tacc 0x7 /* 14clk */ ++#define B5_Tcoh 0x0 /* 0clk */ ++#define B5_Tah 0x0 /* 0clk */ ++#define B5_Tacp 0x0 ++#define B5_PMC 0x0 /* normal */ ++ ++#define B6_MT 0x3 /* SDRAM */ ++#define B6_Trcd 0x1 ++#define B6_SCAN 0x1 /* 9bit */ ++ ++#define B7_MT 0x3 /* SDRAM */ ++#define B7_Trcd 0x1 /* 3clk */ ++#define B7_SCAN 0x1 /* 9bit */ ++ ++/* REFRESH parameter */ ++#define REFEN 0x1 /* Refresh enable */ ++#define TREFMD 0x0 /* CBR(CAS before RAS)/Auto refresh */ ++#define Trp 0x1 /* 3clk */ ++#define Trc 0x3 /* 7clk */ ++#define Tchr 0x2 /* 3clk */ ++//#define REFCNT 1113 /* period=15.6us, HCLK=60Mhz, (2048+1-15.6*60) */ ++#define REFCNT 997 /* period=17.5us, HCLK=60Mhz, (2048+1-15.6*60) */ ++/**************************************/ ++ ++_TEXT_BASE: ++ .word TEXT_BASE ++ ++.globl lowlevel_init ++lowlevel_init: ++ /* memory control configuration */ ++ /* make r0 relative the current location so that it */ ++ /* reads SMRDATA out of FLASH rather than memory ! */ ++ ldr r0, =SMRDATA ++ ldr r1, _TEXT_BASE ++ sub r0, r0, r1 ++ ldr r1, =BWSCON /* Bus Width Status Controller */ ++ add r2, r0, #13*4 ++0: ++ ldr r3, [r0], #4 ++ str r3, [r1], #4 ++ cmp r2, r0 ++ bne 0b ++ ++ /* setup asynchronous bus mode */ ++ mrc p15, 0, r1 ,c1 ,c0, 0 ++ orr r1, r1, #0xc0000000 ++ mcr p15, 0, r1, c1, c0, 0 ++ ++ /* everything is fine now */ ++ mov pc, lr ++ ++ .ltorg ++/* the literal pools origin */ ++ ++SMRDATA: ++ .word (0+(B1_BWSCON<<4)+(B2_BWSCON<<8)+(B3_BWSCON<<12)+(B4_BWSCON<<16)+(B5_BWSCON<<20)+(B6_BWSCON<<24)+(B7_BWSCON<<28)) ++ .word ((B0_Tacs<<13)+(B0_Tcos<<11)+(B0_Tacc<<8)+(B0_Tcoh<<6)+(B0_Tah<<4)+(B0_Tacp<<2)+(B0_PMC)) ++ .word ((B1_Tacs<<13)+(B1_Tcos<<11)+(B1_Tacc<<8)+(B1_Tcoh<<6)+(B1_Tah<<4)+(B1_Tacp<<2)+(B1_PMC)) ++ .word ((B2_Tacs<<13)+(B2_Tcos<<11)+(B2_Tacc<<8)+(B2_Tcoh<<6)+(B2_Tah<<4)+(B2_Tacp<<2)+(B2_PMC)) ++ .word ((B3_Tacs<<13)+(B3_Tcos<<11)+(B3_Tacc<<8)+(B3_Tcoh<<6)+(B3_Tah<<4)+(B3_Tacp<<2)+(B3_PMC)) ++ .word ((B4_Tacs<<13)+(B4_Tcos<<11)+(B4_Tacc<<8)+(B4_Tcoh<<6)+(B4_Tah<<4)+(B4_Tacp<<2)+(B4_PMC)) ++ .word ((B5_Tacs<<13)+(B5_Tcos<<11)+(B5_Tacc<<8)+(B5_Tcoh<<6)+(B5_Tah<<4)+(B5_Tacp<<2)+(B5_PMC)) ++ .word ((B6_MT<<15)+(B6_Trcd<<2)+(B6_SCAN)) ++ .word ((B7_MT<<15)+(B7_Trcd<<2)+(B7_SCAN)) ++ .word ((REFEN<<23)+(TREFMD<<22)+(Trp<<20)+(Trc<<18)+(Tchr<<16)+REFCNT) ++ .word 0xb2 ++ .word 0x30 ++ .word 0x30 +Index: git/board/gta01/u-boot.lds +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/board/gta01/u-boot.lds 2007-01-04 12:21:18.000000000 +0100 +@@ -0,0 +1,57 @@ ++/* ++ * (C) Copyright 2002 ++ * Gary Jennejohn, DENX Software Engineering, <gj@denx.de> ++ * ++ * See file CREDITS for list of people who contributed to this ++ * project. ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") ++/*OUTPUT_FORMAT("elf32-arm", "elf32-arm", "elf32-arm")*/ ++OUTPUT_ARCH(arm) ++ENTRY(_start) ++SECTIONS ++{ ++ . = 0x00000000; ++ ++ . = ALIGN(4); ++ .text : ++ { ++ cpu/arm920t/start.o (.text) ++ *(.text) ++ } ++ ++ . = ALIGN(4); ++ .rodata : { *(.rodata) } ++ ++ . = ALIGN(4); ++ .data : { *(.data) } ++ ++ . = ALIGN(4); ++ .got : { *(.got) } ++ ++ . = .; ++ __u_boot_cmd_start = .; ++ .u_boot_cmd : { *(.u_boot_cmd) } ++ __u_boot_cmd_end = .; ++ ++ . = ALIGN(4); ++ __bss_start = .; ++ .bss : { *(.bss) } ++ _end = .; ++} +Index: git/board/qt2410/Makefile +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/board/qt2410/Makefile 2007-01-04 12:21:18.000000000 +0100 +@@ -0,0 +1,47 @@ ++# ++# (C) Copyright 2000, 2001, 2002 ++# Wolfgang Denk, DENX Software Engineering, wd@denx.de. ++# ++# See file CREDITS for list of people who contributed to this ++# project. ++# ++# 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. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++# MA 02111-1307 USA ++# ++ ++include $(TOPDIR)/config.mk ++ ++LIB = lib$(BOARD).a ++ ++OBJS := qt2410.o flash.o ++SOBJS := lowlevel_init.o ++ ++$(LIB): $(OBJS) $(SOBJS) ++ $(AR) crv $@ $(OBJS) $(SOBJS) ++ ++clean: ++ rm -f $(SOBJS) $(OBJS) ++ ++distclean: clean ++ rm -f $(LIB) core *.bak .depend ++ ++######################################################################### ++ ++.depend: Makefile $(SOBJS:.o=.S) $(OBJS:.o=.c) ++ $(CC) -M $(CPPFLAGS) $(SOBJS:.o=.S) $(OBJS:.o=.c) > $@ ++ ++-include .depend ++ ++######################################################################### +Index: git/board/qt2410/config.mk +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/board/qt2410/config.mk 2007-01-04 12:21:18.000000000 +0100 +@@ -0,0 +1,25 @@ ++# ++# (C) Copyright 2002 ++# Gary Jennejohn, DENX Software Engineering, <gj@denx.de> ++# David Mueller, ELSOFT AG, <d.mueller@elsoft.ch> ++# ++# SAMSUNG SMDK2410 board with S3C2410X (ARM920T) cpu ++# ++# see http://www.samsung.com/ for more information on SAMSUNG ++# ++ ++# ++# SMDK2410 has 1 bank of 64 MB DRAM ++# ++# 3000'0000 to 3400'0000 ++# ++# Linux-Kernel is expected to be at 3000'8000, entry 3000'8000 ++# optionally with a ramdisk at 3080'0000 ++# ++# we load ourself to 33F8'0000 ++# ++# download area is 3300'0000 ++# ++ ++ ++TEXT_BASE = 0x33F80000 +Index: git/board/qt2410/flash.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/board/qt2410/flash.c 2007-01-04 12:21:18.000000000 +0100 +@@ -0,0 +1,435 @@ ++/* ++ * (C) Copyright 2002 ++ * Sysgo Real-Time Solutions, GmbH <www.elinos.com> ++ * Alex Zuepke <azu@sysgo.de> ++ * ++ * See file CREDITS for list of people who contributed to this ++ * project. ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++#include <common.h> ++ ++ulong myflush (void); ++ ++ ++#define FLASH_BANK_SIZE PHYS_FLASH_SIZE ++#define MAIN_SECT_SIZE 0x10000 /* 64 KB */ ++ ++flash_info_t flash_info[CFG_MAX_FLASH_BANKS]; ++ ++ ++#define CMD_READ_ARRAY 0x000000F0 ++#define CMD_UNLOCK1 0x000000AA ++#define CMD_UNLOCK2 0x00000055 ++#define CMD_ERASE_SETUP 0x00000080 ++#define CMD_ERASE_CONFIRM 0x00000030 ++#define CMD_PROGRAM 0x000000A0 ++#define CMD_UNLOCK_BYPASS 0x00000020 ++ ++#define MEM_FLASH_ADDR1 (*(volatile u16 *)(CFG_FLASH_BASE + (0x00000555 << 1))) ++#define MEM_FLASH_ADDR2 (*(volatile u16 *)(CFG_FLASH_BASE + (0x000002AA << 1))) ++ ++#define BIT_ERASE_DONE 0x00000080 ++#define BIT_RDY_MASK 0x00000080 ++#define BIT_PROGRAM_ERROR 0x00000020 ++#define BIT_TIMEOUT 0x80000000 /* our flag */ ++ ++#define READY 1 ++#define ERR 2 ++#define TMO 4 ++ ++/*----------------------------------------------------------------------- ++ */ ++ ++ulong flash_init (void) ++{ ++ int i, j; ++ ulong size = 0; ++ ++ for (i = 0; i < CFG_MAX_FLASH_BANKS; i++) { ++ ulong flashbase = 0; ++ ++ flash_info[i].flash_id = ++#if defined(CONFIG_AMD_LV400) ++ (AMD_MANUFACT & FLASH_VENDMASK) | ++ (AMD_ID_LV400B & FLASH_TYPEMASK); ++#elif defined(CONFIG_AMD_LV800) ++ (AMD_MANUFACT & FLASH_VENDMASK) | ++ (AMD_ID_LV800B & FLASH_TYPEMASK); ++#else ++#error "Unknown flash configured" ++#endif ++ flash_info[i].size = FLASH_BANK_SIZE; ++ flash_info[i].sector_count = CFG_MAX_FLASH_SECT; ++ memset (flash_info[i].protect, 0, CFG_MAX_FLASH_SECT); ++ if (i == 0) ++ flashbase = PHYS_FLASH_1; ++ else ++ panic ("configured too many flash banks!\n"); ++ for (j = 0; j < flash_info[i].sector_count; j++) { ++ if (j <= 3) { ++ /* 1st one is 16 KB */ ++ if (j == 0) { ++ flash_info[i].start[j] = ++ flashbase + 0; ++ } ++ ++ /* 2nd and 3rd are both 8 KB */ ++ if ((j == 1) || (j == 2)) { ++ flash_info[i].start[j] = ++ flashbase + 0x4000 + (j - ++ 1) * ++ 0x2000; ++ } ++ ++ /* 4th 32 KB */ ++ if (j == 3) { ++ flash_info[i].start[j] = ++ flashbase + 0x8000; ++ } ++ } else { ++ flash_info[i].start[j] = ++ flashbase + (j - 3) * MAIN_SECT_SIZE; ++ } ++ } ++ size += flash_info[i].size; ++ } ++ ++ flash_protect (FLAG_PROTECT_SET, ++ CFG_FLASH_BASE, ++ CFG_FLASH_BASE + monitor_flash_len - 1, ++ &flash_info[0]); ++ ++#if 0 ++ flash_protect (FLAG_PROTECT_SET, ++ CFG_ENV_ADDR, ++ CFG_ENV_ADDR + CFG_ENV_SIZE - 1, &flash_info[0]); ++#endif ++ ++ return size; ++} ++ ++/*----------------------------------------------------------------------- ++ */ ++void flash_print_info (flash_info_t * info) ++{ ++ int i; ++ ++ switch (info->flash_id & FLASH_VENDMASK) { ++ case (AMD_MANUFACT & FLASH_VENDMASK): ++ printf ("AMD: "); ++ break; ++ default: ++ printf ("Unknown Vendor "); ++ break; ++ } ++ ++ switch (info->flash_id & FLASH_TYPEMASK) { ++ case (AMD_ID_LV400B & FLASH_TYPEMASK): ++ printf ("1x Amd29LV400BB (4Mbit)\n"); ++ break; ++ case (AMD_ID_LV800B & FLASH_TYPEMASK): ++ printf ("1x Amd29LV800BB (8Mbit)\n"); ++ break; ++ default: ++ printf ("Unknown Chip Type\n"); ++ goto Done; ++ break; ++ } ++ ++ printf (" Size: %ld MB in %d Sectors\n", ++ info->size >> 20, info->sector_count); ++ ++ printf (" Sector Start Addresses:"); ++ for (i = 0; i < info->sector_count; i++) { ++ if ((i % 5) == 0) { ++ printf ("\n "); ++ } ++ printf (" %08lX%s", info->start[i], ++ info->protect[i] ? " (RO)" : " "); ++ } ++ printf ("\n"); ++ ++ Done:; ++} ++ ++/*----------------------------------------------------------------------- ++ */ ++ ++int flash_erase (flash_info_t * info, int s_first, int s_last) ++{ ++ ushort result; ++ int iflag, cflag, prot, sect; ++ int rc = ERR_OK; ++ int chip; ++ ++ /* first look for protection bits */ ++ ++ if (info->flash_id == FLASH_UNKNOWN) ++ return ERR_UNKNOWN_FLASH_TYPE; ++ ++ if ((s_first < 0) || (s_first > s_last)) { ++ return ERR_INVAL; ++ } ++ ++ if ((info->flash_id & FLASH_VENDMASK) != ++ (AMD_MANUFACT & FLASH_VENDMASK)) { ++ return ERR_UNKNOWN_FLASH_VENDOR; ++ } ++ ++ prot = 0; ++ for (sect = s_first; sect <= s_last; ++sect) { ++ if (info->protect[sect]) { ++ prot++; ++ } ++ } ++ if (prot) ++ return ERR_PROTECTED; ++ ++ /* ++ * Disable interrupts which might cause a timeout ++ * here. Remember that our exception vectors are ++ * at address 0 in the flash, and we don't want a ++ * (ticker) exception to happen while the flash ++ * chip is in programming mode. ++ */ ++ cflag = icache_status (); ++ icache_disable (); ++ iflag = disable_interrupts (); ++ ++ /* Start erase on unprotected sectors */ ++ for (sect = s_first; sect <= s_last && !ctrlc (); sect++) { ++ printf ("Erasing sector %2d ... ", sect); ++ ++ /* arm simple, non interrupt dependent timer */ ++ reset_timer_masked (); ++ ++ if (info->protect[sect] == 0) { /* not protected */ ++ vu_short *addr = (vu_short *) (info->start[sect]); ++ ++ MEM_FLASH_ADDR1 = CMD_UNLOCK1; ++ MEM_FLASH_ADDR2 = CMD_UNLOCK2; ++ MEM_FLASH_ADDR1 = CMD_ERASE_SETUP; ++ ++ MEM_FLASH_ADDR1 = CMD_UNLOCK1; ++ MEM_FLASH_ADDR2 = CMD_UNLOCK2; ++ *addr = CMD_ERASE_CONFIRM; ++ ++ /* wait until flash is ready */ ++ chip = 0; ++ ++ do { ++ result = *addr; ++ ++ /* check timeout */ ++ if (get_timer_masked () > ++ CFG_FLASH_ERASE_TOUT) { ++ MEM_FLASH_ADDR1 = CMD_READ_ARRAY; ++ chip = TMO; ++ break; ++ } ++ ++ if (!chip ++ && (result & 0xFFFF) & BIT_ERASE_DONE) ++ chip = READY; ++ ++ if (!chip ++ && (result & 0xFFFF) & BIT_PROGRAM_ERROR) ++ chip = ERR; ++ ++ } while (!chip); ++ ++ MEM_FLASH_ADDR1 = CMD_READ_ARRAY; ++ ++ if (chip == ERR) { ++ rc = ERR_PROG_ERROR; ++ goto outahere; ++ } ++ if (chip == TMO) { ++ rc = ERR_TIMOUT; ++ goto outahere; ++ } ++ ++ printf ("ok.\n"); ++ } else { /* it was protected */ ++ ++ printf ("protected!\n"); ++ } ++ } ++ ++ if (ctrlc ()) ++ printf ("User Interrupt!\n"); ++ ++ outahere: ++ /* allow flash to settle - wait 10 ms */ ++ udelay_masked (10000); ++ ++ if (iflag) ++ enable_interrupts (); ++ ++ if (cflag) ++ icache_enable (); ++ ++ return rc; ++} ++ ++/*----------------------------------------------------------------------- ++ * Copy memory to flash ++ */ ++ ++volatile static int write_hword (flash_info_t * info, ulong dest, ushort data) ++{ ++ vu_short *addr = (vu_short *) dest; ++ ushort result; ++ int rc = ERR_OK; ++ int cflag, iflag; ++ int chip; ++ ++ /* ++ * Check if Flash is (sufficiently) erased ++ */ ++ result = *addr; ++ if ((result & data) != data) ++ return ERR_NOT_ERASED; ++ ++ ++ /* ++ * Disable interrupts which might cause a timeout ++ * here. Remember that our exception vectors are ++ * at address 0 in the flash, and we don't want a ++ * (ticker) exception to happen while the flash ++ * chip is in programming mode. ++ */ ++ cflag = icache_status (); ++ icache_disable (); ++ iflag = disable_interrupts (); ++ ++ MEM_FLASH_ADDR1 = CMD_UNLOCK1; ++ MEM_FLASH_ADDR2 = CMD_UNLOCK2; ++ MEM_FLASH_ADDR1 = CMD_UNLOCK_BYPASS; ++ *addr = CMD_PROGRAM; ++ *addr = data; ++ ++ /* arm simple, non interrupt dependent timer */ ++ reset_timer_masked (); ++ ++ /* wait until flash is ready */ ++ chip = 0; ++ do { ++ result = *addr; ++ ++ /* check timeout */ ++ if (get_timer_masked () > CFG_FLASH_ERASE_TOUT) { ++ chip = ERR | TMO; ++ break; ++ } ++ if (!chip && ((result & 0x80) == (data & 0x80))) ++ chip = READY; ++ ++ if (!chip && ((result & 0xFFFF) & BIT_PROGRAM_ERROR)) { ++ result = *addr; ++ ++ if ((result & 0x80) == (data & 0x80)) ++ chip = READY; ++ else ++ chip = ERR; ++ } ++ ++ } while (!chip); ++ ++ *addr = CMD_READ_ARRAY; ++ ++ if (chip == ERR || *addr != data) ++ rc = ERR_PROG_ERROR; ++ ++ if (iflag) ++ enable_interrupts (); ++ ++ if (cflag) ++ icache_enable (); ++ ++ return rc; ++} ++ ++/*----------------------------------------------------------------------- ++ * Copy memory to flash. ++ */ ++ ++int write_buff (flash_info_t * info, uchar * src, ulong addr, ulong cnt) ++{ ++ ulong cp, wp; ++ int l; ++ int i, rc; ++ ushort data; ++ ++ wp = (addr & ~1); /* get lower word aligned address */ ++ ++ /* ++ * handle unaligned start bytes ++ */ ++ if ((l = addr - wp) != 0) { ++ data = 0; ++ for (i = 0, cp = wp; i < l; ++i, ++cp) { ++ data = (data >> 8) | (*(uchar *) cp << 8); ++ } ++ for (; i < 2 && cnt > 0; ++i) { ++ data = (data >> 8) | (*src++ << 8); ++ --cnt; ++ ++cp; ++ } ++ for (; cnt == 0 && i < 2; ++i, ++cp) { ++ data = (data >> 8) | (*(uchar *) cp << 8); ++ } ++ ++ if ((rc = write_hword (info, wp, data)) != 0) { ++ return (rc); ++ } ++ wp += 2; ++ } ++ ++ /* ++ * handle word aligned part ++ */ ++ while (cnt >= 2) { ++ data = *((vu_short *) src); ++ if ((rc = write_hword (info, wp, data)) != 0) { ++ return (rc); ++ } ++ src += 2; ++ wp += 2; ++ cnt -= 2; ++ } ++ ++ if (cnt == 0) { ++ return ERR_OK; ++ } ++ ++ /* ++ * handle unaligned tail bytes ++ */ ++ data = 0; ++ for (i = 0, cp = wp; i < 2 && cnt > 0; ++i, ++cp) { ++ data = (data >> 8) | (*src++ << 8); ++ --cnt; ++ } ++ for (; i < 2; ++i, ++cp) { ++ data = (data >> 8) | (*(uchar *) cp << 8); ++ } ++ ++ return write_hword (info, wp, data); ++} +Index: git/board/qt2410/lowlevel_init.S +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/board/qt2410/lowlevel_init.S 2007-01-04 12:21:18.000000000 +0100 +@@ -0,0 +1,173 @@ ++/* ++ * Memory Setup stuff - taken from blob memsetup.S ++ * ++ * Copyright (C) 1999 2000 2001 Erik Mouw (J.A.K.Mouw@its.tudelft.nl) and ++ * Jan-Derk Bakker (J.D.Bakker@its.tudelft.nl) ++ * ++ * Modified for the Samsung SMDK2410 by ++ * (C) Copyright 2002 ++ * David Mueller, ELSOFT AG, <d.mueller@elsoft.ch> ++ * ++ * See file CREDITS for list of people who contributed to this ++ * project. ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++ ++#include <config.h> ++#include <version.h> ++ ++ ++/* some parameters for the board */ ++ ++/* ++ * ++ * Taken from linux/arch/arm/boot/compressed/head-s3c2410.S ++ * ++ * Copyright (C) 2002 Samsung Electronics SW.LEE <hitchcar@sec.samsung.com> ++ * ++ */ ++ ++#define BWSCON 0x48000000 ++ ++/* BWSCON */ ++#define DW8 (0x0) ++#define DW16 (0x1) ++#define DW32 (0x2) ++#define WAIT (0x1<<2) ++#define UBLB (0x1<<3) ++ ++#define B1_BWSCON (DW32) ++#define B2_BWSCON (DW16) ++#define B3_BWSCON (DW16 + WAIT + UBLB) ++#define B4_BWSCON (DW16) ++#define B5_BWSCON (DW16) ++#define B6_BWSCON (DW32) ++#define B7_BWSCON (DW32) ++ ++/* BANK0CON */ ++#define B0_Tacs 0x0 /* 0clk */ ++#define B0_Tcos 0x0 /* 0clk */ ++#define B0_Tacc 0x7 /* 14clk */ ++#define B0_Tcoh 0x0 /* 0clk */ ++#define B0_Tah 0x0 /* 0clk */ ++#define B0_Tacp 0x0 ++#define B0_PMC 0x0 /* normal */ ++ ++/* BANK1CON */ ++#define B1_Tacs 0x0 /* 0clk */ ++#define B1_Tcos 0x0 /* 0clk */ ++#define B1_Tacc 0x7 /* 14clk */ ++#define B1_Tcoh 0x0 /* 0clk */ ++#define B1_Tah 0x0 /* 0clk */ ++#define B1_Tacp 0x0 ++#define B1_PMC 0x0 ++ ++#define B2_Tacs 0x0 ++#define B2_Tcos 0x0 ++#define B2_Tacc 0x7 ++#define B2_Tcoh 0x0 ++#define B2_Tah 0x0 ++#define B2_Tacp 0x0 ++#define B2_PMC 0x0 ++ ++#define B3_Tacs 0x0 /* 0clk */ ++#define B3_Tcos 0x3 /* 4clk */ ++#define B3_Tacc 0x7 /* 14clk */ ++#define B3_Tcoh 0x1 /* 1clk */ ++#define B3_Tah 0x0 /* 0clk */ ++#define B3_Tacp 0x3 /* 6clk */ ++#define B3_PMC 0x0 /* normal */ ++ ++#define B4_Tacs 0x0 /* 0clk */ ++#define B4_Tcos 0x0 /* 0clk */ ++#define B4_Tacc 0x7 /* 14clk */ ++#define B4_Tcoh 0x0 /* 0clk */ ++#define B4_Tah 0x0 /* 0clk */ ++#define B4_Tacp 0x0 ++#define B4_PMC 0x0 /* normal */ ++ ++#define B5_Tacs 0x0 /* 0clk */ ++#define B5_Tcos 0x0 /* 0clk */ ++#define B5_Tacc 0x7 /* 14clk */ ++#define B5_Tcoh 0x0 /* 0clk */ ++#define B5_Tah 0x0 /* 0clk */ ++#define B5_Tacp 0x0 ++#define B5_PMC 0x0 /* normal */ ++ ++#define B6_MT 0x3 /* SDRAM */ ++#define B6_Trcd 0x1 ++#define B6_SCAN 0x1 /* 9bit */ ++ ++#define B7_MT 0x3 /* SDRAM */ ++#define B7_Trcd 0x1 /* 3clk */ ++#define B7_SCAN 0x1 /* 9bit */ ++ ++/* REFRESH parameter */ ++#define REFEN 0x1 /* Refresh enable */ ++#define TREFMD 0x0 /* CBR(CAS before RAS)/Auto refresh */ ++#define Trp 0x1 /* 3clk */ ++#define Trc 0x3 /* 7clk */ ++#define Tchr 0x2 /* 3clk */ ++//#define REFCNT 1113 /* period=15.6us, HCLK=60Mhz, (2048+1-15.6*60) */ ++#define REFCNT 997 /* period=17.5us, HCLK=60Mhz, (2048+1-15.6*60) */ ++/**************************************/ ++ ++_TEXT_BASE: ++ .word TEXT_BASE ++ ++.globl lowlevel_init ++lowlevel_init: ++ /* memory control configuration */ ++ /* make r0 relative the current location so that it */ ++ /* reads SMRDATA out of FLASH rather than memory ! */ ++ ldr r0, =SMRDATA ++ ldr r1, _TEXT_BASE ++ sub r0, r0, r1 ++ ldr r1, =BWSCON /* Bus Width Status Controller */ ++ add r2, r0, #13*4 ++0: ++ ldr r3, [r0], #4 ++ str r3, [r1], #4 ++ cmp r2, r0 ++ bne 0b ++ ++ /* setup asynchronous bus mode */ ++ mrc p15, 0, r1 ,c1 ,c0, 0 ++ orr r1, r1, #0xc0000000 ++ mcr p15, 0, r1, c1, c0, 0 ++ ++ /* everything is fine now */ ++ mov pc, lr ++ ++ .ltorg ++/* the literal pools origin */ ++ ++SMRDATA: ++ .word (0+(B1_BWSCON<<4)+(B2_BWSCON<<8)+(B3_BWSCON<<12)+(B4_BWSCON<<16)+(B5_BWSCON<<20)+(B6_BWSCON<<24)+(B7_BWSCON<<28)) ++ .word ((B0_Tacs<<13)+(B0_Tcos<<11)+(B0_Tacc<<8)+(B0_Tcoh<<6)+(B0_Tah<<4)+(B0_Tacp<<2)+(B0_PMC)) ++ .word ((B1_Tacs<<13)+(B1_Tcos<<11)+(B1_Tacc<<8)+(B1_Tcoh<<6)+(B1_Tah<<4)+(B1_Tacp<<2)+(B1_PMC)) ++ .word ((B2_Tacs<<13)+(B2_Tcos<<11)+(B2_Tacc<<8)+(B2_Tcoh<<6)+(B2_Tah<<4)+(B2_Tacp<<2)+(B2_PMC)) ++ .word ((B3_Tacs<<13)+(B3_Tcos<<11)+(B3_Tacc<<8)+(B3_Tcoh<<6)+(B3_Tah<<4)+(B3_Tacp<<2)+(B3_PMC)) ++ .word ((B4_Tacs<<13)+(B4_Tcos<<11)+(B4_Tacc<<8)+(B4_Tcoh<<6)+(B4_Tah<<4)+(B4_Tacp<<2)+(B4_PMC)) ++ .word ((B5_Tacs<<13)+(B5_Tcos<<11)+(B5_Tacc<<8)+(B5_Tcoh<<6)+(B5_Tah<<4)+(B5_Tacp<<2)+(B5_PMC)) ++ .word ((B6_MT<<15)+(B6_Trcd<<2)+(B6_SCAN)) ++ .word ((B7_MT<<15)+(B7_Trcd<<2)+(B7_SCAN)) ++ .word ((REFEN<<23)+(TREFMD<<22)+(Trp<<20)+(Trc<<18)+(Tchr<<16)+REFCNT) ++ .word 0xb2 ++ .word 0x30 ++ .word 0x30 +Index: git/board/qt2410/qt2410.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/board/qt2410/qt2410.c 2007-01-04 12:21:18.000000000 +0100 +@@ -0,0 +1,127 @@ ++/* ++ * (C) 2006 by Harald Welte <hwelte@hmw-consulting.de> ++ * ++ * based on existing S3C2410 startup code in u-boot: ++ * ++ * (C) Copyright 2002 ++ * Sysgo Real-Time Solutions, GmbH <www.elinos.com> ++ * Marius Groeger <mgroeger@sysgo.de> ++ * ++ * (C) Copyright 2002 ++ * David Mueller, ELSOFT AG, <d.mueller@elsoft.ch> ++ * ++ * See file CREDITS for list of people who contributed to this ++ * project. ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++#include <common.h> ++#include <s3c2410.h> ++ ++DECLARE_GLOBAL_DATA_PTR; ++ ++#if 1 ++//#define M_MDIV 0xA1 /* Fout = 202.8MHz */ ++//#define M_PDIV 0x3 ++//#define M_SDIV 0x1 ++#define M_MDIV 0x90 /* Fout = 202.8MHz */ ++#define M_PDIV 0x7 ++#define M_SDIV 0x0 ++#else ++#define M_MDIV 0x5c /* Fout = 150.0MHz */ ++#define M_PDIV 0x4 ++#define M_SDIV 0x0 ++#endif ++ ++#if 1 ++#define U_M_MDIV 0x78 ++#define U_M_PDIV 0x2 ++#define U_M_SDIV 0x3 ++#else ++#define U_M_MDIV 0x48 ++#define U_M_PDIV 0x3 ++#define U_M_SDIV 0x2 ++#endif ++ ++static inline void delay (unsigned long loops) ++{ ++ __asm__ volatile ("1:\n" ++ "subs %0, %1, #1\n" ++ "bne 1b":"=r" (loops):"0" (loops)); ++} ++ ++/* ++ * Miscellaneous platform dependent initialisations ++ */ ++ ++int board_init (void) ++{ ++ S3C24X0_CLOCK_POWER * const clk_power = S3C24X0_GetBase_CLOCK_POWER(); ++ S3C24X0_GPIO * const gpio = S3C24X0_GetBase_GPIO(); ++ ++ /* to reduce PLL lock time, adjust the LOCKTIME register */ ++ clk_power->LOCKTIME = 0xFFFFFF; ++ ++ /* configure MPLL */ ++ clk_power->MPLLCON = ((M_MDIV << 12) + (M_PDIV << 4) + M_SDIV); ++ ++ /* some delay between MPLL and UPLL */ ++ delay (4000); ++ ++ /* configure UPLL */ ++ clk_power->UPLLCON = ((U_M_MDIV << 12) + (U_M_PDIV << 4) + U_M_SDIV); ++ ++ /* some delay between MPLL and UPLL */ ++ delay (8000); ++ ++ /* set up the I/O ports */ ++ gpio->GPACON = 0x007FFFFF; ++ gpio->GPBCON = 0x00044555; ++ gpio->GPBUP = 0x000007FF; ++ gpio->GPCCON = 0xAAAAAAAA; ++ gpio->GPCUP = 0x0000FFFF; ++ gpio->GPDCON = 0xAAAAAAAA; ++ gpio->GPDUP = 0x0000FFFF; ++ gpio->GPECON = 0xAAAAAAAA; ++ gpio->GPEUP = 0x0000FFFF; ++ gpio->GPFCON = 0x000055AA; ++ gpio->GPFUP = 0x000000FF; ++ gpio->GPGCON = 0xFF95FFBA; ++ //gpio->GPGUP = 0x0000FFFF; ++ gpio->GPGUP = 0x0000AFEF; ++ gpio->GPHCON = 0x0028FAAA; ++ gpio->GPHUP = 0x000007FF; ++ ++ /* arch number of SMDK2410-Board */ ++ gd->bd->bi_arch_number = MACH_TYPE_QT2410; ++ ++ /* adress of boot parameters */ ++ gd->bd->bi_boot_params = 0x30000100; ++ ++ icache_enable(); ++ dcache_enable(); ++ ++ return 0; ++} ++ ++int dram_init (void) ++{ ++ gd->bd->bi_dram[0].start = PHYS_SDRAM_1; ++ gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE; ++ ++ return 0; ++} +Index: git/board/qt2410/u-boot.lds +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/board/qt2410/u-boot.lds 2007-01-04 12:21:18.000000000 +0100 +@@ -0,0 +1,57 @@ ++/* ++ * (C) Copyright 2002 ++ * Gary Jennejohn, DENX Software Engineering, <gj@denx.de> ++ * ++ * See file CREDITS for list of people who contributed to this ++ * project. ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") ++/*OUTPUT_FORMAT("elf32-arm", "elf32-arm", "elf32-arm")*/ ++OUTPUT_ARCH(arm) ++ENTRY(_start) ++SECTIONS ++{ ++ . = 0x00000000; ++ ++ . = ALIGN(4); ++ .text : ++ { ++ cpu/arm920t/start.o (.text) ++ *(.text) ++ } ++ ++ . = ALIGN(4); ++ .rodata : { *(.rodata) } ++ ++ . = ALIGN(4); ++ .data : { *(.data) } ++ ++ . = ALIGN(4); ++ .got : { *(.got) } ++ ++ . = .; ++ __u_boot_cmd_start = .; ++ .u_boot_cmd : { *(.u_boot_cmd) } ++ __u_boot_cmd_end = .; ++ ++ . = ALIGN(4); ++ __bss_start = .; ++ .bss : { *(.bss) } ++ _end = .; ++} +Index: git/common/Makefile +=================================================================== +--- git.orig/common/Makefile 2007-01-04 12:21:15.000000000 +0100 ++++ git/common/Makefile 2007-01-04 12:21:18.000000000 +0100 +@@ -28,7 +28,7 @@ + AOBJS = + + COBJS = main.o ACEX1K.o altera.o bedbug.o circbuf.o \ +- cmd_ace.o cmd_autoscript.o \ ++ cmd_ace.o cmd_arm920.o cmd_autoscript.o \ + cmd_bdinfo.o cmd_bedbug.o cmd_bmp.o cmd_boot.o cmd_bootm.o \ + cmd_cache.o cmd_console.o \ + cmd_date.o cmd_dcr.o cmd_diag.o cmd_display.o cmd_doc.o cmd_dtt.o \ +Index: git/common/cmd_arm920.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/common/cmd_arm920.c 2007-01-04 12:21:18.000000000 +0100 +@@ -0,0 +1,64 @@ ++/* ++ * (C) Copyright 2003 ++ * Wolfgang Denk, DENX Software Engineering, wd@denx.de. ++ * ++ * See file CREDITS for list of people who contributed to this ++ * project. ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++/* ++ * Boot support ++ */ ++#include <common.h> ++#include <command.h> ++#include <net.h> /* for print_IPaddr */ ++ ++DECLARE_GLOBAL_DATA_PTR; ++ ++#if (CONFIG_COMMANDS & CFG_CMD_BDI) ++ ++extern unsigned long read_p15_c1(void); ++extern void write_p15_c1(unsigned long); ++ ++int do_arm920 ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) ++{ ++ int i; ++ ++ if (strcmp(argv[1], "cp15c1")) { ++ printf("Usage:\n%s\n", cmdtp->usage); ++ return 1; ++ } ++ ++ if (!strcmp(argv[2], "write")) { ++ ulong val = simple_strtoul(argv[3], NULL, 16); ++ printf("setting cp15c1 to 0x%08x\n", val); ++ write_p15_c1(val); ++ } else if (!strcmp(argv[2], "read")) ++ printf("cp15c1 = 0x%08x\n", read_p15_c1()); ++ ++ return 0; ++} ++ ++/* -------------------------------------------------------------------- */ ++ ++U_BOOT_CMD( ++ arm920, 4, 1, do_arm920, ++ "arm920_cp15 - print cp15", ++ NULL ++); ++#endif /* CFG_CMD_BDI */ +Index: git/cpu/arm920t/cpu.c +=================================================================== +--- git.orig/cpu/arm920t/cpu.c 2007-01-04 12:21:15.000000000 +0100 ++++ git/cpu/arm920t/cpu.c 2007-01-04 12:21:18.000000000 +0100 +@@ -38,7 +38,7 @@ + #endif + + /* read co-processor 15, register #1 (control register) */ +-static unsigned long read_p15_c1 (void) ++unsigned long read_p15_c1 (void) + { + unsigned long value; + +@@ -55,7 +55,7 @@ + } + + /* write to co-processor 15, register #1 (control register) */ +-static void write_p15_c1 (unsigned long value) ++void write_p15_c1 (unsigned long value) + { + #ifdef MMU_DEBUG + printf ("write %08lx to p15/c1\n", value); +Index: git/cpu/arm920t/s3c24x0/Makefile +=================================================================== +--- git.orig/cpu/arm920t/s3c24x0/Makefile 2007-01-04 12:21:15.000000000 +0100 ++++ git/cpu/arm920t/s3c24x0/Makefile 2007-01-04 12:21:18.000000000 +0100 +@@ -26,7 +26,7 @@ + LIB = $(obj)lib$(SOC).a + + COBJS = i2c.o interrupts.o serial.o speed.o \ +- usb_ohci.o ++ usb_ohci.o mmc.o nand_read.o nand.o + + SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) + OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS)) +Index: git/cpu/arm920t/s3c24x0/mmc.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/cpu/arm920t/s3c24x0/mmc.c 2007-01-04 12:21:18.000000000 +0100 +@@ -0,0 +1,568 @@ ++/* ++ * u-boot S3C2410 MMC/SD card driver ++ * (C) Copyright 2006 by Harald Welte <laforge@gnumonks.org> ++ * ++ * based on u-boot pxa MMC driver and linux/drivers/mmc/s3c2410mci.c ++ * (C) 2005-2005 Thomas Kleffel ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++#include <config.h> ++#include <common.h> ++#include <mmc.h> ++#include <asm/errno.h> ++#include <asm/io.h> ++#include <s3c2410.h> ++#include <part.h> ++ ++#ifdef CONFIG_MMC ++ ++#define CONFIG_MMC_WIDE ++ ++//#define MMC_DEBUG ++ ++#ifdef MMC_DEBUG ++#ifdef debug ++#undef debug ++#endif ++#define debug printf ++#endif ++ ++static S3C2410_SDI *sdi; ++ ++extern int ++fat_register_device(block_dev_desc_t *dev_desc, int part_no); ++ ++static block_dev_desc_t mmc_dev; ++ ++block_dev_desc_t * mmc_get_dev(int dev) ++{ ++ return ((block_dev_desc_t *)&mmc_dev); ++} ++ ++/* ++ * FIXME needs to read cid and csd info to determine block size ++ * and other parameters ++ */ ++static uchar mmc_buf[MMC_BLOCK_SIZE]; ++static mmc_csd_t mmc_csd; ++static int mmc_ready = 0; ++static int wide = 0; ++ ++ ++#define CMD_F_RESP 0x01 ++#define CMD_F_RESP_LONG 0x02 ++ ++static u_int32_t * ++/****************************************************/ ++mmc_cmd(ushort cmd, ulong arg, ushort flags) ++/****************************************************/ ++{ ++ static u_int32_t resp[5]; ++ ulong status; ++ int i; ++ ++ u_int32_t ccon, csta; ++ u_int32_t csta_rdy_bit = S3C2410_SDICMDSTAT_CMDSENT; ++ ++ memset(resp, 0, sizeof(resp)); ++ ++ debug("mmc_cmd CMD%d arg=0x%08x flags=%x\n", cmd, arg, flags); ++ ++ sdi->SDICSTA = 0xffffffff; ++ sdi->SDIDSTA = 0xffffffff; ++ sdi->SDIFSTA = 0xffffffff; ++ ++ sdi->SDICARG = arg; ++ ++ ccon = cmd & S3C2410_SDICMDCON_INDEX; ++ ccon |= S3C2410_SDICMDCON_SENDERHOST|S3C2410_SDICMDCON_CMDSTART; ++ ++ if (flags & CMD_F_RESP) { ++ ccon |= S3C2410_SDICMDCON_WAITRSP; ++ csta_rdy_bit = S3C2410_SDICMDSTAT_RSPFIN; /* 1 << 9 */ ++ } ++ ++ if (flags & CMD_F_RESP_LONG) ++ ccon |= S3C2410_SDICMDCON_LONGRSP; ++ ++ sdi->SDICCON = ccon; ++ ++ while (1) { ++ csta = sdi->SDICSTA; ++ if (csta & csta_rdy_bit) ++ break; ++ if (csta & S3C2410_SDICMDSTAT_CMDTIMEOUT) { ++ printf("===============> MMC CMD Timeout\n"); ++ sdi->SDICSTA |= S3C2410_SDICMDSTAT_CMDTIMEOUT; ++ break; ++ } ++ } ++ ++ debug("final MMC CMD status 0x%x\n", csta); ++ ++ sdi->SDICSTA |= csta_rdy_bit; ++ ++ if (flags & CMD_F_RESP) { ++ resp[0] = sdi->SDIRSP0; ++ resp[1] = sdi->SDIRSP1; ++ resp[2] = sdi->SDIRSP2; ++ resp[3] = sdi->SDIRSP3; ++ } ++ ++#if 0 ++ for (i=0; i<4; i ++) { ++ debug("MMC resp[%d] = 0x%08x\n", i, resp[i]); ++ } ++#endif ++ ++ return resp; ++} ++ ++#define FIFO_FILL(host) ((host->SDIFSTA & S3C2410_SDIFSTA_COUNTMASK) >> 2) ++ ++static int ++/****************************************************/ ++mmc_block_read(uchar *dst, ulong src, ulong len) ++/****************************************************/ ++{ ++ u_int32_t dcon, fifo; ++ u_int32_t *dst_u32 = (u_int32_t *)dst; ++ u_int32_t *resp; ++ ++ if (len == 0) { ++ return 0; ++ } ++ ++ debug("mmc_block_rd dst %lx src %lx len %d\n", (ulong)dst, src, len); ++ ++ /* set block len */ ++ resp = mmc_cmd(MMC_CMD_SET_BLOCKLEN, len, CMD_F_RESP); ++ sdi->SDIBSIZE = len; ++ ++ //sdi->SDIPRE = 0xff; ++ ++ /* setup data */ ++ dcon = (len >> 9) & S3C2410_SDIDCON_BLKNUM_MASK; ++ dcon |= S3C2410_SDIDCON_BLOCKMODE; ++ dcon |= S3C2410_SDIDCON_RXAFTERCMD|S3C2410_SDIDCON_XFER_RXSTART; ++ if (wide) ++ dcon |= S3C2410_SDIDCON_WIDEBUS; ++ sdi->SDIDCON = dcon; ++ ++ /* send read command */ ++ resp = mmc_cmd(MMC_CMD_READ_BLOCK, src, CMD_F_RESP); ++ ++ while (len > 0) { ++ u_int32_t sdidsta = sdi->SDIDSTA; ++ fifo = FIFO_FILL(sdi); ++ if (sdidsta & (S3C2410_SDIDSTA_FIFOFAIL| ++ S3C2410_SDIDSTA_CRCFAIL| ++ S3C2410_SDIDSTA_RXCRCFAIL| ++ S3C2410_SDIDSTA_DATATIMEOUT)) { ++ printf("mmc_block_read: err SDIDSTA=0x%08x\n", sdidsta); ++ return -EIO; ++ } ++ ++ while (fifo--) { ++ //debug("dst_u32 = 0x%08x\n", dst_u32); ++ *(dst_u32++) = sdi->SDIDAT; ++ if (len >= 4) ++ len -= 4; ++ else { ++ len = 0; ++ break; ++ } ++ } ++ } ++ ++#if 1 ++ debug("waiting for SDIDSTA (currently 0x%08x\n", sdi->SDIDSTA); ++ while (!(sdi->SDIDSTA & (1 << 4))) {} ++ debug("done waiting for SDIDSTA (currently 0x%08x\n", sdi->SDIDSTA); ++#endif ++ ++ sdi->SDIDCON = 0; ++ ++#if 0 ++ if (!(sdi->SDIDSTA & S3C2410_SDIDSTA_XFERFINISH)) ++ printf("mmc_block_read; transfer not finished!\n"); ++#endif ++ ++ return 0; ++} ++ ++static int ++/****************************************************/ ++mmc_block_write(ulong dst, uchar *src, int len) ++/****************************************************/ ++{ ++#if 0 ++ uchar *resp; ++ ushort argh, argl; ++ ulong status; ++ ++ if (len == 0) { ++ return 0; ++ } ++ ++ debug("mmc_block_wr dst %lx src %lx len %d\n", dst, (ulong)src, len); ++ ++ argh = len >> 16; ++ argl = len & 0xffff; ++ ++ /* set block len */ ++ resp = mmc_cmd(MMC_CMD_SET_BLOCKLEN, argh, argl, CMD_F_RESP); ++ ++ /* send write command */ ++ argh = dst >> 16; ++ argl = dst & 0xffff; ++ MMC_STRPCL = MMC_STRPCL_STOP_CLK; ++ MMC_NOB = 1; ++ MMC_BLKLEN = len; ++ resp = mmc_cmd(MMC_CMD_WRITE_BLOCK, dst, CMD_F_RESP, ++ MMC_CMDAT_R1|MMC_CMDAT_WRITE|MMC_CMDAT_BLOCK|MMC_CMDAT_DATA_EN); ++ ++ MMC_I_MASK = ~MMC_I_MASK_TXFIFO_WR_REQ; ++ while (len) { ++ if (MMC_I_REG & MMC_I_REG_TXFIFO_WR_REQ) { ++ int i, bytes = min(32,len); ++ ++ for (i=0; i<bytes; i++) { ++ MMC_TXFIFO = *src++; ++ } ++ if (bytes < 32) { ++ MMC_PRTBUF = MMC_PRTBUF_BUF_PART_FULL; ++ } ++ len -= bytes; ++ } ++ status = MMC_STAT; ++ if (status & MMC_STAT_ERRORS) { ++ printf("MMC_STAT error %lx\n", status); ++ return -1; ++ } ++ } ++ MMC_I_MASK = ~MMC_I_MASK_DATA_TRAN_DONE; ++ while (!(MMC_I_REG & MMC_I_REG_DATA_TRAN_DONE)); ++ MMC_I_MASK = ~MMC_I_MASK_PRG_DONE; ++ while (!(MMC_I_REG & MMC_I_REG_PRG_DONE)); ++ status = MMC_STAT; ++ if (status & MMC_STAT_ERRORS) { ++ printf("MMC_STAT error %lx\n", status); ++ return -1; ++ } ++#endif ++ return 0; ++} ++ ++ ++int ++/****************************************************/ ++mmc_read(ulong src, uchar *dst, int size) ++/****************************************************/ ++{ ++ ulong end, part_start, part_end, part_len, aligned_start, aligned_end; ++ ulong mmc_block_size, mmc_block_address; ++ ++ if (size == 0) { ++ return 0; ++ } ++ ++ if (!mmc_ready) { ++ printf("Please initialize the MMC first\n"); ++ return -1; ++ } ++ ++ mmc_block_size = MMC_BLOCK_SIZE; ++ mmc_block_address = ~(mmc_block_size - 1); ++ ++ src -= CFG_MMC_BASE; ++ end = src + size; ++ part_start = ~mmc_block_address & src; ++ part_end = ~mmc_block_address & end; ++ aligned_start = mmc_block_address & src; ++ aligned_end = mmc_block_address & end; ++ ++ /* all block aligned accesses */ ++ debug("src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ src, (ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ if (part_start) { ++ part_len = mmc_block_size - part_start; ++ debug("ps src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ src, (ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ if ((mmc_block_read(mmc_buf, aligned_start, mmc_block_size)) < 0) { ++ return -1; ++ } ++ memcpy(dst, mmc_buf+part_start, part_len); ++ dst += part_len; ++ src += part_len; ++ } ++ debug("src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ src, (ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ for (; src < aligned_end; src += mmc_block_size, dst += mmc_block_size) { ++ debug("al src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ src, (ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ if ((mmc_block_read((uchar *)(dst), src, mmc_block_size)) < 0) { ++ return -1; ++ } ++ } ++ debug("src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ src, (ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ if (part_end && src < end) { ++ debug("pe src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ src, (ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ if ((mmc_block_read(mmc_buf, aligned_end, mmc_block_size)) < 0) { ++ return -1; ++ } ++ memcpy(dst, mmc_buf, part_end); ++ } ++ return 0; ++} ++ ++int ++/****************************************************/ ++mmc_write(uchar *src, ulong dst, int size) ++/****************************************************/ ++{ ++ ulong end, part_start, part_end, part_len, aligned_start, aligned_end; ++ ulong mmc_block_size, mmc_block_address; ++ ++ if (size == 0) { ++ return 0; ++ } ++ ++ if (!mmc_ready) { ++ printf("Please initialize the MMC first\n"); ++ return -1; ++ } ++ ++ mmc_block_size = MMC_BLOCK_SIZE; ++ mmc_block_address = ~(mmc_block_size - 1); ++ ++ dst -= CFG_MMC_BASE; ++ end = dst + size; ++ part_start = ~mmc_block_address & dst; ++ part_end = ~mmc_block_address & end; ++ aligned_start = mmc_block_address & dst; ++ aligned_end = mmc_block_address & end; ++ ++ /* all block aligned accesses */ ++ debug("src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ src, (ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ if (part_start) { ++ part_len = mmc_block_size - part_start; ++ debug("ps src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ (ulong)src, dst, end, part_start, part_end, aligned_start, aligned_end); ++ if ((mmc_block_read(mmc_buf, aligned_start, mmc_block_size)) < 0) { ++ return -1; ++ } ++ memcpy(mmc_buf+part_start, src, part_len); ++ if ((mmc_block_write(aligned_start, mmc_buf, mmc_block_size)) < 0) { ++ return -1; ++ } ++ dst += part_len; ++ src += part_len; ++ } ++ debug("src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ src, (ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ for (; dst < aligned_end; src += mmc_block_size, dst += mmc_block_size) { ++ debug("al src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ src, (ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ if ((mmc_block_write(dst, (uchar *)src, mmc_block_size)) < 0) { ++ return -1; ++ } ++ } ++ debug("src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ src, (ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ if (part_end && dst < end) { ++ debug("pe src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ src, (ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ if ((mmc_block_read(mmc_buf, aligned_end, mmc_block_size)) < 0) { ++ return -1; ++ } ++ memcpy(mmc_buf, src, part_end); ++ if ((mmc_block_write(aligned_end, mmc_buf, mmc_block_size)) < 0) { ++ return -1; ++ } ++ } ++ return 0; ++} ++ ++ulong ++/****************************************************/ ++mmc_bread(int dev_num, ulong blknr, ulong blkcnt, ulong *dst) ++/****************************************************/ ++{ ++ int mmc_block_size = MMC_BLOCK_SIZE; ++ ulong src = blknr * mmc_block_size + CFG_MMC_BASE; ++ ++ mmc_read(src, (uchar *)dst, blkcnt*mmc_block_size); ++ return blkcnt; ++} ++ ++static u_int16_t rca = MMC_DEFAULT_RCA; ++ ++static u_int32_t mmc_size(const struct mmc_csd *csd) ++{ ++ u_int32_t block_len, mult, blocknr; ++ ++ block_len = csd->read_bl_len << 12; ++ mult = csd->c_size_mult1 << 8; ++ blocknr = (csd->c_size+1) * mult; ++ ++ return blocknr * block_len; ++} ++ ++int ++/****************************************************/ ++mmc_init(int verbose) ++/****************************************************/ ++{ ++ int retries, rc = -ENODEV; ++ int is_sd = 0; ++ u_int32_t *resp; ++ S3C24X0_CLOCK_POWER * const clk_power = S3C24X0_GetBase_CLOCK_POWER(); ++ ++ sdi = S3C2410_GetBase_SDI(); ++ ++ debug("mmc_init(PCLK=%u)\n", get_PCLK()); ++ ++ clk_power->CLKCON |= (1 << 9); ++ ++ /* S3C2410 has some bug that prevents reliable operation at higher speed */ ++ //sdi->SDIPRE = 0x3e; /* SDCLK = PCLK/2 / (SDIPRE+1) = 396kHz */ ++ sdi->SDIPRE = 0x02; /* SDCLK = PCLK/2 / (SDIPRE+1) = 396kHz */ ++ sdi->SDIBSIZE = 512; ++ sdi->SDIDTIMER = 0xffff; ++ sdi->SDIIMSK = 0x0; ++ sdi->SDICON = S3C2410_SDICON_FIFORESET|S3C2440_SDICON_MMCCLOCK; ++ udelay(125000); /* FIXME: 74 SDCLK cycles */ ++ ++ mmc_csd.c_size = 0; ++ ++ /* reset */ ++ retries = 10; ++ resp = mmc_cmd(MMC_CMD_RESET, 0, 0); ++ ++ printf("trying to detect SD Card...\n"); ++ while (retries--) { ++ int i; ++ udelay(100000); ++ resp = mmc_cmd(55, 0x00000000, CMD_F_RESP); ++ resp = mmc_cmd(41, 0x00300000, CMD_F_RESP); ++ ++ if (resp[0] & (1 << 31)) { ++ is_sd = 1; ++ break; ++ } ++ } ++ ++ if (retries == 0 && !is_sd) { ++ retries = 10; ++ printf("failed to detect SD Card, trying MMC\n"); ++ resp = mmc_cmd(MMC_CMD_SEND_OP_COND, 0x00ffc000, CMD_F_RESP); ++ while (retries-- && resp && !(resp[4] & 0x80)) { ++ debug("resp %x %x\n", resp[0], resp[1]); ++ udelay(50); ++ resp = mmc_cmd(1, 0x00ffff00, CMD_F_RESP); ++ } ++ } ++ ++ /* try to get card id */ ++ resp = mmc_cmd(MMC_CMD_ALL_SEND_CID, 0, CMD_F_RESP|CMD_F_RESP_LONG); ++ if (resp) { ++ /* TODO configure mmc driver depending on card attributes */ ++ mmc_cid_t *cid = (mmc_cid_t *)resp; ++ if (verbose) { ++ printf("MMC found. Card desciption is:\n"); ++ printf("Manufacturer ID = %02x%02x%02x\n", ++ cid->id[0], cid->id[1], cid->id[2]); ++ printf("HW/FW Revision = %x %x\n",cid->hwrev, cid->fwrev); ++ cid->hwrev = cid->fwrev = 0; /* null terminate string */ ++ printf("Product Name = %s\n",cid->name); ++ printf("Serial Number = %02x%02x%02x\n", ++ cid->sn[0], cid->sn[1], cid->sn[2]); ++ printf("Month = %d\n",cid->month); ++ printf("Year = %d\n",1997 + cid->year); ++ } ++ /* fill in device description */ ++ mmc_dev.if_type = IF_TYPE_MMC; ++ mmc_dev.part_type = PART_TYPE_DOS; ++ mmc_dev.dev = 0; ++ mmc_dev.lun = 0; ++ mmc_dev.type = 0; ++ /* FIXME fill in the correct size (is set to 32MByte) */ ++ mmc_dev.blksz = 512; ++ mmc_dev.lba = 0x10000; ++ sprintf(mmc_dev.vendor,"Man %02x%02x%02x Snr %02x%02x%02x", ++ cid->id[0], cid->id[1], cid->id[2], ++ cid->sn[0], cid->sn[1], cid->sn[2]); ++ sprintf(mmc_dev.product,"%s",cid->name); ++ sprintf(mmc_dev.revision,"%x %x",cid->hwrev, cid->fwrev); ++ mmc_dev.removable = 0; ++ mmc_dev.block_read = mmc_bread; ++ ++ /* MMC exists, get CSD too */ ++ resp = mmc_cmd(MMC_CMD_SET_RCA, MMC_DEFAULT_RCA, CMD_F_RESP); ++ if (is_sd) ++ rca = resp[0] >> 16; ++ ++ resp = mmc_cmd(MMC_CMD_SEND_CSD, rca<<16, CMD_F_RESP|CMD_F_RESP_LONG); ++ if (resp) { ++ mmc_csd_t *csd = (mmc_csd_t *)resp; ++ memcpy(&mmc_csd, csd, sizeof(csd)); ++ rc = 0; ++ mmc_ready = 1; ++ /* FIXME add verbose printout for csd */ ++ printf("READ_BL_LEN=%u, C_SIZE_MULT=%u, C_SIZE=%u\n", ++ csd->read_bl_len, csd->c_size_mult1, csd->c_size); ++ printf("size = %u\n", mmc_size(csd)); ++ } ++ } ++ ++ resp = mmc_cmd(MMC_CMD_SELECT_CARD, rca<<16, CMD_F_RESP); ++ ++#ifdef CONFIG_MMC_WIDE ++ if (is_sd) { ++ resp = mmc_cmd(55, rca<<16, CMD_F_RESP); ++ resp = mmc_cmd(6, 0x02, CMD_F_RESP); ++ wide = 1; ++ } ++#endif ++ ++ fat_register_device(&mmc_dev,1); /* partitions start counting with 1 */ ++ ++ return rc; ++} ++ ++int ++mmc_ident(block_dev_desc_t *dev) ++{ ++ return 0; ++} ++ ++int ++mmc2info(ulong addr) ++{ ++ /* FIXME hard codes to 32 MB device */ ++ if (addr >= CFG_MMC_BASE && addr < CFG_MMC_BASE + 0x02000000) { ++ return 1; ++ } ++ return 0; ++} ++ ++#endif /* CONFIG_MMC */ +Index: git/cpu/arm920t/s3c24x0/nand.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/cpu/arm920t/s3c24x0/nand.c 2007-01-04 12:21:45.000000000 +0100 +@@ -0,0 +1,213 @@ ++/* ++ * (C) Copyright 2006 Harald Welte <hwelte@hmw-consulting.de> ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++#include <common.h> ++ ++#if 0 ++#define DEBUGN printf ++#else ++#define DEBUGN(x, args ...) {} ++#endif ++ ++#if (CONFIG_COMMANDS & CFG_CMD_NAND) ++#if !defined(CFG_NAND_LEGACY) ++ ++#include <nand.h> ++#include <s3c2410.h> ++ ++#define __REGb(x) (*(volatile unsigned char *)(x)) ++#define __REGi(x) (*(volatile unsigned int *)(x)) ++ ++#define NF_BASE 0x4e000000 ++#define NFCONF __REGi(NF_BASE + 0x0) ++#define NFCMD __REGb(NF_BASE + 0x4) ++#define NFADDR __REGb(NF_BASE + 0x8) ++#define NFDATA __REGb(NF_BASE + 0xc) ++#define NFSTAT __REGb(NF_BASE + 0x10) ++ ++#define S3C2410_NFCONF_EN (1<<15) ++#define S3C2410_NFCONF_512BYTE (1<<14) ++#define S3C2410_NFCONF_4STEP (1<<13) ++#define S3C2410_NFCONF_INITECC (1<<12) ++#define S3C2410_NFCONF_nFCE (1<<11) ++#define S3C2410_NFCONF_TACLS(x) ((x)<<8) ++#define S3C2410_NFCONF_TWRPH0(x) ((x)<<4) ++#define S3C2410_NFCONF_TWRPH1(x) ((x)<<0) ++ ++static u16 s3c2410_read_word(struct mtd_info *mtd) ++{ ++ unsigned char byte = 0; ++ ++ printf("s3c2410_read_word: WARNING, this function is not implemented yet\n"); ++ return byte; ++} ++ ++static void s3c2410_write_word(struct mtd_info *mtd, u16 word) ++{ ++ printf("s3c2410_write_word: WARNING, this function is not implemented yet\n"); ++} ++ ++static void s3c2410_hwcontrol(struct mtd_info *mtd, int cmd) ++{ ++ struct nand_chip *chip = mtd->priv; ++ ++ DEBUGN("hwcontrol(): 0x%02x: ", cmd); ++ ++ switch (cmd) { ++ case NAND_CTL_SETNCE: ++ NFCONF &= ~S3C2410_NFCONF_nFCE; ++ DEBUGN("NFCONF=0x%08x\n", NFCONF); ++ break; ++ case NAND_CTL_CLRNCE: ++ NFCONF |= S3C2410_NFCONF_nFCE; ++ DEBUGN("NFCONF=0x%08x\n", NFCONF); ++ break; ++ case NAND_CTL_SETALE: ++ chip->IO_ADDR_W = NF_BASE + 0x8; ++ DEBUGN("SETALE\n"); ++ break; ++ case NAND_CTL_SETCLE: ++ chip->IO_ADDR_W = NF_BASE + 0x4; ++ DEBUGN("SETCLE\n"); ++ break; ++ default: ++ chip->IO_ADDR_W = NF_BASE + 0xc; ++ break; ++ } ++ return; ++} ++ ++static int s3c2410_dev_ready(struct mtd_info *mtd) ++{ ++ DEBUGN("dev_ready\n"); ++ return (NFSTAT & 0x01); ++} ++ ++static void s3c2410_cmdfunc(struct mtd_info *mtd, unsigned cmd, ++ int column, int page_addr) ++{ ++ DEBUGN("cmdfunc(): 0x%02x, col=%d, page=%d\n", cmd, column, page_addr); ++ ++ switch (cmd) { ++ case NAND_CMD_READ0: ++ case NAND_CMD_READ1: ++ case NAND_CMD_READOOB: ++ NFCMD = cmd; ++ NFADDR = column & 0xff; ++ NFADDR = page_addr & 0xff; ++ NFADDR = (page_addr >> 8) & 0xff; ++ NFADDR = (page_addr >> 16) & 0xff; ++ break; ++ case NAND_CMD_READID: ++ NFCMD = cmd; ++ NFADDR = 0; ++ break; ++ case NAND_CMD_PAGEPROG: ++ NFCMD = cmd; ++ printf("PAGEPROG not implemented\n"); ++ break; ++ case NAND_CMD_ERASE1: ++ NFCMD = cmd; ++ NFADDR = page_addr & 0xff; ++ NFADDR = (page_addr >> 8) & 0xff; ++ NFADDR = (page_addr >> 16) & 0xff; ++ break; ++ case NAND_CMD_ERASE2: ++ NFCMD = cmd; ++ break; ++ case NAND_CMD_SEQIN: ++ printf("SEQIN not implemented\n"); ++ break; ++ case NAND_CMD_STATUS: ++ NFCMD = cmd; ++ break; ++ case NAND_CMD_RESET: ++ NFCMD = cmd; ++ break; ++ default: ++ break; ++ } ++ ++ while (!s3c2410_dev_ready(mtd)); ++} ++ ++int board_nand_init(struct nand_chip *nand) ++{ ++ u_int32_t cfg; ++ u_int8_t tacls, twrph0, twrph1; ++ S3C24X0_CLOCK_POWER * const clk_power = S3C24X0_GetBase_CLOCK_POWER(); ++ ++ DEBUGN("board_nand_init()\n"); ++ ++ clk_power->CLKCON |= (1 << 4); ++ ++ /* initialize hardware */ ++ twrph0 = 3; twrph1 = 0; tacls = 0; ++ ++ /* default timings: maximum */ ++ //twrph0 = 8; twrph1 = 8; tacls = 8; ++ ++ cfg = S3C2410_NFCONF_EN; ++ cfg |= S3C2410_NFCONF_TACLS(tacls - 1); ++ cfg |= S3C2410_NFCONF_TWRPH0(twrph0 - 1); ++ cfg |= S3C2410_NFCONF_TWRPH1(twrph1 - 1); ++ ++ //NFCONF = cfg; ++ NFCONF = 0xf842; ++ ++ /* initialize nand_chip data structure */ ++ nand->IO_ADDR_R = nand->IO_ADDR_W = 0x4e00000c; ++ ++ /* read_buf and write_buf are default */ ++ /* read_byte and write_byte are default */ ++ ++ /* need to override word read/write since default routines try 16bit wide ++ * register access of an (in our case) 8bit register */ ++ nand->read_word = s3c2410_read_word; ++ nand->write_word = s3c2410_write_word; ++ ++ /* hwcontrol always must be implemented */ ++ nand->hwcontrol = s3c2410_hwcontrol; ++ ++ nand->dev_ready = s3c2410_dev_ready; ++ ++ nand->eccmode = NAND_ECC_SOFT; ++ nand->options = 0; ++ //nand->waitfunc = dfc_wait; ++ ++ //nand->cmdfunc = s3c2410_cmdfunc; ++ //nand->autooob = &delta_oob; ++ //nand->badblock_pattern = &delta_bbt_descr; ++ ++#if 0 ++ /* reset */ ++ nand->hwcontrol(NULL, NAND_CTL_SETNCE); ++ nand->cmdfunc(NULL, NAND_CMD_RESET, -1, -1); ++ while (nand->dev_ready(NULL) == 0) {} ++ nand->hwcontrol(NULL, NAND_CTL_CLRNCE); ++#endif ++ ++ DEBUGN("end of nand_init\n"); ++ return 0; ++} ++ ++#else ++ #error "U-Boot legacy NAND support not available for S3C2410" ++#endif ++#endif +Index: git/cpu/arm920t/s3c24x0/nand_read.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/cpu/arm920t/s3c24x0/nand_read.c 2007-01-04 12:21:18.000000000 +0100 +@@ -0,0 +1,75 @@ ++/* ++ * nand_read.c: Simple NAND read functions for booting from NAND ++ * ++ * Taken from GPLv2 licensed vivi bootloader, ++ * Copyright (C) 2002 MIZI Research, Inc. ++ * ++ * Author: Hwang, Chideok <hwang@mizi.com> ++ * Date : $Date: 2004/02/04 10:37:37 $ ++ * ++ * u-boot integration (C) 2006 by Harald Welte <hwelte@hmw-consulting.de> ++ */ ++ ++#include <common.h> ++ ++#ifdef CONFIG_S3C2410_NAND_BOOT ++ ++#define __REGb(x) (*(volatile unsigned char *)(x)) ++#define __REGi(x) (*(volatile unsigned int *)(x)) ++#define NF_BASE 0x4e000000 ++#define NFCONF __REGi(NF_BASE + 0x0) ++#define NFCMD __REGb(NF_BASE + 0x4) ++#define NFADDR __REGb(NF_BASE + 0x8) ++#define NFDATA __REGb(NF_BASE + 0xc) ++#define NFSTAT __REGb(NF_BASE + 0x10) ++ ++#define BUSY 1 ++inline void wait_idle(void) { ++ int i; ++ ++ while(!(NFSTAT & BUSY)) ++ for(i=0; i<10; i++); ++} ++ ++#define NAND_SECTOR_SIZE 512 ++#define NAND_BLOCK_MASK (NAND_SECTOR_SIZE - 1) ++ ++/* low level nand read function */ ++int ++nand_read_ll(unsigned char *buf, unsigned long start_addr, int size) ++{ ++ int i, j; ++ ++ if ((start_addr & NAND_BLOCK_MASK) || (size & NAND_BLOCK_MASK)) { ++ return -1; /* invalid alignment */ ++ } ++ ++ /* chip Enable */ ++ NFCONF &= ~0x800; ++ for(i=0; i<10; i++); ++ ++ for(i=start_addr; i < (start_addr + size);) { ++ /* READ0 */ ++ NFCMD = 0; ++ ++ /* Write Address */ ++ NFADDR = i & 0xff; ++ NFADDR = (i >> 9) & 0xff; ++ NFADDR = (i >> 17) & 0xff; ++ NFADDR = (i >> 25) & 0xff; ++ ++ wait_idle(); ++ ++ for(j=0; j < NAND_SECTOR_SIZE; j++, i++) { ++ *buf = (NFDATA & 0xff); ++ buf++; ++ } ++ } ++ ++ /* chip Disable */ ++ NFCONF |= 0x800; /* chip disable */ ++ ++ return 0; ++} ++ ++#endif /* CONFIG_S3C2410_NAND_BOOT */ +Index: git/cpu/arm920t/start.S +=================================================================== +--- git.orig/cpu/arm920t/start.S 2007-01-04 12:21:15.000000000 +0100 ++++ git/cpu/arm920t/start.S 2007-01-04 12:21:18.000000000 +0100 +@@ -5,6 +5,10 @@ + * Copyright (c) 2002 Alex Züpke <azu@sysgo.de> + * Copyright (c) 2002 Gary Jennejohn <gj@denx.de> + * ++ * S3C2410 NAND portions ++ * Copyright (c) 2001 MIZI Research, Inc. ++ * Copyright (c) 2006 Harald Welte <hwelte@hmw-consulting.de> ++ * + * See file CREDITS for list of people who contributed to this + * project. + * +@@ -27,6 +31,7 @@ + + #include <config.h> + #include <version.h> ++#include <s3c2410.h> + + + /* +@@ -158,9 +163,17 @@ + */ + #ifndef CONFIG_SKIP_LOWLEVEL_INIT + bl cpu_init_crit ++#else ++ /* QT2410: configure bank 3 correctly to make ethernet work */ ++ ldr r1, =0x48000000 ++ ldr r2, =0x00001f4c ++ str r2, [r1, #0x10] ++ ldr r2, =0x2211d122 ++ str r2, [r1] + #endif + + #ifndef CONFIG_SKIP_RELOCATE_UBOOT ++#ifndef CONFIG_S3C2410_NAND_BOOT + relocate: /* relocate U-Boot to RAM */ + adr r0, _start /* r0 <- current position of code */ + ldr r1, _TEXT_BASE /* test if we run from flash or RAM */ +@@ -177,6 +190,93 @@ + stmia r1!, {r3-r10} /* copy to target address [r1] */ + cmp r0, r2 /* until source end addreee [r2] */ + ble copy_loop ++#else /* NAND_BOOT */ ++relocate: ++copy_myself: ++ /* mov r10, lr */ ++ ++ @ reset NAND ++ mov r1, #S3C2410_NAND_BASE ++ ldr r2, =0xf842 @ initial value enable tacls=3,rph0=6,rph1=0 ++ str r2, [r1, #oNFCONF] ++ ldr r2, [r1, #oNFCONF] ++ bic r2, r2, #0x800 @ enable chip ++ str r2, [r1, #oNFCONF] ++ mov r2, #0xff @ RESET command ++ strb r2, [r1, #oNFCMD] ++ mov r3, #0 @ wait ++1: add r3, r3, #0x1 ++ cmp r3, #0xa ++ blt 1b ++2: ldr r2, [r1, #oNFSTAT] @ wait ready ++ tst r2, #0x1 ++ beq 2b ++ ldr r2, [r1, #oNFCONF] ++ orr r2, r2, #0x800 @ disable chip ++ str r2, [r1, #oNFCONF] ++ ++#if 0 ++ @ get ready to call C functions (for nand_read()) ++ ldr sp, DW_STACK_START @ setup stack pointer ++ mov fp, #0 @ no previous frame, so fp=0 ++#else ++ ldr r0, _TEXT_BASE /* upper 128 KiB: relocated uboot */ ++ sub r0, r0, #CFG_MALLOC_LEN /* malloc area */ ++ sub r0, r0, #CFG_GBL_DATA_SIZE /* bdinfo */ ++#ifdef CONFIG_USE_IRQ ++ sub r0, r0, #(CONFIG_STACKSIZE_IRQ+CONFIG_STACKSIZE_FIQ) ++#endif ++ sub sp, r0, #12 /* leave 3 words for abort-stack */ ++#endif ++ ++ @ copy u-boot to RAM ++ ldr r0, _TEXT_BASE ++ mov r1, #0x0 ++ mov r2, #0x30000 ++ bl nand_read_ll ++ ++ tst r0, #0x0 ++ beq ok_nand_read ++#ifdef CONFIG_DEBUG_LL ++bad_nand_read: ++ ldr r0, STR_FAIL ++ ldr r1, SerBase ++ bl PrintWord ++1: b 1b @ infinite loop ++#endif ++ ++ok_nand_read: ++#ifdef CONFIG_DEBUG_LL ++ ldr r0, STR_OK ++ ldr r1, SerBase ++ bl PrintWord ++#endif ++ ++ @ verify ++ mov r0, #0 ++ @ldr r1, =0x33f00000 ++ ldr r1, _TEXT_BASE ++ mov r2, #0x400 @ 4 bytes * 1024 = 4K-bytes ++go_next: ++ ldr r3, [r0], #4 ++ ldr r4, [r1], #4 ++ teq r3, r4 ++ bne notmatch ++ subs r2, r2, #4 ++ beq done_nand_read ++ bne go_next ++notmatch: ++#ifdef CONFIG_DEBUG_LL ++ sub r0, r0, #4 ++ ldr r1, SerBase ++ bl PrintHexWord ++ ldr r0, STR_FAIL ++ ldr r1, SerBase ++ bl PrintWord ++#endif ++1: b 1b ++done_nand_read: ++#endif /* NAND_BOOT */ + #endif /* CONFIG_SKIP_RELOCATE_UBOOT */ + + /* Set up the stack */ +Index: git/drivers/Makefile +=================================================================== +--- git.orig/drivers/Makefile 2007-01-04 12:21:15.000000000 +0100 ++++ git/drivers/Makefile 2007-01-04 12:21:18.000000000 +0100 +@@ -51,7 +51,7 @@ + ks8695eth.o \ + pxa_pcmcia.o mpc8xx_pcmcia.o tqm8xx_pcmcia.o \ + rpx_pcmcia.o \ +- fsl_i2c.o ++ fsl_i2c.o s3c2410_fb.o + + SRCS := $(COBJS:.o=.c) + OBJS := $(addprefix $(obj),$(COBJS)) +Index: git/drivers/cs8900.c +=================================================================== +--- git.orig/drivers/cs8900.c 2007-01-04 12:21:15.000000000 +0100 ++++ git/drivers/cs8900.c 2007-01-04 12:21:18.000000000 +0100 +@@ -120,6 +120,7 @@ + unsigned char env_enetaddr[6]; + char *tmp = getenv ("ethaddr"); + char *end; ++ unsigned short chip_id; + + for (i=0; i<6; i++) { + env_enetaddr[i] = tmp ? simple_strtoul(tmp, &end, 16) : 0; +@@ -128,7 +129,9 @@ + } + + /* verify chip id */ +- if (get_reg_init_bus (PP_ChipID) != 0x630e) ++ chip_id = get_reg_init_bus (PP_ChipID); ++ printf("\ncs8900a chipid 0x%04x\n", chip_id); ++ if (chip_id != 0x630e) + return; + eth_reset (); + if ((get_reg (PP_SelfST) & (PP_SelfSTAT_EEPROM | PP_SelfSTAT_EEPROM_OK)) == +Index: git/drivers/s3c2410_fb.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/drivers/s3c2410_fb.c 2007-01-04 12:21:18.000000000 +0100 +@@ -0,0 +1,182 @@ ++/* ++ * (C) Copyright 2006 Harald Welte <hwelte@hmw-consulting.de> ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++#include <common.h> ++ ++#if defined(CONFIG_VIDEO_S3C2410) ++ ++#include <video_fb.h> ++#include "videomodes.h" ++#include <s3c2410.h> ++/* ++ * Export Graphic Device ++ */ ++GraphicDevice smi; ++ ++#define VIDEO_MEM_SIZE 0x200000 ++ ++/******************************************************************************* ++ * ++ * Init video chip with common Linux graphic modes (lilo) ++ */ ++void *video_hw_init (void) ++{ ++ S3C24X0_LCD * const lcd = S3C24X0_GetBase_LCD(); ++ GraphicDevice *pGD = (GraphicDevice *)&smi; ++ int videomode; ++ unsigned long t1, hsynch, vsynch; ++ char *penv; ++ int tmp, i, bits_per_pixel; ++ struct ctfb_res_modes *res_mode; ++ struct ctfb_res_modes var_mode; ++ unsigned char videoout; ++ unsigned int *vm; ++ ++ /* Search for video chip */ ++ printf("Video: "); ++ ++ tmp = 0; ++ ++ videomode = CFG_DEFAULT_VIDEO_MODE; ++ /* get video mode via environment */ ++ if ((penv = getenv ("videomode")) != NULL) { ++ /* deceide if it is a string */ ++ if (penv[0] <= '9') { ++ videomode = (int) simple_strtoul (penv, NULL, 16); ++ tmp = 1; ++ } ++ } else { ++ tmp = 1; ++ } ++ if (tmp) { ++ /* parameter are vesa modes */ ++ /* search params */ ++ for (i = 0; i < VESA_MODES_COUNT; i++) { ++ if (vesa_modes[i].vesanr == videomode) ++ break; ++ } ++ if (i == VESA_MODES_COUNT) { ++ printf ("no VESA Mode found, switching to mode 0x%x ", CFG_DEFAULT_VIDEO_MODE); ++ i = 0; ++ } ++ res_mode = ++ (struct ctfb_res_modes *) &res_mode_init[vesa_modes[i]. ++ resindex]; ++ bits_per_pixel = vesa_modes[i].bits_per_pixel; ++ } else { ++ ++ res_mode = (struct ctfb_res_modes *) &var_mode; ++ bits_per_pixel = video_get_params (res_mode, penv); ++ } ++ ++ /* calculate hsynch and vsynch freq (info only) */ ++ t1 = (res_mode->left_margin + res_mode->xres + ++ res_mode->right_margin + res_mode->hsync_len) / 8; ++ t1 *= 8; ++ t1 *= res_mode->pixclock; ++ t1 /= 1000; ++ hsynch = 1000000000L / t1; ++ t1 *= ++ (res_mode->upper_margin + res_mode->yres + ++ res_mode->lower_margin + res_mode->vsync_len); ++ t1 /= 1000; ++ vsynch = 1000000000L / t1; ++ ++ /* fill in Graphic device struct */ ++ sprintf (pGD->modeIdent, "%dx%dx%d %ldkHz %ldHz", res_mode->xres, ++ res_mode->yres, bits_per_pixel, (hsynch / 1000), ++ (vsynch / 1000)); ++ printf ("%s\n", pGD->modeIdent); ++ pGD->winSizeX = res_mode->xres; ++ pGD->winSizeY = res_mode->yres; ++ pGD->plnSizeX = res_mode->xres; ++ pGD->plnSizeY = res_mode->yres; ++ switch (bits_per_pixel) { ++ case 8: ++ pGD->gdfBytesPP = 1; ++ pGD->gdfIndex = GDF__8BIT_INDEX; ++ break; ++ case 15: ++ pGD->gdfBytesPP = 2; ++ pGD->gdfIndex = GDF_15BIT_555RGB; ++ break; ++ case 16: ++ pGD->gdfBytesPP = 2; ++ pGD->gdfIndex = GDF_16BIT_565RGB; ++ break; ++ case 24: ++ pGD->gdfBytesPP = 3; ++ pGD->gdfIndex = GDF_24BIT_888RGB; ++ break; ++ } ++ ++#if 0 ++ pGD->isaBase = CFG_ISA_IO; ++ pGD->pciBase = pci_mem_base; ++ pGD->dprBase = (pci_mem_base + 0x400000 + 0x8000); ++ pGD->vprBase = (pci_mem_base + 0x400000 + 0xc000); ++ pGD->cprBase = (pci_mem_base + 0x400000 + 0xe000); ++#endif ++ pGD->frameAdrs = LCD_VIDEO_ADDR; ++ pGD->memSize = VIDEO_MEM_SIZE; ++ ++ lcd->LCDSADDR1 = LCD_VIDEO_ADDR >> 1; ++ lcd->LCDSADDR2 = (LCD_VIDEO_ADDR + 0x4b000) >> 1; ++ lcd->LCDSADDR3 = 0x000000f0; ++ ++ lcd->LCDCON1 = 0x00000479; ++ lcd->LCDCON2 = 0x014fc183; ++ lcd->LCDCON3 = 0x0060ef07; ++ lcd->LCDCON4 = 0x00000003; ++ lcd->LCDCON5 = 0x00000b09; ++ lcd->LPCSEL = 0x00000cf0; ++ ++ pGD->winSizeX = pGD->plnSizeX = 240; ++ pGD->winSizeY = pGD->plnSizeY = 320; ++ pGD->gdfBytesPP = 2; ++ pGD->gdfIndex = GDF_16BIT_565RGB; ++ ++ /* Enable Display */ ++ videoout = 2; /* Default output is CRT */ ++ if ((penv = getenv ("videoout")) != NULL) { ++ /* deceide if it is a string */ ++ videoout = (int) simple_strtoul (penv, NULL, 16); ++ } ++ ++ printf("clearing video memory\n"); ++ /* Clear video memory */ ++ i = pGD->memSize/4; ++ vm = (unsigned int *)pGD->frameAdrs; ++ while(i--) ++ *vm++ = 0; ++ ++ printf("returning from video_hw_init\n"); ++ return ((void*)&smi); ++} ++ ++void ++video_set_lut (unsigned int index, /* color number */ ++ unsigned char r, /* red */ ++ unsigned char g, /* green */ ++ unsigned char b /* blue */ ++ ) ++{ ++} ++ ++#endif /* CONFIG_VIDEO_S3C2410 */ +Index: git/drivers/usbdcore_s3c2410.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/drivers/usbdcore_s3c2410.c 2007-01-04 12:21:18.000000000 +0100 +@@ -0,0 +1,1609 @@ ++/* ++ * (C) Copyright 2003 ++ * Gerry Hamel, geh@ti.com, Texas Instruments ++ * ++ * Based on ++ * linux/drivers/usb/device/bi/omap.c ++ * TI OMAP1510 USB bus interface driver ++ * ++ * Author: MontaVista Software, Inc. ++ * source@mvista.com ++ * (C) Copyright 2002 ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ */ ++ ++#include <common.h> ++ ++#if defined(CONFIG_S3C2410) && defined(CONFIG_USB_DEVICE) ++ ++#include <asm/io.h> ++ ++#include "usbdcore.h" ++#include "usbdcore_s3c2410.h" ++#include "usbdcore_ep0.h" ++ ++ ++#define UDC_INIT_MDELAY 80 /* Device settle delay */ ++#define UDC_MAX_ENDPOINTS 31 /* Number of endpoints on this UDC */ ++ ++/* Some kind of debugging output... */ ++#if 1 ++#define UDCDBG(str) ++#define UDCDBGA(fmt,args...) ++#else /* The bugs still exists... */ ++#define UDCDBG(str) serial_printf("[%s] %s:%d: " str "\n", __FILE__,__FUNCTION__,__LINE__) ++#define UDCDBGA(fmt,args...) serial_printf("[%s] %s:%d: " fmt "\n", __FILE__,__FUNCTION__,__LINE__, ##args) ++#endif ++ ++#if 1 ++#define UDCREG(name) ++#define UDCREGL(name) ++#else /* The bugs still exists... */ ++#define UDCREG(name) serial_printf("%s():%d: %s[%08x]=%.4x\n",__FUNCTION__,__LINE__, (#name), name, inw(name)) /* For 16-bit regs */ ++#define UDCREGL(name) serial_printf("%s():%d: %s[%08x]=%.8x\n",__FUNCTION__,__LINE__, (#name), name, inl(name)) /* For 32-bit regs */ ++#endif ++ ++ ++static struct urb *ep0_urb = NULL; ++ ++static struct usb_device_instance *udc_device; /* Used in interrupt handler */ ++static u16 udc_devstat = 0; /* UDC status (DEVSTAT) */ ++static u32 udc_interrupts = 0; ++ ++static void udc_stall_ep (unsigned int ep_addr); ++ ++ ++static struct usb_endpoint_instance *s3c2410_find_ep (int ep) ++{ ++ int i; ++ ++ for (i = 0; i < udc_device->bus->max_endpoints; i++) { ++ if (udc_device->bus->endpoint_array[i].endpoint_address == ep) ++ return &udc_device->bus->endpoint_array[i]; ++ } ++ return NULL; ++} ++ ++/* ************************************************************************** */ ++/* IO ++ */ ++ ++/* ++ * omap1510_prepare_endpoint_for_rx ++ * ++ * This function implements TRM Figure 14-11. ++ * ++ * The endpoint to prepare for transfer is specified as a physical endpoint ++ * number. For OUT (rx) endpoints 1 through 15, the corresponding endpoint ++ * configuration register is checked to see if the endpoint is ISO or not. ++ * If the OUT endpoint is valid and is non-ISO then its FIFO is enabled. ++ * No action is taken for endpoint 0 or for IN (tx) endpoints 16 through 30. ++ */ ++static void omap1510_prepare_endpoint_for_rx (int ep_addr) ++{ ++ int ep_num = ep_addr & USB_ENDPOINT_NUMBER_MASK; ++ ++ UDCDBGA ("omap1510_prepare_endpoint %x", ep_addr); ++ if (((ep_addr & USB_ENDPOINT_DIR_MASK) == USB_DIR_OUT)) { ++ if ((inw (UDC_EP_RX (ep_num)) & ++ (UDC_EPn_RX_Valid | UDC_EPn_RX_Iso)) == ++ UDC_EPn_RX_Valid) { ++ /* rx endpoint is valid, non-ISO, so enable its FIFO */ ++ outw (UDC_EP_Sel | ep_num, UDC_EP_NUM); ++ outw (UDC_Set_FIFO_En, UDC_CTRL); ++ outw (0, UDC_EP_NUM); ++ } ++ } ++} ++ ++/* omap1510_configure_endpoints ++ * ++ * This function implements TRM Figure 14-10. ++ */ ++static void omap1510_configure_endpoints (struct usb_device_instance *device) ++{ ++ int ep; ++ struct usb_bus_instance *bus; ++ struct usb_endpoint_instance *endpoint; ++ unsigned short ep_ptr; ++ unsigned short ep_size; ++ unsigned short ep_isoc; ++ unsigned short ep_doublebuffer; ++ int ep_addr; ++ int packet_size; ++ int buffer_size; ++ int attributes; ++ ++ bus = device->bus; ++ ++ /* There is a dedicated 2048 byte buffer for USB packets that may be ++ * arbitrarily partitioned among the endpoints on 8-byte boundaries. ++ * The first 8 bytes are reserved for receiving setup packets on ++ * endpoint 0. ++ */ ++ ep_ptr = 8; /* reserve the first 8 bytes for the setup fifo */ ++ ++ for (ep = 0; ep < bus->max_endpoints; ep++) { ++ endpoint = bus->endpoint_array + ep; ++ ep_addr = endpoint->endpoint_address; ++ if ((ep_addr & USB_ENDPOINT_DIR_MASK) == USB_DIR_IN) { ++ /* IN endpoint */ ++ packet_size = endpoint->tx_packetSize; ++ attributes = endpoint->tx_attributes; ++ } else { ++ /* OUT endpoint */ ++ packet_size = endpoint->rcv_packetSize; ++ attributes = endpoint->rcv_attributes; ++ } ++ ++ switch (packet_size) { ++ case 0: ++ ep_size = 0; ++ break; ++ case 8: ++ ep_size = 0; ++ break; ++ case 16: ++ ep_size = 1; ++ break; ++ case 32: ++ ep_size = 2; ++ break; ++ case 64: ++ ep_size = 3; ++ break; ++ case 128: ++ ep_size = 4; ++ break; ++ case 256: ++ ep_size = 5; ++ break; ++ case 512: ++ ep_size = 6; ++ break; ++ default: ++ UDCDBGA ("ep 0x%02x has bad packet size %d", ++ ep_addr, packet_size); ++ packet_size = 0; ++ ep_size = 0; ++ break; ++ } ++ ++ switch (attributes & USB_ENDPOINT_XFERTYPE_MASK) { ++ case USB_ENDPOINT_XFER_CONTROL: ++ case USB_ENDPOINT_XFER_BULK: ++ case USB_ENDPOINT_XFER_INT: ++ default: ++ /* A non-isochronous endpoint may optionally be ++ * double-buffered. For now we disable ++ * double-buffering. ++ */ ++ ep_doublebuffer = 0; ++ ep_isoc = 0; ++ if (packet_size > 64) ++ packet_size = 0; ++ if (!ep || !ep_doublebuffer) ++ buffer_size = packet_size; ++ else ++ buffer_size = packet_size * 2; ++ break; ++ case USB_ENDPOINT_XFER_ISOC: ++ /* Isochronous endpoints are always double- ++ * buffered, but the double-buffering bit ++ * in the endpoint configuration register ++ * becomes the msb of the endpoint size so we ++ * set the double-buffering flag to zero. ++ */ ++ ep_doublebuffer = 0; ++ ep_isoc = 1; ++ buffer_size = packet_size * 2; ++ break; ++ } ++ ++ /* check to see if our packet buffer RAM is exhausted */ ++ if ((ep_ptr + buffer_size) > 2048) { ++ UDCDBGA ("out of packet RAM for ep 0x%02x buf size %d", ep_addr, buffer_size); ++ buffer_size = packet_size = 0; ++ } ++ ++ /* force a default configuration for endpoint 0 since it is ++ * always enabled ++ */ ++ if (!ep && ((packet_size < 8) || (packet_size > 64))) { ++ buffer_size = packet_size = 64; ++ ep_size = 3; ++ } ++ ++ if (!ep) { ++ /* configure endpoint 0 */ ++ outw ((ep_size << 12) | (ep_ptr >> 3), UDC_EP0); ++ /*UDCDBGA("ep 0 buffer offset 0x%03x packet size 0x%03x", */ ++ /* ep_ptr, packet_size); */ ++ } else if ((ep_addr & USB_ENDPOINT_DIR_MASK) == USB_DIR_IN) { ++ /* IN endpoint */ ++ if (packet_size) { ++ outw ((1 << 15) | (ep_doublebuffer << 14) | ++ (ep_size << 12) | (ep_isoc << 11) | ++ (ep_ptr >> 3), ++ UDC_EP_TX (ep_addr & ++ USB_ENDPOINT_NUMBER_MASK)); ++ UDCDBGA ("IN ep %d buffer offset 0x%03x" ++ " packet size 0x%03x", ++ ep_addr & USB_ENDPOINT_NUMBER_MASK, ++ ep_ptr, packet_size); ++ } else { ++ outw (0, ++ UDC_EP_TX (ep_addr & ++ USB_ENDPOINT_NUMBER_MASK)); ++ } ++ } else { ++ /* OUT endpoint */ ++ if (packet_size) { ++ outw ((1 << 15) | (ep_doublebuffer << 14) | ++ (ep_size << 12) | (ep_isoc << 11) | ++ (ep_ptr >> 3), ++ UDC_EP_RX (ep_addr & ++ USB_ENDPOINT_NUMBER_MASK)); ++ UDCDBGA ("OUT ep %d buffer offset 0x%03x" ++ " packet size 0x%03x", ++ ep_addr & USB_ENDPOINT_NUMBER_MASK, ++ ep_ptr, packet_size); ++ } else { ++ outw (0, ++ UDC_EP_RX (ep_addr & ++ USB_ENDPOINT_NUMBER_MASK)); ++ } ++ } ++ ep_ptr += buffer_size; ++ } ++} ++ ++static void s3c2410_deconfigure_device (void) ++{ ++ int epnum; ++ ++ UDCDBG ("clear Cfg_Lock"); ++ outw (inw (UDC_SYSCON1) & ~UDC_Cfg_Lock, UDC_SYSCON1); ++ UDCREG (UDC_SYSCON1); ++ ++ /* deconfigure all endpoints */ ++ for (epnum = 1; epnum <= 15; epnum++) { ++ outw (0, UDC_EP_RX (epnum)); ++ outw (0, UDC_EP_TX (epnum)); ++ } ++} ++ ++static void s3c2410_configure_device (struct usb_device_instance *device) ++{ ++ u_int32_t tmp; ++ ++ s3c2410_configure_endpoints(device); ++ ++ /* disable EP0-4 SUBD interrupts ? */ ++ outw(0x00, S3C2410_UDC_USB_INT_EN_REG); ++ ++ /* UPLL already configured by board-level init code */ ++ ++ /* configure USB pads to device mode */ ++ tmp = inw(S3C2410_MISCCR); ++ tmp &= ~(S3C2410_MISCCR_USBHOST|S3C2410_MISCCR_USBSUSPND1); ++ outw(tmp, S3C2410_MISCCR); ++ ++ tmp = inb(S3C2410_CLKSLOW); ++ tmp &= ~S3C2410_CLKSLOW_USB_CLK_DISABLE; ++ outw(tmp, S3C2410_CLKSLOW); ++ ++ /* clear interrupt registers */ ++ inb(S3C2410_UDC_EP_INT_REG); ++ inb(S3C2410_UDC_USB_INT_REG); ++ ++ /* enable USB interrupts for RESET and SUSPEND/RESUME */ ++ outb(S3C2410_UDC_USBINT_RESET|S3C2410_UDC_USBINT_SUSPEND, ++ S3C2410_UDC_USB_INT_EN_REG); ++ ++} ++ ++/* omap1510_write_noniso_tx_fifo ++ * ++ * This function implements TRM Figure 14-30. ++ * ++ * If the endpoint has an active tx_urb, then the next packet of data from the ++ * URB is written to the tx FIFO. The total amount of data in the urb is given ++ * by urb->actual_length. The maximum amount of data that can be sent in any ++ * one packet is given by endpoint->tx_packetSize. The number of data bytes ++ * from this URB that have already been transmitted is given by endpoint->sent. ++ * endpoint->last is updated by this routine with the number of data bytes ++ * transmitted in this packet. ++ * ++ * In accordance with Figure 14-30, the EP_NUM register must already have been ++ * written with the value to select the appropriate tx FIFO before this routine ++ * is called. ++ */ ++static void omap1510_write_noniso_tx_fifo (struct usb_endpoint_instance ++ *endpoint) ++{ ++ struct urb *urb = endpoint->tx_urb; ++ ++ if (urb) { ++ unsigned int last, i; ++ ++ UDCDBGA ("urb->buffer %p, buffer_length %d, actual_length %d", ++ urb->buffer, urb->buffer_length, urb->actual_length); ++ if ((last = ++ MIN (urb->actual_length - endpoint->sent, ++ endpoint->tx_packetSize))) { ++ u8 *cp = urb->buffer + endpoint->sent; ++ ++ UDCDBGA ("endpoint->sent %d, tx_packetSize %d, last %d", endpoint->sent, endpoint->tx_packetSize, last); ++ ++ if (((u32) cp & 1) == 0) { /* word aligned? */ ++ outsw (UDC_DATA, cp, last >> 1); ++ } else { /* byte aligned. */ ++ for (i = 0; i < (last >> 1); i++) { ++ u16 w = ((u16) cp[2 * i + 1] << 8) | ++ (u16) cp[2 * i]; ++ outw (w, UDC_DATA); ++ } ++ } ++ if (last & 1) { ++ outb (*(cp + last - 1), UDC_DATA); ++ } ++ } ++ endpoint->last = last; ++ } ++} ++ ++/* omap1510_read_noniso_rx_fifo ++ * ++ * This function implements TRM Figure 14-28. ++ * ++ * If the endpoint has an active rcv_urb, then the next packet of data is read ++ * from the rcv FIFO and written to rcv_urb->buffer at offset ++ * rcv_urb->actual_length to append the packet data to the data from any ++ * previous packets for this transfer. We assume that there is sufficient room ++ * left in the buffer to hold an entire packet of data. ++ * ++ * The return value is the number of bytes read from the FIFO for this packet. ++ * ++ * In accordance with Figure 14-28, the EP_NUM register must already have been ++ * written with the value to select the appropriate rcv FIFO before this routine ++ * is called. ++ */ ++static int omap1510_read_noniso_rx_fifo (struct usb_endpoint_instance ++ *endpoint) ++{ ++ struct urb *urb = endpoint->rcv_urb; ++ int len = 0; ++ ++ if (urb) { ++ len = inw (UDC_RXFSTAT); ++ ++ if (len) { ++ unsigned char *cp = urb->buffer + urb->actual_length; ++ ++ insw (UDC_DATA, cp, len >> 1); ++ if (len & 1) ++ *(cp + len - 1) = inb (UDC_DATA); ++ } ++ } ++ return len; ++} ++ ++/* omap1510_prepare_for_control_write_status ++ * ++ * This function implements TRM Figure 14-17. ++ * ++ * We have to deal here with non-autodecoded control writes that haven't already ++ * been dealt with by ep0_recv_setup. The non-autodecoded standard control ++ * write requests are: set/clear endpoint feature, set configuration, set ++ * interface, and set descriptor. ep0_recv_setup handles set/clear requests for ++ * ENDPOINT_HALT by halting the endpoint for a set request and resetting the ++ * endpoint for a clear request. ep0_recv_setup returns an error for ++ * SET_DESCRIPTOR requests which causes them to be terminated with a stall by ++ * the setup handler. A SET_INTERFACE request is handled by ep0_recv_setup by ++ * generating a DEVICE_SET_INTERFACE event. This leaves only the ++ * SET_CONFIGURATION event for us to deal with here. ++ * ++ */ ++static void omap1510_prepare_for_control_write_status (struct urb *urb) ++{ ++ struct usb_device_request *request = &urb->device_request;; ++ ++ /* check for a SET_CONFIGURATION request */ ++ if (request->bRequest == USB_REQ_SET_CONFIGURATION) { ++ int configuration = le16_to_cpu (request->wValue) & 0xff; ++ unsigned short devstat = inw (UDC_DEVSTAT); ++ ++ if ((devstat & (UDC_ADD | UDC_CFG)) == UDC_ADD) { ++ /* device is currently in ADDRESSED state */ ++ if (configuration) { ++ /* Assume the specified non-zero configuration ++ * value is valid and switch to the CONFIGURED ++ * state. ++ */ ++ outw (UDC_Dev_Cfg, UDC_SYSCON2); ++ } ++ } else if ((devstat & UDC_CFG) == UDC_CFG) { ++ /* device is currently in CONFIGURED state */ ++ if (!configuration) { ++ /* Switch to ADDRESSED state. */ ++ outw (UDC_Clr_Cfg, UDC_SYSCON2); ++ } ++ } ++ } ++ ++ /* select EP0 tx FIFO */ ++ outw (UDC_EP_Dir | UDC_EP_Sel, UDC_EP_NUM); ++ /* clear endpoint (no data bytes in status stage) */ ++ outw (UDC_Clr_EP, UDC_CTRL); ++ /* enable the EP0 tx FIFO */ ++ outw (UDC_Set_FIFO_En, UDC_CTRL); ++ /* deselect the endpoint */ ++ outw (UDC_EP_Dir, UDC_EP_NUM); ++} ++ ++/* udc_state_transition_up ++ * udc_state_transition_down ++ * ++ * Helper functions to implement device state changes. The device states and ++ * the events that transition between them are: ++ * ++ * STATE_ATTACHED ++ * || /\ ++ * \/ || ++ * DEVICE_HUB_CONFIGURED DEVICE_HUB_RESET ++ * || /\ ++ * \/ || ++ * STATE_POWERED ++ * || /\ ++ * \/ || ++ * DEVICE_RESET DEVICE_POWER_INTERRUPTION ++ * || /\ ++ * \/ || ++ * STATE_DEFAULT ++ * || /\ ++ * \/ || ++ * DEVICE_ADDRESS_ASSIGNED DEVICE_RESET ++ * || /\ ++ * \/ || ++ * STATE_ADDRESSED ++ * || /\ ++ * \/ || ++ * DEVICE_CONFIGURED DEVICE_DE_CONFIGURED ++ * || /\ ++ * \/ || ++ * STATE_CONFIGURED ++ * ++ * udc_state_transition_up transitions up (in the direction from STATE_ATTACHED ++ * to STATE_CONFIGURED) from the specified initial state to the specified final ++ * state, passing through each intermediate state on the way. If the initial ++ * state is at or above (i.e. nearer to STATE_CONFIGURED) the final state, then ++ * no state transitions will take place. ++ * ++ * udc_state_transition_down transitions down (in the direction from ++ * STATE_CONFIGURED to STATE_ATTACHED) from the specified initial state to the ++ * specified final state, passing through each intermediate state on the way. ++ * If the initial state is at or below (i.e. nearer to STATE_ATTACHED) the final ++ * state, then no state transitions will take place. ++ * ++ * These functions must only be called with interrupts disabled. ++ */ ++static void udc_state_transition_up (usb_device_state_t initial, ++ usb_device_state_t final) ++{ ++ if (initial < final) { ++ switch (initial) { ++ case STATE_ATTACHED: ++ usbd_device_event_irq (udc_device, ++ DEVICE_HUB_CONFIGURED, 0); ++ if (final == STATE_POWERED) ++ break; ++ case STATE_POWERED: ++ usbd_device_event_irq (udc_device, DEVICE_RESET, 0); ++ if (final == STATE_DEFAULT) ++ break; ++ case STATE_DEFAULT: ++ usbd_device_event_irq (udc_device, ++ DEVICE_ADDRESS_ASSIGNED, 0); ++ if (final == STATE_ADDRESSED) ++ break; ++ case STATE_ADDRESSED: ++ usbd_device_event_irq (udc_device, DEVICE_CONFIGURED, ++ 0); ++ case STATE_CONFIGURED: ++ break; ++ default: ++ break; ++ } ++ } ++} ++ ++static void udc_state_transition_down (usb_device_state_t initial, ++ usb_device_state_t final) ++{ ++ if (initial > final) { ++ switch (initial) { ++ case STATE_CONFIGURED: ++ usbd_device_event_irq (udc_device, DEVICE_DE_CONFIGURED, 0); ++ if (final == STATE_ADDRESSED) ++ break; ++ case STATE_ADDRESSED: ++ usbd_device_event_irq (udc_device, DEVICE_RESET, 0); ++ if (final == STATE_DEFAULT) ++ break; ++ case STATE_DEFAULT: ++ usbd_device_event_irq (udc_device, DEVICE_POWER_INTERRUPTION, 0); ++ if (final == STATE_POWERED) ++ break; ++ case STATE_POWERED: ++ usbd_device_event_irq (udc_device, DEVICE_HUB_RESET, 0); ++ case STATE_ATTACHED: ++ break; ++ default: ++ break; ++ } ++ } ++} ++ ++/* Handle all device state changes. ++ * This function implements TRM Figure 14-21. ++ */ ++static void omap1510_udc_state_changed (void) ++{ ++ u16 bits; ++ u16 devstat = inw (UDC_DEVSTAT); ++ ++ UDCDBGA ("state changed, devstat %x, old %x", devstat, udc_devstat); ++ ++ bits = devstat ^ udc_devstat; ++ if (bits) { ++ if (bits & UDC_ATT) { ++ if (devstat & UDC_ATT) { ++ UDCDBG ("device attached and powered"); ++ udc_state_transition_up (udc_device->device_state, STATE_POWERED); ++ } else { ++ UDCDBG ("device detached or unpowered"); ++ udc_state_transition_down (udc_device->device_state, STATE_ATTACHED); ++ } ++ } ++ if (bits & UDC_USB_Reset) { ++ if (devstat & UDC_USB_Reset) { ++ UDCDBG ("device reset in progess"); ++ udc_state_transition_down (udc_device->device_state, STATE_POWERED); ++ } else { ++ UDCDBG ("device reset completed"); ++ } ++ } ++ if (bits & UDC_DEF) { ++ if (devstat & UDC_DEF) { ++ UDCDBG ("device entering default state"); ++ udc_state_transition_up (udc_device->device_state, STATE_DEFAULT); ++ } else { ++ UDCDBG ("device leaving default state"); ++ udc_state_transition_down (udc_device->device_state, STATE_POWERED); ++ } ++ } ++ if (bits & UDC_SUS) { ++ if (devstat & UDC_SUS) { ++ UDCDBG ("entering suspended state"); ++ usbd_device_event_irq (udc_device, DEVICE_BUS_INACTIVE, 0); ++ } else { ++ UDCDBG ("leaving suspended state"); ++ usbd_device_event_irq (udc_device, DEVICE_BUS_ACTIVITY, 0); ++ } ++ } ++ if (bits & UDC_R_WK_OK) { ++ UDCDBGA ("remote wakeup %s", (devstat & UDC_R_WK_OK) ++ ? "enabled" : "disabled"); ++ } ++ if (bits & UDC_ADD) { ++ if (devstat & UDC_ADD) { ++ UDCDBG ("default -> addressed"); ++ udc_state_transition_up (udc_device->device_state, STATE_ADDRESSED); ++ } else { ++ UDCDBG ("addressed -> default"); ++ udc_state_transition_down (udc_device->device_state, STATE_DEFAULT); ++ } ++ } ++ if (bits & UDC_CFG) { ++ if (devstat & UDC_CFG) { ++ UDCDBG ("device configured"); ++ /* The ep0_recv_setup function generates the ++ * DEVICE_CONFIGURED event when a ++ * USB_REQ_SET_CONFIGURATION setup packet is ++ * received, so we should already be in the ++ * state STATE_CONFIGURED. ++ */ ++ udc_state_transition_up (udc_device->device_state, STATE_CONFIGURED); ++ } else { ++ UDCDBG ("device deconfigured"); ++ udc_state_transition_down (udc_device->device_state, STATE_ADDRESSED); ++ } ++ } ++ } ++ ++ /* Clear interrupt source */ ++ outw (UDC_DS_Chg, UDC_IRQ_SRC); ++ ++ /* Save current DEVSTAT */ ++ udc_devstat = devstat; ++} ++ ++static void s3c2410_udc_ep0(void) ++{ ++ u_int8_t ep0csr; ++ ++ UDCDBG("-> Entering EP0 handler"); ++ ++ S3C2410_UDC_SETIX(EP0); ++ ep0csr = inb(S3C2410_UDC_IN_CSR1_REG); ++ ++ /* clear stall status */ ++ if (ep0csr & S3C2410_UDC_EP0_CSR_SENTSTL) { ++ clear_sp0_sst; ++ /* FIXME */ ++ ep0_idle(); ++ } ++ ++ if (ep0csr & S3C2410_UDC_EP0_CSR_SE ++ && dev->ep0state != EP0_IDLE) { ++ clear_ep0_se; ++ ep0_idle(); ++ } ++ ++ switch (dev->ep0state) { ++ case EP0_IDLE: ++ if (ep0crs & S3C2410_UDC_EP0_CSR_OPKRDY) { ++ } ++ break; ++ case EP0_IN_DATA_PHASE: ++ break; ++ case EP0_OUT_DATA_PHASE: ++ break; ++ case EP0_END_XFER: ++ break; ++ case EP0_STALL: ++ set_ep0_ss; ++ break; ++ } ++} ++ ++ ++} ++ ++/* Handle SETUP USB interrupt. ++ * This function implements TRM Figure 14-14. ++ */ ++static void omap1510_udc_setup (struct usb_endpoint_instance *endpoint) ++{ ++ UDCDBG ("-> Entering device setup"); ++ ++ do { ++ const int setup_pktsize = 8; ++ unsigned char *datap = ++ (unsigned char *) &ep0_urb->device_request; ++ ++ /* Gain access to EP 0 setup FIFO */ ++ outw (UDC_Setup_Sel, UDC_EP_NUM); ++ ++ /* Read control request data */ ++ insb (UDC_DATA, datap, setup_pktsize); ++ ++ UDCDBGA ("EP0 setup read [%x %x %x %x %x %x %x %x]", ++ *(datap + 0), *(datap + 1), *(datap + 2), ++ *(datap + 3), *(datap + 4), *(datap + 5), ++ *(datap + 6), *(datap + 7)); ++ ++ /* Reset EP0 setup FIFO */ ++ outw (0, UDC_EP_NUM); ++ } while (inw (UDC_IRQ_SRC) & UDC_Setup); ++ ++ /* Try to process setup packet */ ++ if (ep0_recv_setup (ep0_urb)) { ++ /* Not a setup packet, stall next EP0 transaction */ ++ udc_stall_ep (0); ++ UDCDBG ("can't parse setup packet, still waiting for setup"); ++ return; ++ } ++ ++ /* Check direction */ ++ if ((ep0_urb->device_request.bmRequestType & USB_REQ_DIRECTION_MASK) ++ == USB_REQ_HOST2DEVICE) { ++ UDCDBG ("control write on EP0"); ++ if (le16_to_cpu (ep0_urb->device_request.wLength)) { ++ /* We don't support control write data stages. ++ * The only standard control write request with a data ++ * stage is SET_DESCRIPTOR, and ep0_recv_setup doesn't ++ * support that so we just stall those requests. A ++ * function driver might support a non-standard ++ * write request with a data stage, but it isn't ++ * obvious what we would do with the data if we read it ++ * so we'll just stall it. It seems like the API isn't ++ * quite right here. ++ */ ++#if 0 ++ /* Here is what we would do if we did support control ++ * write data stages. ++ */ ++ ep0_urb->actual_length = 0; ++ outw (0, UDC_EP_NUM); ++ /* enable the EP0 rx FIFO */ ++ outw (UDC_Set_FIFO_En, UDC_CTRL); ++#else ++ /* Stall this request */ ++ UDCDBG ("Stalling unsupported EP0 control write data " ++ "stage."); ++ udc_stall_ep (0); ++#endif ++ } else { ++ omap1510_prepare_for_control_write_status (ep0_urb); ++ } ++ } else { ++ UDCDBG ("control read on EP0"); ++ /* The ep0_recv_setup function has already placed our response ++ * packet data in ep0_urb->buffer and the packet length in ++ * ep0_urb->actual_length. ++ */ ++ endpoint->tx_urb = ep0_urb; ++ endpoint->sent = 0; ++ /* select the EP0 tx FIFO */ ++ outw (UDC_EP_Dir | UDC_EP_Sel, UDC_EP_NUM); ++ /* Write packet data to the FIFO. omap1510_write_noniso_tx_fifo ++ * will update endpoint->last with the number of bytes written ++ * to the FIFO. ++ */ ++ omap1510_write_noniso_tx_fifo (endpoint); ++ /* enable the FIFO to start the packet transmission */ ++ outw (UDC_Set_FIFO_En, UDC_CTRL); ++ /* deselect the EP0 tx FIFO */ ++ outw (UDC_EP_Dir, UDC_EP_NUM); ++ } ++ ++ UDCDBG ("<- Leaving device setup"); ++} ++ ++/* Handle endpoint 0 RX interrupt ++ * This routine implements TRM Figure 14-16. ++ */ ++static void omap1510_udc_ep0_rx (struct usb_endpoint_instance *endpoint) ++{ ++ unsigned short status; ++ ++ UDCDBG ("RX on EP0"); ++ /* select EP0 rx FIFO */ ++ outw (UDC_EP_Sel, UDC_EP_NUM); ++ ++ status = inw (UDC_STAT_FLG); ++ ++ if (status & UDC_ACK) { ++ /* Check direction */ ++ if ((ep0_urb->device_request.bmRequestType ++ & USB_REQ_DIRECTION_MASK) == USB_REQ_HOST2DEVICE) { ++ /* This rx interrupt must be for a control write data ++ * stage packet. ++ * ++ * We don't support control write data stages. ++ * We should never end up here. ++ */ ++ ++ /* clear the EP0 rx FIFO */ ++ outw (UDC_Clr_EP, UDC_CTRL); ++ ++ /* deselect the EP0 rx FIFO */ ++ outw (0, UDC_EP_NUM); ++ ++ UDCDBG ("Stalling unexpected EP0 control write " ++ "data stage packet"); ++ udc_stall_ep (0); ++ } else { ++ /* This rx interrupt must be for a control read status ++ * stage packet. ++ */ ++ UDCDBG ("ACK on EP0 control read status stage packet"); ++ /* deselect EP0 rx FIFO */ ++ outw (0, UDC_EP_NUM); ++ } ++ } else if (status & UDC_STALL) { ++ UDCDBG ("EP0 stall during RX"); ++ /* deselect EP0 rx FIFO */ ++ outw (0, UDC_EP_NUM); ++ } else { ++ /* deselect EP0 rx FIFO */ ++ outw (0, UDC_EP_NUM); ++ } ++} ++ ++/* Handle endpoint 0 TX interrupt ++ * This routine implements TRM Figure 14-18. ++ */ ++static void omap1510_udc_ep0_tx (struct usb_endpoint_instance *endpoint) ++{ ++ unsigned short status; ++ struct usb_device_request *request = &ep0_urb->device_request; ++ ++ UDCDBG ("TX on EP0"); ++ /* select EP0 TX FIFO */ ++ outw (UDC_EP_Dir | UDC_EP_Sel, UDC_EP_NUM); ++ ++ status = inw (UDC_STAT_FLG); ++ if (status & UDC_ACK) { ++ /* Check direction */ ++ if ((request->bmRequestType & USB_REQ_DIRECTION_MASK) == ++ USB_REQ_HOST2DEVICE) { ++ /* This tx interrupt must be for a control write status ++ * stage packet. ++ */ ++ UDCDBG ("ACK on EP0 control write status stage packet"); ++ /* deselect EP0 TX FIFO */ ++ outw (UDC_EP_Dir, UDC_EP_NUM); ++ } else { ++ /* This tx interrupt must be for a control read data ++ * stage packet. ++ */ ++ int wLength = le16_to_cpu (request->wLength); ++ ++ /* Update our count of bytes sent so far in this ++ * transfer. ++ */ ++ endpoint->sent += endpoint->last; ++ ++ /* We are finished with this transfer if we have sent ++ * all of the bytes in our tx urb (urb->actual_length) ++ * unless we need a zero-length terminating packet. We ++ * need a zero-length terminating packet if we returned ++ * fewer bytes than were requested (wLength) by the host, ++ * and the number of bytes we returned is an exact ++ * multiple of the packet size endpoint->tx_packetSize. ++ */ ++ if ((endpoint->sent == ep0_urb->actual_length) ++ && ((ep0_urb->actual_length == wLength) ++ || (endpoint->last != ++ endpoint->tx_packetSize))) { ++ /* Done with control read data stage. */ ++ UDCDBG ("control read data stage complete"); ++ /* deselect EP0 TX FIFO */ ++ outw (UDC_EP_Dir, UDC_EP_NUM); ++ /* select EP0 RX FIFO to prepare for control ++ * read status stage. ++ */ ++ outw (UDC_EP_Sel, UDC_EP_NUM); ++ /* clear the EP0 RX FIFO */ ++ outw (UDC_Clr_EP, UDC_CTRL); ++ /* enable the EP0 RX FIFO */ ++ outw (UDC_Set_FIFO_En, UDC_CTRL); ++ /* deselect the EP0 RX FIFO */ ++ outw (0, UDC_EP_NUM); ++ } else { ++ /* We still have another packet of data to send ++ * in this control read data stage or else we ++ * need a zero-length terminating packet. ++ */ ++ UDCDBG ("ACK control read data stage packet"); ++ omap1510_write_noniso_tx_fifo (endpoint); ++ /* enable the EP0 tx FIFO to start transmission */ ++ outw (UDC_Set_FIFO_En, UDC_CTRL); ++ /* deselect EP0 TX FIFO */ ++ outw (UDC_EP_Dir, UDC_EP_NUM); ++ } ++ } ++ } else if (status & UDC_STALL) { ++ UDCDBG ("EP0 stall during TX"); ++ /* deselect EP0 TX FIFO */ ++ outw (UDC_EP_Dir, UDC_EP_NUM); ++ } else { ++ /* deselect EP0 TX FIFO */ ++ outw (UDC_EP_Dir, UDC_EP_NUM); ++ } ++} ++ ++/* Handle RX transaction on non-ISO endpoint. ++ * This function implements TRM Figure 14-27. ++ * The ep argument is a physical endpoint number for a non-ISO OUT endpoint ++ * in the range 1 to 15. ++ */ ++static void omap1510_udc_epn_rx (int ep) ++{ ++ unsigned short status; ++ ++ /* Check endpoint status */ ++ status = inw (UDC_STAT_FLG); ++ ++ if (status & UDC_ACK) { ++ int nbytes; ++ struct usb_endpoint_instance *endpoint = ++ omap1510_find_ep (ep); ++ ++ nbytes = omap1510_read_noniso_rx_fifo (endpoint); ++ usbd_rcv_complete (endpoint, nbytes, 0); ++ ++ /* enable rx FIFO to prepare for next packet */ ++ outw (UDC_Set_FIFO_En, UDC_CTRL); ++ } else if (status & UDC_STALL) { ++ UDCDBGA ("STALL on RX endpoint %d", ep); ++ } else if (status & UDC_NAK) { ++ UDCDBGA ("NAK on RX ep %d", ep); ++ } else { ++ serial_printf ("omap-bi: RX on ep %d with status %x", ep, ++ status); ++ } ++} ++ ++/* Handle TX transaction on non-ISO endpoint. ++ * This function implements TRM Figure 14-29. ++ * The ep argument is a physical endpoint number for a non-ISO IN endpoint ++ * in the range 16 to 30. ++ */ ++static void omap1510_udc_epn_tx (int ep) ++{ ++ unsigned short status; ++ ++ /*serial_printf("omap1510_udc_epn_tx( %x )\n",ep); */ ++ ++ /* Check endpoint status */ ++ status = inw (UDC_STAT_FLG); ++ ++ if (status & UDC_ACK) { ++ struct usb_endpoint_instance *endpoint = ++ omap1510_find_ep (ep); ++ ++ /* We need to transmit a terminating zero-length packet now if ++ * we have sent all of the data in this URB and the transfer ++ * size was an exact multiple of the packet size. ++ */ ++ if (endpoint->tx_urb ++ && (endpoint->last == endpoint->tx_packetSize) ++ && (endpoint->tx_urb->actual_length - endpoint->sent - ++ endpoint->last == 0)) { ++ /* Prepare to transmit a zero-length packet. */ ++ endpoint->sent += endpoint->last; ++ /* write 0 bytes of data to FIFO */ ++ omap1510_write_noniso_tx_fifo (endpoint); ++ /* enable tx FIFO to start transmission */ ++ outw (UDC_Set_FIFO_En, UDC_CTRL); ++ } else if (endpoint->tx_urb ++ && endpoint->tx_urb->actual_length) { ++ /* retire the data that was just sent */ ++ usbd_tx_complete (endpoint); ++ /* Check to see if we have more data ready to transmit ++ * now. ++ */ ++ if (endpoint->tx_urb ++ && endpoint->tx_urb->actual_length) { ++ /* write data to FIFO */ ++ omap1510_write_noniso_tx_fifo (endpoint); ++ /* enable tx FIFO to start transmission */ ++ outw (UDC_Set_FIFO_En, UDC_CTRL); ++ } ++ } ++ } else if (status & UDC_STALL) { ++ UDCDBGA ("STALL on TX endpoint %d", ep); ++ } else if (status & UDC_NAK) { ++ UDCDBGA ("NAK on TX endpoint %d", ep); ++ } else { ++ /*serial_printf("omap-bi: TX on ep %d with status %x\n", ep, status); */ ++ } ++} ++ ++ ++/* ++------------------------------------------------------------------------------- ++*/ ++ ++/* Handle general USB interrupts and dispatch according to type. ++ * This function implements TRM Figure 14-13. ++ */ ++void s3c2410_udc_irq (void) ++{ ++ u_int8_t save_idx = inb(S3C2410_UDC_INDEX_REG); ++ u_int8_t usb_status = inb(S3C2410_UDC_USB_INT_REG); ++ u_int8_t usbd_status = inb(S3C2410_UDC_EP_INT_REG); ++ ++ UDCDBGA("< IRQ usbs=0x%02x, usbds=0x%02x start >", usb_status, ++ usbd_status); ++ ++ if (usb_status & S3C2410_UDC_USBINT_RESET) { ++ valid_irq++; ++ } ++ ++ if (usb_status & S3C2410_UDC_USBINT_RESUME) { ++ valid_irq++; ++ ++ } ++ ++ if (usb_status & S3C2410_UDC_USBINT_SUSPEND) { ++ valid_irq++; ++ ++ } ++ ++ /* Endpoint Interrupts */ ++ if (usbd_status) { ++ int i; ++ ++ if (usbd_status & S3C2410_UDC_INT_EP0) { ++ s3c2410_udc_ep0(); ++ outb(S3C2410_UDC_INT_EP0, S3C2410_UDC_EP_INT_REG); ++ valid_irq++; ++ } ++ ++ for (i = 1; i < 5; i++) { ++ u_int32_t tmp = 1 << i; ++ ++ if (usbd_status & tmp) { ++ /* FIXME: Handle EP X */ ++ s3c2410_udc_epn(i); ++ outb(tmp, S3C2410_UDC_EP_INT_REG); ++ valid_irq++; ++ } ++ } ++ } ++ outb(save_idx, S3C2410_UDC_INDEX_REG); ++ ++#if 0 ++ if (!(irq_src & ~UDC_SOF_Flg)) /* ignore SOF interrupts ) */ ++ return; ++ ++ UDCDBGA ("< IRQ #%d start >- %x", udc_interrupts, irq_src); ++ /*serial_printf("< IRQ #%d start >- %x\n", udc_interrupts, irq_src); */ ++ ++ if (irq_src & UDC_DS_Chg) { ++ /* Device status changed */ ++ omap1510_udc_state_changed (); ++ valid_irq++; ++ } ++ if (irq_src & UDC_EP0_RX) { ++ /* Endpoint 0 receive */ ++ outw (UDC_EP0_RX, UDC_IRQ_SRC); /* ack interrupt */ ++ omap1510_udc_ep0_rx (udc_device->bus->endpoint_array + 0); ++ valid_irq++; ++ } ++ if (irq_src & UDC_EP0_TX) { ++ /* Endpoint 0 transmit */ ++ outw (UDC_EP0_TX, UDC_IRQ_SRC); /* ack interrupt */ ++ omap1510_udc_ep0_tx (udc_device->bus->endpoint_array + 0); ++ valid_irq++; ++ } ++ if (irq_src & UDC_Setup) { ++ /* Device setup */ ++ omap1510_udc_setup (udc_device->bus->endpoint_array + 0); ++ valid_irq++; ++ } ++ /*if (!valid_irq) */ ++ /* serial_printf("unknown interrupt, IRQ_SRC %.4x\n", irq_src); */ ++#endif ++ UDCDBGA ("< IRQ end >", udc_interrupts); ++ ++ udc_interrupts++; ++} ++ ++/* This function implements TRM Figure 14-26. */ ++void omap1510_udc_noniso_irq (void) ++{ ++ unsigned short epnum; ++ unsigned short irq_src = inw (UDC_IRQ_SRC); ++ int valid_irq = 0; ++ ++ if (!(irq_src & (UDC_EPn_RX | UDC_EPn_TX))) ++ return; ++ ++ UDCDBGA ("non-ISO IRQ, IRQ_SRC %x", inw (UDC_IRQ_SRC)); ++ ++ if (irq_src & UDC_EPn_RX) { /* Endpoint N OUT transaction */ ++ /* Determine the endpoint number for this interrupt */ ++ epnum = (inw (UDC_EPN_STAT) & 0x0f00) >> 8; ++ UDCDBGA ("RX on ep %x", epnum); ++ ++ /* acknowledge interrupt */ ++ outw (UDC_EPn_RX, UDC_IRQ_SRC); ++ ++ if (epnum) { ++ /* select the endpoint FIFO */ ++ outw (UDC_EP_Sel | epnum, UDC_EP_NUM); ++ ++ omap1510_udc_epn_rx (epnum); ++ ++ /* deselect the endpoint FIFO */ ++ outw (epnum, UDC_EP_NUM); ++ } ++ valid_irq++; ++ } ++ if (irq_src & UDC_EPn_TX) { /* Endpoint N IN transaction */ ++ /* Determine the endpoint number for this interrupt */ ++ epnum = (inw (UDC_EPN_STAT) & 0x000f) | USB_DIR_IN; ++ UDCDBGA ("TX on ep %x", epnum); ++ ++ /* acknowledge interrupt */ ++ outw (UDC_EPn_TX, UDC_IRQ_SRC); ++ ++ if (epnum) { ++ /* select the endpoint FIFO */ ++ outw (UDC_EP_Sel | UDC_EP_Dir | epnum, UDC_EP_NUM); ++ ++ omap1510_udc_epn_tx (epnum); ++ ++ /* deselect the endpoint FIFO */ ++ outw (UDC_EP_Dir | epnum, UDC_EP_NUM); ++ } ++ valid_irq++; ++ } ++ if (!valid_irq) ++ serial_printf (": unknown non-ISO interrupt, IRQ_SRC %.4x\n", ++ irq_src); ++} ++ ++/* ++------------------------------------------------------------------------------- ++*/ ++ ++ ++/* ++ * Start of public functions. ++ */ ++ ++/* Called to start packet transmission. */ ++void udc_endpoint_write (struct usb_endpoint_instance *endpoint) ++{ ++ unsigned short epnum = ++ endpoint->endpoint_address & USB_ENDPOINT_NUMBER_MASK; ++ ++ UDCDBGA ("Starting transmit on ep %x", epnum); ++ ++ if (endpoint->tx_urb) { ++ /* select the endpoint FIFO */ ++ outw (UDC_EP_Sel | UDC_EP_Dir | epnum, UDC_EP_NUM); ++ /* write data to FIFO */ ++ omap1510_write_noniso_tx_fifo (endpoint); ++ /* enable tx FIFO to start transmission */ ++ outw (UDC_Set_FIFO_En, UDC_CTRL); ++ /* deselect the endpoint FIFO */ ++ outw (UDC_EP_Dir | epnum, UDC_EP_NUM); ++ } ++} ++ ++/* Start to initialize h/w stuff */ ++int udc_init (void) ++{ ++ u16 udc_rev; ++ uchar value; ++ ulong gpio; ++ int i; ++ ++ /* Let the device settle down before we start */ ++ for (i = 0; i < UDC_INIT_MDELAY; i++) udelay(1000); ++ ++ udc_device = NULL; ++ ++ UDCDBG ("starting"); ++ ++ /* Check peripheral reset. Must be 1 to make sure ++ MPU TIPB peripheral reset is inactive */ ++ UDCREG (ARM_RSTCT2); ++ ++ /* Set and check clock control. ++ * We might ought to be using the clock control API to do ++ * this instead of fiddling with the clock registers directly ++ * here. ++ */ ++ outw ((1 << 4) | (1 << 5), CLOCK_CTRL); ++ UDCREG (CLOCK_CTRL); ++ /* Set and check APLL */ ++ outw (0x0008, APLL_CTRL); ++ UDCREG (APLL_CTRL); ++ /* Set and check DPLL */ ++ outw (0x2210, DPLL_CTRL); ++ UDCREG (DPLL_CTRL); ++ /* Set and check SOFT */ ++ outw ((1 << 4) | (1 << 3) | 1, SOFT_REQ); ++ /* Short delay to wait for DPLL */ ++ udelay (1000); ++ ++ /* Print banner with device revision */ ++ udc_rev = inw (UDC_REV) & 0xff; ++ printf ("USB: TI OMAP1510 USB function module rev %d.%d\n", ++ udc_rev >> 4, udc_rev & 0xf); ++ ++#ifdef CONFIG_OMAP_SX1 ++ i2c_read (0x32, 0x04, 1, &value, 1); ++ value |= 0x04; ++ i2c_write (0x32, 0x04, 1, &value, 1); ++ ++ i2c_read (0x32, 0x03, 1, &value, 1); ++ value |= 0x01; ++ i2c_write (0x32, 0x03, 1, &value, 1); ++ ++ gpio = inl(GPIO_PIN_CONTROL_REG); ++ gpio |= 0x0002; /* A_IRDA_OFF */ ++ gpio |= 0x0800; /* A_SWITCH */ ++ gpio |= 0x8000; /* A_USB_ON */ ++ outl (gpio, GPIO_PIN_CONTROL_REG); ++ ++ gpio = inl(GPIO_DIR_CONTROL_REG); ++ gpio &= ~0x0002; /* A_IRDA_OFF */ ++ gpio &= ~0x0800; /* A_SWITCH */ ++ gpio &= ~0x8000; /* A_USB_ON */ ++ outl (gpio, GPIO_DIR_CONTROL_REG); ++ ++ gpio = inl(GPIO_DATA_OUTPUT_REG); ++ gpio |= 0x0002; /* A_IRDA_OFF */ ++ gpio &= ~0x0800; /* A_SWITCH */ ++ gpio &= ~0x8000; /* A_USB_ON */ ++ outl (gpio, GPIO_DATA_OUTPUT_REG); ++#endif ++ ++ /* The VBUS_MODE bit selects whether VBUS detection is done via ++ * software (1) or hardware (0). When software detection is ++ * selected, VBUS_CTRL selects whether USB is not connected (0) ++ * or connected (1). ++ */ ++ outl (inl (FUNC_MUX_CTRL_0) | UDC_VBUS_MODE, FUNC_MUX_CTRL_0); ++ outl (inl (FUNC_MUX_CTRL_0) & ~UDC_VBUS_CTRL, FUNC_MUX_CTRL_0); ++ UDCREGL (FUNC_MUX_CTRL_0); ++ ++ /* ++ * At this point, device is ready for configuration... ++ */ ++ ++ UDCDBG ("disable USB interrupts"); ++ outw (0, UDC_IRQ_EN); ++ UDCREG (UDC_IRQ_EN); ++ ++ UDCDBG ("disable USB DMA"); ++ outw (0, UDC_DMA_IRQ_EN); ++ UDCREG (UDC_DMA_IRQ_EN); ++ ++ UDCDBG ("initialize SYSCON1"); ++ outw (UDC_Self_Pwr | UDC_Pullup_En, UDC_SYSCON1); ++ UDCREG (UDC_SYSCON1); ++ ++ return 0; ++} ++ ++/* Stall endpoint */ ++static void udc_stall_ep (unsigned int ep_addr) ++{ ++ /*int ep_addr = PHYS_EP_TO_EP_ADDR(ep); */ ++ int ep_num = ep_addr & USB_ENDPOINT_NUMBER_MASK; ++ ++ UDCDBGA ("stall ep_addr %d", ep_addr); ++ ++ /* REVISIT? ++ * The OMAP TRM section 14.2.4.2 says we must check that the FIFO ++ * is empty before halting the endpoint. The current implementation ++ * doesn't check that the FIFO is empty. ++ */ ++ ++ if (!ep_num) { ++ outw (UDC_Stall_Cmd, UDC_SYSCON2); ++ } else if ((ep_addr & USB_ENDPOINT_DIR_MASK) == USB_DIR_OUT) { ++ if (inw (UDC_EP_RX (ep_num)) & UDC_EPn_RX_Valid) { ++ /* we have a valid rx endpoint, so halt it */ ++ outw (UDC_EP_Sel | ep_num, UDC_EP_NUM); ++ outw (UDC_Set_Halt, UDC_CTRL); ++ outw (ep_num, UDC_EP_NUM); ++ } ++ } else { ++ if (inw (UDC_EP_TX (ep_num)) & UDC_EPn_TX_Valid) { ++ /* we have a valid tx endpoint, so halt it */ ++ outw (UDC_EP_Sel | UDC_EP_Dir | ep_num, UDC_EP_NUM); ++ outw (UDC_Set_Halt, UDC_CTRL); ++ outw (ep_num, UDC_EP_NUM); ++ } ++ } ++} ++ ++/* Reset endpoint */ ++#if 0 ++static void udc_reset_ep (unsigned int ep_addr) ++{ ++ /*int ep_addr = PHYS_EP_TO_EP_ADDR(ep); */ ++ int ep_num = ep_addr & USB_ENDPOINT_NUMBER_MASK; ++ ++ UDCDBGA ("reset ep_addr %d", ep_addr); ++ ++ if (!ep_num) { ++ /* control endpoint 0 can't be reset */ ++ } else if ((ep_addr & USB_ENDPOINT_DIR_MASK) == USB_DIR_OUT) { ++ UDCDBGA ("UDC_EP_RX(%d) = 0x%04x", ep_num, ++ inw (UDC_EP_RX (ep_num))); ++ if (inw (UDC_EP_RX (ep_num)) & UDC_EPn_RX_Valid) { ++ /* we have a valid rx endpoint, so reset it */ ++ outw (ep_num | UDC_EP_Sel, UDC_EP_NUM); ++ outw (UDC_Reset_EP, UDC_CTRL); ++ outw (ep_num, UDC_EP_NUM); ++ UDCDBGA ("OUT endpoint %d reset", ep_num); ++ } ++ } else { ++ UDCDBGA ("UDC_EP_TX(%d) = 0x%04x", ep_num, ++ inw (UDC_EP_TX (ep_num))); ++ /* Resetting of tx endpoints seems to be causing the USB function ++ * module to fail, which causes problems when the driver is ++ * uninstalled. We'll skip resetting tx endpoints for now until ++ * we figure out what the problem is. ++ */ ++#if 0 ++ if (inw (UDC_EP_TX (ep_num)) & UDC_EPn_TX_Valid) { ++ /* we have a valid tx endpoint, so reset it */ ++ outw (ep_num | UDC_EP_Dir | UDC_EP_Sel, UDC_EP_NUM); ++ outw (UDC_Reset_EP, UDC_CTRL); ++ outw (ep_num | UDC_EP_Dir, UDC_EP_NUM); ++ UDCDBGA ("IN endpoint %d reset", ep_num); ++ } ++#endif ++ } ++} ++#endif ++ ++/* ************************************************************************** */ ++ ++/** ++ * udc_check_ep - check logical endpoint ++ * ++ * Return physical endpoint number to use for this logical endpoint or zero if not valid. ++ */ ++#if 0 ++int udc_check_ep (int logical_endpoint, int packetsize) ++{ ++ if ((logical_endpoint == 0x80) || ++ ((logical_endpoint & 0x8f) != logical_endpoint)) { ++ return 0; ++ } ++ ++ switch (packetsize) { ++ case 8: ++ case 16: ++ case 32: ++ case 64: ++ case 128: ++ case 256: ++ case 512: ++ break; ++ default: ++ return 0; ++ } ++ ++ return EP_ADDR_TO_PHYS_EP (logical_endpoint); ++} ++#endif ++ ++/* ++ * udc_setup_ep - setup endpoint ++ * ++ * Associate a physical endpoint with endpoint_instance ++ */ ++void udc_setup_ep (struct usb_device_instance *device, ++ unsigned int ep, struct usb_endpoint_instance *endpoint) ++{ ++ UDCDBGA ("setting up endpoint addr %x", endpoint->endpoint_address); ++ ++ /* This routine gets called by bi_modinit for endpoint 0 and from ++ * bi_config for all of the other endpoints. bi_config gets called ++ * during the DEVICE_CREATE, DEVICE_CONFIGURED, and ++ * DEVICE_SET_INTERFACE events. We need to reconfigure the OMAP packet ++ * RAM after bi_config scans the selected device configuration and ++ * initializes the endpoint structures, but before this routine enables ++ * the OUT endpoint FIFOs. Since bi_config calls this routine in a ++ * loop for endpoints 1 through UDC_MAX_ENDPOINTS, we reconfigure our ++ * packet RAM here when ep==1. ++ * I really hate to do this here, but it seems like the API exported ++ * by the USB bus interface controller driver to the usbd-bi module ++ * isn't quite right so there is no good place to do this. ++ */ ++ if (ep == 1) { ++ omap1510_deconfigure_device (); ++ omap1510_configure_device (device); ++ } ++ ++ if (endpoint && (ep < UDC_MAX_ENDPOINTS)) { ++ int ep_addr = endpoint->endpoint_address; ++ ++ if (!ep_addr) { ++ /* nothing to do for endpoint 0 */ ++ } else if ((ep_addr & USB_ENDPOINT_DIR_MASK) == USB_DIR_IN) { ++ /* nothing to do for IN (tx) endpoints */ ++ } else { /* OUT (rx) endpoint */ ++ if (endpoint->rcv_packetSize) { ++ /*struct urb* urb = &(urb_out_array[ep&0xFF]); */ ++ /*urb->endpoint = endpoint; */ ++ /*urb->device = device; */ ++ /*urb->buffer_length = sizeof(urb->buffer); */ ++ ++ /*endpoint->rcv_urb = urb; */ ++ omap1510_prepare_endpoint_for_rx (ep_addr); ++ } ++ } ++ } ++} ++ ++/** ++ * udc_disable_ep - disable endpoint ++ * @ep: ++ * ++ * Disable specified endpoint ++ */ ++#if 0 ++void udc_disable_ep (unsigned int ep_addr) ++{ ++ /*int ep_addr = PHYS_EP_TO_EP_ADDR(ep); */ ++ int ep_num = ep_addr & USB_ENDPOINT_NUMBER_MASK; ++ struct usb_endpoint_instance *endpoint = omap1510_find_ep (ep_addr); /*udc_device->bus->endpoint_array + ep; */ ++ ++ UDCDBGA ("disable ep_addr %d", ep_addr); ++ ++ if (!ep_num) { ++ /* nothing to do for endpoint 0 */ ; ++ } else if ((ep_addr & USB_ENDPOINT_DIR_MASK) == USB_DIR_IN) { ++ if (endpoint->tx_packetSize) { ++ /* we have a valid tx endpoint */ ++ /*usbd_flush_tx(endpoint); */ ++ endpoint->tx_urb = NULL; ++ } ++ } else { ++ if (endpoint->rcv_packetSize) { ++ /* we have a valid rx endpoint */ ++ /*usbd_flush_rcv(endpoint); */ ++ endpoint->rcv_urb = NULL; ++ } ++ } ++} ++#endif ++ ++/* ************************************************************************** */ ++ ++/** ++ * udc_connected - is the USB cable connected ++ * ++ * Return non-zero if cable is connected. ++ */ ++#if 0 ++int udc_connected (void) ++{ ++ return ((inw (UDC_DEVSTAT) & UDC_ATT) == UDC_ATT); ++} ++#endif ++ ++/* Turn on the USB connection by enabling the pullup resistor */ ++void udc_connect (void) ++{ ++ UDCDBG ("connect, enable Pullup"); ++} ++ ++/* Turn off the USB connection by disabling the pullup resistor */ ++void udc_disconnect (void) ++{ ++ UDCDBG ("disconnect, disable Pullup"); ++} ++ ++/* ************************************************************************** */ ++ ++ ++/* ++ * udc_disable_interrupts - disable interrupts ++ * switch off interrupts ++ */ ++#if 0 ++void udc_disable_interrupts (struct usb_device_instance *device) ++{ ++ UDCDBG ("disabling all interrupts"); ++ outw (0, UDC_IRQ_EN); ++} ++#endif ++ ++/* ************************************************************************** */ ++ ++/** ++ * udc_ep0_packetsize - return ep0 packetsize ++ */ ++#if 0 ++int udc_ep0_packetsize (void) ++{ ++ return EP0_PACKETSIZE; ++} ++#endif ++ ++/* Switch on the UDC */ ++void udc_enable (struct usb_device_instance *device) ++{ ++ UDCDBGA ("enable device %p, status %d", device, device->status); ++ ++ /* initialize driver state variables */ ++ udc_devstat = 0; ++ ++ /* Save the device structure pointer */ ++ udc_device = device; ++ ++ /* Setup ep0 urb */ ++ if (!ep0_urb) { ++ ep0_urb = ++ usbd_alloc_urb (udc_device, ++ udc_device->bus->endpoint_array); ++ } else { ++ serial_printf ("udc_enable: ep0_urb already allocated %p\n", ++ ep0_urb); ++ } ++ ++#ifdef FIXME ++ /* The VBUS_MODE bit selects whether VBUS detection is done via ++ * software (1) or hardware (0). When software detection is ++ * selected, VBUS_CTRL selects whether USB is not connected (0) ++ * or connected (1). ++ */ ++ outl (inl (FUNC_MUX_CTRL_0) | UDC_VBUS_CTRL | UDC_VBUS_MODE, ++ FUNC_MUX_CTRL_0); ++ UDCREGL (FUNC_MUX_CTRL_0); ++#endif ++ ++ s3c2410_configure_device(device); ++} ++ ++/* Switch off the UDC */ ++void udc_disable (void) ++{ ++ UDCDBG ("disable UDC"); ++ ++ s3c2410_deconfigure_device(); ++ ++#ifdef FIXME ++ /* The VBUS_MODE bit selects whether VBUS detection is done via ++ * software (1) or hardware (0). When software detection is ++ * selected, VBUS_CTRL selects whether USB is not connected (0) ++ * or connected (1). ++ */ ++ outl (inl (FUNC_MUX_CTRL_0) | UDC_VBUS_MODE, FUNC_MUX_CTRL_0); ++ outl (inl (FUNC_MUX_CTRL_0) & ~UDC_VBUS_CTRL, FUNC_MUX_CTRL_0); ++ UDCREGL (FUNC_MUX_CTRL_0); ++#endif ++ ++ /* Free ep0 URB */ ++ if (ep0_urb) { ++ /*usbd_dealloc_urb(ep0_urb); */ ++ ep0_urb = NULL; ++ } ++ ++ /* Reset device pointer. ++ * We ought to do this here to balance the initialization of udc_device ++ * in udc_enable, but some of our other exported functions get called ++ * by the bus interface driver after udc_disable, so we have to hang on ++ * to the device pointer to avoid a null pointer dereference. */ ++ /* udc_device = NULL; */ ++} ++ ++/** ++ * udc_startup - allow udc code to do any additional startup ++ */ ++void udc_startup_events (struct usb_device_instance *device) ++{ ++ /* The DEVICE_INIT event puts the USB device in the state STATE_INIT. */ ++ usbd_device_event_irq (device, DEVICE_INIT, 0); ++ ++ /* The DEVICE_CREATE event puts the USB device in the state ++ * STATE_ATTACHED. ++ */ ++ usbd_device_event_irq (device, DEVICE_CREATE, 0); ++ ++ /* Some USB controller driver implementations signal ++ * DEVICE_HUB_CONFIGURED and DEVICE_RESET events here. ++ * DEVICE_HUB_CONFIGURED causes a transition to the state STATE_POWERED, ++ * and DEVICE_RESET causes a transition to the state STATE_DEFAULT. ++ * The OMAP USB client controller has the capability to detect when the ++ * USB cable is connected to a powered USB bus via the ATT bit in the ++ * DEVSTAT register, so we will defer the DEVICE_HUB_CONFIGURED and ++ * DEVICE_RESET events until later. ++ */ ++ ++ udc_enable (device); ++} ++ ++#endif +Index: git/fs/cramfs/cramfs.c +=================================================================== +--- git.orig/fs/cramfs/cramfs.c 2007-01-04 12:21:15.000000000 +0100 ++++ git/fs/cramfs/cramfs.c 2007-01-04 12:21:18.000000000 +0100 +@@ -27,7 +27,7 @@ + #include <common.h> + #include <malloc.h> + +-#if (CONFIG_COMMANDS & CFG_CMD_JFFS2) ++#if (CONFIG_COMMANDS & CFG_CMD_CRAMFS) + + #include <asm/byteorder.h> + #include <linux/stat.h> +@@ -343,5 +343,22 @@ + } + return 1; + } +- ++#else ++int cramfs_load (char *loadoffset, struct part_info *info, char *filename) ++{ ++ return -1; ++} ++int cramfs_ls (struct part_info *info, char *filename) ++{ ++ return 0; ++} ++int cramfs_info (struct part_info *info) ++{ ++ return 0; ++} ++int cramfs_check (struct part_info *info) ++{ ++ return 0; ++} + #endif /* CFG_FS_CRAMFS */ ++ +Index: git/include/asm-arm/arch-s3c24x0/mmc.h +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/include/asm-arm/arch-s3c24x0/mmc.h 2007-01-04 12:21:18.000000000 +0100 +@@ -0,0 +1,112 @@ ++/* ++ * linux/drivers/mmc/mmc_pxa.h ++ * ++ * Author: Vladimir Shebordaev, Igor Oblakov ++ * Copyright: MontaVista Software Inc. ++ * ++ * $Id: mmc_pxa.h,v 0.3.1.6 2002/09/25 19:25:48 ted Exp ted $ ++ * ++ * 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. ++ */ ++#ifndef __MMC_PXA_P_H__ ++#define __MMC_PXA_P_H__ ++ ++#include <asm/arch/regs-sdi.h> ++ ++#define MMC_DEFAULT_RCA (1<<16) ++ ++#define MMC_BLOCK_SIZE 512 ++#define MMC_CMD_RESET 0 ++#define MMC_CMD_SEND_OP_COND 1 ++#define MMC_CMD_ALL_SEND_CID 2 ++#define MMC_CMD_SET_RCA 3 ++#define MMC_CMD_SELECT_CARD 7 ++#define MMC_CMD_SEND_CSD 9 ++#define MMC_CMD_SEND_CID 10 ++#define MMC_CMD_SEND_STATUS 13 ++#define MMC_CMD_SET_BLOCKLEN 16 ++#define MMC_CMD_READ_BLOCK 17 ++#define MMC_CMD_RD_BLK_MULTI 18 ++#define MMC_CMD_WRITE_BLOCK 24 ++ ++#define MMC_MAX_BLOCK_SIZE 512 ++ ++#define MMC_R1_IDLE_STATE 0x01 ++#define MMC_R1_ERASE_STATE 0x02 ++#define MMC_R1_ILLEGAL_CMD 0x04 ++#define MMC_R1_COM_CRC_ERR 0x08 ++#define MMC_R1_ERASE_SEQ_ERR 0x01 ++#define MMC_R1_ADDR_ERR 0x02 ++#define MMC_R1_PARAM_ERR 0x04 ++ ++#define MMC_R1B_WP_ERASE_SKIP 0x0002 ++#define MMC_R1B_ERR 0x0004 ++#define MMC_R1B_CC_ERR 0x0008 ++#define MMC_R1B_CARD_ECC_ERR 0x0010 ++#define MMC_R1B_WP_VIOLATION 0x0020 ++#define MMC_R1B_ERASE_PARAM 0x0040 ++#define MMC_R1B_OOR 0x0080 ++#define MMC_R1B_IDLE_STATE 0x0100 ++#define MMC_R1B_ERASE_RESET 0x0200 ++#define MMC_R1B_ILLEGAL_CMD 0x0400 ++#define MMC_R1B_COM_CRC_ERR 0x0800 ++#define MMC_R1B_ERASE_SEQ_ERR 0x1000 ++#define MMC_R1B_ADDR_ERR 0x2000 ++#define MMC_R1B_PARAM_ERR 0x4000 ++ ++typedef struct mmc_cid ++{ ++/* FIXME: BYTE_ORDER */ ++ uchar year:4, ++ month:4; ++ uchar sn[3]; ++ uchar fwrev:4, ++ hwrev:4; ++ uchar name[6]; ++ uchar id[3]; ++} mmc_cid_t; ++ ++typedef struct mmc_csd ++{ ++ uchar ecc:2, ++ file_format:2, ++ tmp_write_protect:1, ++ perm_write_protect:1, ++ copy:1, ++ file_format_grp:1; ++ uint64_t content_prot_app:1, ++ rsvd3:4, ++ write_bl_partial:1, ++ write_bl_len:4, ++ r2w_factor:3, ++ default_ecc:2, ++ wp_grp_enable:1, ++ wp_grp_size:5, ++ erase_grp_mult:5, ++ erase_grp_size:5, ++ c_size_mult1:3, ++ vdd_w_curr_max:3, ++ vdd_w_curr_min:3, ++ vdd_r_curr_max:3, ++ vdd_r_curr_min:3, ++ c_size:12, ++ rsvd2:2, ++ dsr_imp:1, ++ read_blk_misalign:1, ++ write_blk_misalign:1, ++ read_bl_partial:1; ++ ++ ushort read_bl_len:4, ++ ccc:12; ++ uchar tran_speed; ++ uchar nsac; ++ uchar taac; ++ uchar rsvd1:2, ++ spec_vers:4, ++ csd_structure:2; ++} mmc_csd_t; ++ ++ ++#endif /* __MMC_PXA_P_H__ */ +Index: git/include/asm-arm/arch-s3c24x0/regs-sdi.h +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/include/asm-arm/arch-s3c24x0/regs-sdi.h 2007-01-04 12:21:18.000000000 +0100 +@@ -0,0 +1,110 @@ ++/* linux/include/asm/arch-s3c2410/regs-sdi.h ++ * ++ * Copyright (c) 2004 Simtec Electronics <linux@simtec.co.uk> ++ * http://www.simtec.co.uk/products/SWLINUX/ ++ * ++ * 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. ++ * ++ * S3C2410 MMC/SDIO register definitions ++ * ++ * Changelog: ++ * 18-Aug-2004 Ben Dooks Created initial file ++ * 29-Nov-2004 Koen Martens Added some missing defines, fixed duplicates ++ * 29-Nov-2004 Ben Dooks Updated Koen's patch ++*/ ++ ++#ifndef __ASM_ARM_REGS_SDI ++#define __ASM_ARM_REGS_SDI "regs-sdi.h" ++ ++#define S3C2440_SDICON_SDRESET (1<<8) ++#define S3C2440_SDICON_MMCCLOCK (1<<5) ++#define S3C2410_SDICON_BYTEORDER (1<<4) ++#define S3C2410_SDICON_SDIOIRQ (1<<3) ++#define S3C2410_SDICON_RWAITEN (1<<2) ++#define S3C2410_SDICON_FIFORESET (1<<1) ++#define S3C2410_SDICON_CLOCKTYPE (1<<0) ++ ++#define S3C2410_SDICMDCON_ABORT (1<<12) ++#define S3C2410_SDICMDCON_WITHDATA (1<<11) ++#define S3C2410_SDICMDCON_LONGRSP (1<<10) ++#define S3C2410_SDICMDCON_WAITRSP (1<<9) ++#define S3C2410_SDICMDCON_CMDSTART (1<<8) ++#define S3C2410_SDICMDCON_SENDERHOST (1<<6) ++#define S3C2410_SDICMDCON_INDEX (0x3f) ++ ++#define S3C2410_SDICMDSTAT_CRCFAIL (1<<12) ++#define S3C2410_SDICMDSTAT_CMDSENT (1<<11) ++#define S3C2410_SDICMDSTAT_CMDTIMEOUT (1<<10) ++#define S3C2410_SDICMDSTAT_RSPFIN (1<<9) ++#define S3C2410_SDICMDSTAT_XFERING (1<<8) ++#define S3C2410_SDICMDSTAT_INDEX (0xff) ++ ++#define S3C2440_SDIDCON_DS_BYTE (0<<22) ++#define S3C2440_SDIDCON_DS_HALFWORD (1<<22) ++#define S3C2440_SDIDCON_DS_WORD (2<<22) ++#define S3C2410_SDIDCON_IRQPERIOD (1<<21) ++#define S3C2410_SDIDCON_TXAFTERRESP (1<<20) ++#define S3C2410_SDIDCON_RXAFTERCMD (1<<19) ++#define S3C2410_SDIDCON_BUSYAFTERCMD (1<<18) ++#define S3C2410_SDIDCON_BLOCKMODE (1<<17) ++#define S3C2410_SDIDCON_WIDEBUS (1<<16) ++#define S3C2410_SDIDCON_DMAEN (1<<15) ++#define S3C2410_SDIDCON_STOP (1<<14) ++#define S3C2440_SDIDCON_DATSTART (1<<14) ++#define S3C2410_SDIDCON_DATMODE (3<<12) ++#define S3C2410_SDIDCON_BLKNUM (0x7ff) ++ ++/* constants for S3C2410_SDIDCON_DATMODE */ ++#define S3C2410_SDIDCON_XFER_READY (0<<12) ++#define S3C2410_SDIDCON_XFER_CHKSTART (1<<12) ++#define S3C2410_SDIDCON_XFER_RXSTART (2<<12) ++#define S3C2410_SDIDCON_XFER_TXSTART (3<<12) ++ ++#define S3C2410_SDIDCON_BLKNUM_MASK (0xFFF) ++#define S3C2410_SDIDCNT_BLKNUM_SHIFT (12) ++ ++#define S3C2410_SDIDSTA_RDYWAITREQ (1<<10) ++#define S3C2410_SDIDSTA_SDIOIRQDETECT (1<<9) ++#define S3C2410_SDIDSTA_FIFOFAIL (1<<8) /* reserved on 2440 */ ++#define S3C2410_SDIDSTA_CRCFAIL (1<<7) ++#define S3C2410_SDIDSTA_RXCRCFAIL (1<<6) ++#define S3C2410_SDIDSTA_DATATIMEOUT (1<<5) ++#define S3C2410_SDIDSTA_XFERFINISH (1<<4) ++#define S3C2410_SDIDSTA_BUSYFINISH (1<<3) ++#define S3C2410_SDIDSTA_SBITERR (1<<2) /* reserved on 2410a/2440 */ ++#define S3C2410_SDIDSTA_TXDATAON (1<<1) ++#define S3C2410_SDIDSTA_RXDATAON (1<<0) ++ ++#define S3C2440_SDIFSTA_FIFORESET (1<<16) ++#define S3C2440_SDIFSTA_FIFOFAIL (3<<14) /* 3 is correct (2 bits) */ ++#define S3C2410_SDIFSTA_TFDET (1<<13) ++#define S3C2410_SDIFSTA_RFDET (1<<12) ++#define S3C2410_SDIFSTA_TFHALF (1<<11) ++#define S3C2410_SDIFSTA_TFEMPTY (1<<10) ++#define S3C2410_SDIFSTA_RFLAST (1<<9) ++#define S3C2410_SDIFSTA_RFFULL (1<<8) ++#define S3C2410_SDIFSTA_RFHALF (1<<7) ++#define S3C2410_SDIFSTA_COUNTMASK (0x7f) ++ ++#define S3C2410_SDIIMSK_RESPONSECRC (1<<17) ++#define S3C2410_SDIIMSK_CMDSENT (1<<16) ++#define S3C2410_SDIIMSK_CMDTIMEOUT (1<<15) ++#define S3C2410_SDIIMSK_RESPONSEND (1<<14) ++#define S3C2410_SDIIMSK_READWAIT (1<<13) ++#define S3C2410_SDIIMSK_SDIOIRQ (1<<12) ++#define S3C2410_SDIIMSK_FIFOFAIL (1<<11) ++#define S3C2410_SDIIMSK_CRCSTATUS (1<<10) ++#define S3C2410_SDIIMSK_DATACRC (1<<9) ++#define S3C2410_SDIIMSK_DATATIMEOUT (1<<8) ++#define S3C2410_SDIIMSK_DATAFINISH (1<<7) ++#define S3C2410_SDIIMSK_BUSYFINISH (1<<6) ++#define S3C2410_SDIIMSK_SBITERR (1<<5) /* reserved 2440/2410a */ ++#define S3C2410_SDIIMSK_TXFIFOHALF (1<<4) ++#define S3C2410_SDIIMSK_TXFIFOEMPTY (1<<3) ++#define S3C2410_SDIIMSK_RXFIFOLAST (1<<2) ++#define S3C2410_SDIIMSK_RXFIFOFULL (1<<1) ++#define S3C2410_SDIIMSK_RXFIFOHALF (1<<0) ++ ++#endif /* __ASM_ARM_REGS_SDI */ +Index: git/include/asm-arm/mach-types.h +=================================================================== +--- git.orig/include/asm-arm/mach-types.h 2007-01-04 12:21:15.000000000 +0100 ++++ git/include/asm-arm/mach-types.h 2007-01-04 12:21:18.000000000 +0100 +@@ -424,7 +424,7 @@ + #define MACH_TYPE_MPORT3S 411 + #define MACH_TYPE_RA_ALPHA 412 + #define MACH_TYPE_XCEP 413 +-#define MACH_TYPE_ARCOM_MERCURY 414 ++#define MACH_TYPE_ARCOM_VULCAN 414 + #define MACH_TYPE_STARGATE 415 + #define MACH_TYPE_ARMADILLOJ 416 + #define MACH_TYPE_ELROY_JACK 417 +@@ -457,7 +457,7 @@ + #define MACH_TYPE_XM250 444 + #define MACH_TYPE_T6TC1XB 445 + #define MACH_TYPE_ESS710 446 +-#define MACH_TYPE_MX3ADS 447 ++#define MACH_TYPE_MX31ADS 447 + #define MACH_TYPE_HIMALAYA 448 + #define MACH_TYPE_BOLFENK 449 + #define MACH_TYPE_AT91RM9200KR 450 +@@ -736,7 +736,309 @@ + #define MACH_TYPE_LN2410SBC 725 + #define MACH_TYPE_CB3RUFC 726 + #define MACH_TYPE_MP2USB 727 +-#define MACH_TYPE_PDNB3 1002 ++#define MACH_TYPE_NTNP425C 728 ++#define MACH_TYPE_COLIBRI 729 ++#define MACH_TYPE_PCM7220 730 ++#define MACH_TYPE_GATEWAY7001 731 ++#define MACH_TYPE_PCM027 732 ++#define MACH_TYPE_CMPXA 733 ++#define MACH_TYPE_ANUBIS 734 ++#define MACH_TYPE_ITE8152 735 ++#define MACH_TYPE_LPC3XXX 736 ++#define MACH_TYPE_PUPPETEER 737 ++#define MACH_TYPE_MACH_VADATECH 738 ++#define MACH_TYPE_E570 739 ++#define MACH_TYPE_X50 740 ++#define MACH_TYPE_RECON 741 ++#define MACH_TYPE_XBOARDGP8 742 ++#define MACH_TYPE_FPIC2 743 ++#define MACH_TYPE_AKITA 744 ++#define MACH_TYPE_A81 745 ++#define MACH_TYPE_SVM_SC25X 746 ++#define MACH_TYPE_VADATECH020 747 ++#define MACH_TYPE_TLI 748 ++#define MACH_TYPE_EDB9315LC 749 ++#define MACH_TYPE_PASSEC 750 ++#define MACH_TYPE_DS_TIGER 751 ++#define MACH_TYPE_E310 752 ++#define MACH_TYPE_E330 753 ++#define MACH_TYPE_RT3000 754 ++#define MACH_TYPE_NOKIA770 755 ++#define MACH_TYPE_PNX0106 756 ++#define MACH_TYPE_HX21XX 757 ++#define MACH_TYPE_FARADAY 758 ++#define MACH_TYPE_SBC9312 759 ++#define MACH_TYPE_BATMAN 760 ++#define MACH_TYPE_JPD201 761 ++#define MACH_TYPE_MIPSA 762 ++#define MACH_TYPE_KACOM 763 ++#define MACH_TYPE_SWARCOCPU 764 ++#define MACH_TYPE_SWARCODSL 765 ++#define MACH_TYPE_BLUEANGEL 766 ++#define MACH_TYPE_HAIRYGRAMA 767 ++#define MACH_TYPE_BANFF 768 ++#define MACH_TYPE_CARMEVA 769 ++#define MACH_TYPE_SAM255 770 ++#define MACH_TYPE_PPM10 771 ++#define MACH_TYPE_EDB9315A 772 ++#define MACH_TYPE_SUNSET 773 ++#define MACH_TYPE_STARGATE2 774 ++#define MACH_TYPE_INTELMOTE2 775 ++#define MACH_TYPE_TRIZEPS4 776 ++#define MACH_TYPE_MAINSTONE2 777 ++#define MACH_TYPE_EZ_IXP42X 778 ++#define MACH_TYPE_TAPWAVE_ZODIAC 779 ++#define MACH_TYPE_UNIVERSALMETER 780 ++#define MACH_TYPE_HICOARM9 781 ++#define MACH_TYPE_PNX4008 782 ++#define MACH_TYPE_KWS6000 783 ++#define MACH_TYPE_PORTUX920T 784 ++#define MACH_TYPE_EZ_X5 785 ++#define MACH_TYPE_OMAP_RUDOLPH 786 ++#define MACH_TYPE_CPUAT91 787 ++#define MACH_TYPE_REA9200 788 ++#define MACH_TYPE_ACTS_PUNE_SA1110 789 ++#define MACH_TYPE_IXP425 790 ++#define MACH_TYPE_ARGONPLUSODYSSEY 791 ++#define MACH_TYPE_PERCH 792 ++#define MACH_TYPE_EIS05R1 793 ++#define MACH_TYPE_PEPPERPAD 794 ++#define MACH_TYPE_SB3010 795 ++#define MACH_TYPE_RM9200 796 ++#define MACH_TYPE_DMA03 797 ++#define MACH_TYPE_ROAD_S101 798 ++#define MACH_TYPE_IQ_NEXTGEN_A 799 ++#define MACH_TYPE_IQ_NEXTGEN_B 800 ++#define MACH_TYPE_IQ_NEXTGEN_C 801 ++#define MACH_TYPE_IQ_NEXTGEN_D 802 ++#define MACH_TYPE_IQ_NEXTGEN_E 803 ++#define MACH_TYPE_MALLOW_AT91 804 ++#define MACH_TYPE_CYBERTRACKER_I 805 ++#define MACH_TYPE_GESBC931X 806 ++#define MACH_TYPE_CENTIPAD 807 ++#define MACH_TYPE_ARMSOC 808 ++#define MACH_TYPE_SE4200 809 ++#define MACH_TYPE_EMS197A 810 ++#define MACH_TYPE_MICRO9 811 ++#define MACH_TYPE_MICRO9L 812 ++#define MACH_TYPE_UC5471DSP 813 ++#define MACH_TYPE_SJ5471ENG 814 ++#define MACH_TYPE_CMPXA26X 815 ++#define MACH_TYPE_NC 816 ++#define MACH_TYPE_OMAP_PALMTE 817 ++#define MACH_TYPE_AJAX52X 818 ++#define MACH_TYPE_SIRIUSTAR 819 ++#define MACH_TYPE_IODATA_HDLG 820 ++#define MACH_TYPE_AT91RM9200UTL 821 ++#define MACH_TYPE_BIOSAFE 822 ++#define MACH_TYPE_MP1000 823 ++#define MACH_TYPE_PARSY 824 ++#define MACH_TYPE_CCXP 825 ++#define MACH_TYPE_OMAP_GSAMPLE 826 ++#define MACH_TYPE_REALVIEW_EB 827 ++#define MACH_TYPE_SAMOA 828 ++#define MACH_TYPE_T3XSCALE 829 ++#define MACH_TYPE_I878 830 ++#define MACH_TYPE_BORZOI 831 ++#define MACH_TYPE_GECKO 832 ++#define MACH_TYPE_DS101 833 ++#define MACH_TYPE_OMAP_PALMTT2 834 ++#define MACH_TYPE_XSCALE_PALMLD 835 ++#define MACH_TYPE_CC9C 836 ++#define MACH_TYPE_SBC1670 837 ++#define MACH_TYPE_IXDP28X5 838 ++#define MACH_TYPE_OMAP_PALMTT 839 ++#define MACH_TYPE_ML696K 840 ++#define MACH_TYPE_ARCOM_ZEUS 841 ++#define MACH_TYPE_OSIRIS 842 ++#define MACH_TYPE_MAESTRO 843 ++#define MACH_TYPE_TUNGE2 844 ++#define MACH_TYPE_IXBBM 845 ++#define MACH_TYPE_MX27 846 ++#define MACH_TYPE_AX8004 847 ++#define MACH_TYPE_AT91SAM9261EK 848 ++#define MACH_TYPE_LOFT 849 ++#define MACH_TYPE_MAGPIE 850 ++#define MACH_TYPE_MX21 851 ++#define MACH_TYPE_MB87M3400 852 ++#define MACH_TYPE_MGUARD_DELTA 853 ++#define MACH_TYPE_DAVINCI_DVDP 854 ++#define MACH_TYPE_HTCUNIVERSAL 855 ++#define MACH_TYPE_TPAD 856 ++#define MACH_TYPE_ROVERP3 857 ++#define MACH_TYPE_JORNADA928 858 ++#define MACH_TYPE_MV88FXX81 859 ++#define MACH_TYPE_STMP36XX 860 ++#define MACH_TYPE_SXNI79524 861 ++#define MACH_TYPE_AMS_DELTA 862 ++#define MACH_TYPE_URANIUM 863 ++#define MACH_TYPE_UCON 864 ++#define MACH_TYPE_NAS100D 865 ++#define MACH_TYPE_L083_1000 866 ++#define MACH_TYPE_EZX 867 ++#define MACH_TYPE_PNX5220 868 ++#define MACH_TYPE_BUTTE 869 ++#define MACH_TYPE_SRM2 870 ++#define MACH_TYPE_DSBR 871 ++#define MACH_TYPE_CRYSTALBALL 872 ++#define MACH_TYPE_TINYPXA27X 873 ++#define MACH_TYPE_HERBIE 874 ++#define MACH_TYPE_MAGICIAN 875 ++#define MACH_TYPE_CM4002 876 ++#define MACH_TYPE_B4 877 ++#define MACH_TYPE_MAUI 878 ++#define MACH_TYPE_CYBERTRACKER_G 879 ++#define MACH_TYPE_NXDKN 880 ++#define MACH_TYPE_MIO8390 881 ++#define MACH_TYPE_OMI_BOARD 882 ++#define MACH_TYPE_MX21CIV 883 ++#define MACH_TYPE_MAHI_CDAC 884 ++#define MACH_TYPE_XSCALE_PALMTX 885 ++#define MACH_TYPE_S3C2413 887 ++#define MACH_TYPE_SAMSYS_EP0 888 ++#define MACH_TYPE_WG302V1 889 ++#define MACH_TYPE_WG302V2 890 ++#define MACH_TYPE_EB42X 891 ++#define MACH_TYPE_IQ331ES 892 ++#define MACH_TYPE_COSYDSP 893 ++#define MACH_TYPE_UPLAT7D 894 ++#define MACH_TYPE_PTDAVINCI 895 ++#define MACH_TYPE_MBUS 896 ++#define MACH_TYPE_NADIA2VB 897 ++#define MACH_TYPE_R1000 898 ++#define MACH_TYPE_HW90250 899 ++#define MACH_TYPE_OMAP_2430SDP 900 ++#define MACH_TYPE_DAVINCI_EVM 901 ++#define MACH_TYPE_OMAP_TORNADO 902 ++#define MACH_TYPE_OLOCREEK 903 ++#define MACH_TYPE_PALMZ72 904 ++#define MACH_TYPE_NXDB500 905 ++#define MACH_TYPE_APF9328 906 ++#define MACH_TYPE_OMAP_WIPOQ 907 ++#define MACH_TYPE_OMAP_TWIP 908 ++#define MACH_TYPE_XSCALE_PALMTREO650 909 ++#define MACH_TYPE_ACUMEN 910 ++#define MACH_TYPE_XP100 911 ++#define MACH_TYPE_FS2410 912 ++#define MACH_TYPE_PXA270_CERF 913 ++#define MACH_TYPE_SQ2FTLPALM 914 ++#define MACH_TYPE_BSEMSERVER 915 ++#define MACH_TYPE_NETCLIENT 916 ++#define MACH_TYPE_XSCALE_PALMTT5 917 ++#define MACH_TYPE_OMAP_PALMTC 918 ++#define MACH_TYPE_OMAP_APOLLON 919 ++#define MACH_TYPE_ARGONLVEVB 920 ++#define MACH_TYPE_REA_2D 921 ++#define MACH_TYPE_TI3E524 922 ++#define MACH_TYPE_ATEB9200 923 ++#define MACH_TYPE_AUCKLAND 924 ++#define MACH_TYPE_AK3320M 925 ++#define MACH_TYPE_DURAMAX 926 ++#define MACH_TYPE_N35 927 ++#define MACH_TYPE_PRONGHORN 928 ++#define MACH_TYPE_FUNDY 929 ++#define MACH_TYPE_LOGICPD_PXA270 930 ++#define MACH_TYPE_CPU777 931 ++#define MACH_TYPE_SIMICON9201 932 ++#define MACH_TYPE_LEAP2_HPM 933 ++#define MACH_TYPE_CM922TXA10 934 ++#define MACH_TYPE_PXA 935 ++#define MACH_TYPE_SANDGATE2 936 ++#define MACH_TYPE_SANDGATE2G 937 ++#define MACH_TYPE_SANDGATE2P 938 ++#define MACH_TYPE_FRED_JACK 939 ++#define MACH_TYPE_TTG_COLOR1 940 ++#define MACH_TYPE_NXEB500HMI 941 ++#define MACH_TYPE_NETDCU8 942 ++#define MACH_TYPE_ML675050_CPU_BOA 943 ++#define MACH_TYPE_NG_FVX538 944 ++#define MACH_TYPE_NG_FVS338 945 ++#define MACH_TYPE_PNX4103 946 ++#define MACH_TYPE_HESDB 947 ++#define MACH_TYPE_XSILO 948 ++#define MACH_TYPE_ESPRESSO 949 ++#define MACH_TYPE_EMLC 950 ++#define MACH_TYPE_SISTERON 951 ++#define MACH_TYPE_RX1950 952 ++#define MACH_TYPE_TSC_VENUS 953 ++#define MACH_TYPE_DS101J 954 ++#define MACH_TYPE_MXC30030ADS 955 ++#define MACH_TYPE_FUJITSU_WIMAXSOC 956 ++#define MACH_TYPE_DUALPCMODEM 957 ++#define MACH_TYPE_GESBC9312 958 ++#define MACH_TYPE_HTCAPACHE 959 ++#define MACH_TYPE_IXDP435 960 ++#define MACH_TYPE_CATPROVT100 961 ++#define MACH_TYPE_PICOTUX1XX 962 ++#define MACH_TYPE_PICOTUX2XX 963 ++#define MACH_TYPE_DSMG600 964 ++#define MACH_TYPE_EMPC2 965 ++#define MACH_TYPE_VENTURA 966 ++#define MACH_TYPE_PHIDGET_SBC 967 ++#define MACH_TYPE_IJ3K 968 ++#define MACH_TYPE_PISGAH 969 ++#define MACH_TYPE_OMAP_FSAMPLE 970 ++#define MACH_TYPE_SG720 971 ++#define MACH_TYPE_REDFOX 972 ++#define MACH_TYPE_MYSH_EP9315_1 973 ++#define MACH_TYPE_TPF106 974 ++#define MACH_TYPE_AT91RM9200KG 975 ++#define MACH_TYPE_SLEDB 976 ++#define MACH_TYPE_ONTRACK 977 ++#define MACH_TYPE_PM1200 978 ++#define MACH_TYPE_ESS24XXX 979 ++#define MACH_TYPE_COREMP7 980 ++#define MACH_TYPE_NEXCODER_6446 981 ++#define MACH_TYPE_STVC8380 982 ++#define MACH_TYPE_TEKLYNX 983 ++#define MACH_TYPE_CARBONADO 984 ++#define MACH_TYPE_SYSMOS_MP730 985 ++#define MACH_TYPE_SNAPPER_CL15 986 ++#define MACH_TYPE_PGIGIM 987 ++#define MACH_TYPE_PTX9160P2 988 ++#define MACH_TYPE_DCORE1 989 ++#define MACH_TYPE_VICTORPXA 990 ++#define MACH_TYPE_MX2DTB 991 ++#define MACH_TYPE_PXA_IREX_ER0100 992 ++#define MACH_TYPE_OMAP_PALMZ71 993 ++#define MACH_TYPE_BARTEC_DEG 994 ++#define MACH_TYPE_HW50251 995 ++#define MACH_TYPE_IBOX 996 ++#define MACH_TYPE_ATLASLH7A404 997 ++#define MACH_TYPE_PT2026 998 ++#define MACH_TYPE_HTCALPINE 999 ++#define MACH_TYPE_BARTEC_VTU 1000 ++#define MACH_TYPE_VCOREII 1001 ++#define MACH_TYPE_PDNB3 1002 ++#define MACH_TYPE_HTCBEETLES 1003 ++#define MACH_TYPE_S3C6400 1004 ++#define MACH_TYPE_S3C2443 1005 ++#define MACH_TYPE_OMAP_LDK 1006 ++#define MACH_TYPE_SMDK2460 1007 ++#define MACH_TYPE_SMDK2440 1008 ++#define MACH_TYPE_SMDK2412 1009 ++#define MACH_TYPE_WEBBOX 1010 ++#define MACH_TYPE_CWWNDP 1011 ++#define MACH_TYPE_DRAGON 1012 ++#define MACH_TYPE_OPENDO_CPU_BOARD 1013 ++#define MACH_TYPE_CCM2200 1014 ++#define MACH_TYPE_ETWARM 1015 ++#define MACH_TYPE_M93030 1016 ++#define MACH_TYPE_CC7U 1017 ++#define MACH_TYPE_MTT_RANGER 1018 ++#define MACH_TYPE_NEXUS 1019 ++#define MACH_TYPE_DESMAN 1020 ++#define MACH_TYPE_BKDE303 1021 ++#define MACH_TYPE_SMDK2413 1022 ++#define MACH_TYPE_AML_M7200 1023 ++#define MACH_TYPE_AML_M5900 1024 ++#define MACH_TYPE_SG640 1025 ++#define MACH_TYPE_EDG79524 1026 ++#define MACH_TYPE_AI2410 1027 ++#define MACH_TYPE_IXP465 1028 ++#define MACH_TYPE_BALLOON3 1029 ++#define MACH_TYPE_QT2410 1108 ++#define MACH_TYPE_GTA01 1182 + + #ifdef CONFIG_ARCH_EBSA110 + # ifdef machine_arch_type +@@ -3541,9 +3843,9 @@ + # else + # define machine_arch_type MACH_TYPE_RAMSES + # endif +-# define machine_is_ramses() (machine_arch_type == MACH_TYPE_RAMSES) ++# define machine_is_mnci() (machine_arch_type == MACH_TYPE_RAMSES) + #else +-# define machine_is_ramses() (0) ++# define machine_is_mnci() (0) + #endif + + #ifdef CONFIG_ARCH_S28X +@@ -4501,9 +4803,9 @@ + # else + # define machine_arch_type MACH_TYPE_M825XX + # endif +-# define machine_is_m825xx() (machine_arch_type == MACH_TYPE_M825XX) ++# define machine_is_comcerto() (machine_arch_type == MACH_TYPE_M825XX) + #else +-# define machine_is_m825xx() (0) ++# define machine_is_comcerto() (0) + #endif + + #ifdef CONFIG_SA1100_M7100 +@@ -5658,16 +5960,16 @@ + # define machine_is_xcep() (0) + #endif + +-#ifdef CONFIG_MACH_ARCOM_MERCURY ++#ifdef CONFIG_MACH_ARCOM_VULCAN + # ifdef machine_arch_type + # undef machine_arch_type + # define machine_arch_type __machine_arch_type + # else +-# define machine_arch_type MACH_TYPE_ARCOM_MERCURY ++# define machine_arch_type MACH_TYPE_ARCOM_VULCAN + # endif +-# define machine_is_arcom_mercury() (machine_arch_type == MACH_TYPE_ARCOM_MERCURY) ++# define machine_is_arcom_vulcan() (machine_arch_type == MACH_TYPE_ARCOM_VULCAN) + #else +-# define machine_is_arcom_mercury() (0) ++# define machine_is_arcom_vulcan() (0) + #endif + + #ifdef CONFIG_MACH_STARGATE +@@ -6054,16 +6356,16 @@ + # define machine_is_ess710() (0) + #endif + +-#ifdef CONFIG_MACH_MX3ADS ++#ifdef CONFIG_MACH_MX31ADS + # ifdef machine_arch_type + # undef machine_arch_type + # define machine_arch_type __machine_arch_type + # else +-# define machine_arch_type MACH_TYPE_MX3ADS ++# define machine_arch_type MACH_TYPE_MX31ADS + # endif +-# define machine_is_mx3ads() (machine_arch_type == MACH_TYPE_MX3ADS) ++# define machine_is_mx31ads() (machine_arch_type == MACH_TYPE_MX31ADS) + #else +-# define machine_is_mx3ads() (0) ++# define machine_is_mx31ads() (0) + #endif + + #ifdef CONFIG_MACH_HIMALAYA +@@ -7333,9 +7635,9 @@ + # else + # define machine_arch_type MACH_TYPE_ARGONPLUSEVB + # endif +-# define machine_is_argonplusevb() (machine_arch_type == MACH_TYPE_ARGONPLUSEVB) ++# define machine_is_i30030evb() (machine_arch_type == MACH_TYPE_ARGONPLUSEVB) + #else +-# define machine_is_argonplusevb() (0) ++# define machine_is_i30030evb() (0) + #endif + + #ifdef CONFIG_MACH_SCMA11EVB +@@ -7345,9 +7647,9 @@ + # else + # define machine_arch_type MACH_TYPE_SCMA11EVB + # endif +-# define machine_is_scma11evb() (machine_arch_type == MACH_TYPE_SCMA11EVB) ++# define machine_is_mxc27530evb() (machine_arch_type == MACH_TYPE_SCMA11EVB) + #else +-# define machine_is_scma11evb() (0) ++# define machine_is_mxc27530evb() (0) + #endif + + #ifdef CONFIG_MACH_SMDK2800 +@@ -8305,9 +8607,9 @@ + # else + # define machine_arch_type MACH_TYPE_SCMA11BB + # endif +-# define machine_is_scma11bb() (machine_arch_type == MACH_TYPE_SCMA11BB) ++# define machine_is_mxc27530ads() (machine_arch_type == MACH_TYPE_SCMA11BB) + #else +-# define machine_is_scma11bb() (0) ++# define machine_is_mxc27530ads() (0) + #endif + + #ifdef CONFIG_MACH_TRIZEPS3 +@@ -9193,9 +9495,9 @@ + # else + # define machine_arch_type MACH_TYPE_ZEUSEVB + # endif +-# define machine_is_zeusevb() (machine_arch_type == MACH_TYPE_ZEUSEVB) ++# define machine_is_mxc91131evb() (machine_arch_type == MACH_TYPE_ZEUSEVB) + #else +-# define machine_is_zeusevb() (0) ++# define machine_is_mxc91131evb() (0) + #endif + + #ifdef CONFIG_MACH_P700 +@@ -9402,6 +9704,3643 @@ + # define machine_is_mp2usb() (0) + #endif + ++#ifdef CONFIG_MACH_NTNP425C ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NTNP425C ++# endif ++# define machine_is_ntnp425c() (machine_arch_type == MACH_TYPE_NTNP425C) ++#else ++# define machine_is_ntnp425c() (0) ++#endif ++ ++#ifdef CONFIG_MACH_COLIBRI ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_COLIBRI ++# endif ++# define machine_is_colibri() (machine_arch_type == MACH_TYPE_COLIBRI) ++#else ++# define machine_is_colibri() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PCM7220 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PCM7220 ++# endif ++# define machine_is_pcm7220() (machine_arch_type == MACH_TYPE_PCM7220) ++#else ++# define machine_is_pcm7220() (0) ++#endif ++ ++#ifdef CONFIG_MACH_GATEWAY7001 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_GATEWAY7001 ++# endif ++# define machine_is_gateway7001() (machine_arch_type == MACH_TYPE_GATEWAY7001) ++#else ++# define machine_is_gateway7001() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PCM027 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PCM027 ++# endif ++# define machine_is_pcm027() (machine_arch_type == MACH_TYPE_PCM027) ++#else ++# define machine_is_pcm027() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CMPXA ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CMPXA ++# endif ++# define machine_is_cmpxa() (machine_arch_type == MACH_TYPE_CMPXA) ++#else ++# define machine_is_cmpxa() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ANUBIS ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ANUBIS ++# endif ++# define machine_is_anubis() (machine_arch_type == MACH_TYPE_ANUBIS) ++#else ++# define machine_is_anubis() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ITE8152 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ITE8152 ++# endif ++# define machine_is_ite8152() (machine_arch_type == MACH_TYPE_ITE8152) ++#else ++# define machine_is_ite8152() (0) ++#endif ++ ++#ifdef CONFIG_MACH_LPC3XXX ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_LPC3XXX ++# endif ++# define machine_is_lpc3xxx() (machine_arch_type == MACH_TYPE_LPC3XXX) ++#else ++# define machine_is_lpc3xxx() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PUPPETEER ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PUPPETEER ++# endif ++# define machine_is_puppeteer() (machine_arch_type == MACH_TYPE_PUPPETEER) ++#else ++# define machine_is_puppeteer() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MACH_VADATECH ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MACH_VADATECH ++# endif ++# define machine_is_vt001() (machine_arch_type == MACH_TYPE_MACH_VADATECH) ++#else ++# define machine_is_vt001() (0) ++#endif ++ ++#ifdef CONFIG_MACH_E570 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_E570 ++# endif ++# define machine_is_e570() (machine_arch_type == MACH_TYPE_E570) ++#else ++# define machine_is_e570() (0) ++#endif ++ ++#ifdef CONFIG_MACH_X50 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_X50 ++# endif ++# define machine_is_x50() (machine_arch_type == MACH_TYPE_X50) ++#else ++# define machine_is_x50() (0) ++#endif ++ ++#ifdef CONFIG_MACH_RECON ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_RECON ++# endif ++# define machine_is_recon() (machine_arch_type == MACH_TYPE_RECON) ++#else ++# define machine_is_recon() (0) ++#endif ++ ++#ifdef CONFIG_MACH_XBOARDGP8 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_XBOARDGP8 ++# endif ++# define machine_is_xboardgp8() (machine_arch_type == MACH_TYPE_XBOARDGP8) ++#else ++# define machine_is_xboardgp8() (0) ++#endif ++ ++#ifdef CONFIG_MACH_FPIC2 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_FPIC2 ++# endif ++# define machine_is_fpic2() (machine_arch_type == MACH_TYPE_FPIC2) ++#else ++# define machine_is_fpic2() (0) ++#endif ++ ++#ifdef CONFIG_MACH_AKITA ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_AKITA ++# endif ++# define machine_is_akita() (machine_arch_type == MACH_TYPE_AKITA) ++#else ++# define machine_is_akita() (0) ++#endif ++ ++#ifdef CONFIG_MACH_A81 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_A81 ++# endif ++# define machine_is_a81() (machine_arch_type == MACH_TYPE_A81) ++#else ++# define machine_is_a81() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SVM_SC25X ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SVM_SC25X ++# endif ++# define machine_is_svm_sc25x() (machine_arch_type == MACH_TYPE_SVM_SC25X) ++#else ++# define machine_is_svm_sc25x() (0) ++#endif ++ ++#ifdef CONFIG_MACH_VADATECH020 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_VADATECH020 ++# endif ++# define machine_is_vt020() (machine_arch_type == MACH_TYPE_VADATECH020) ++#else ++# define machine_is_vt020() (0) ++#endif ++ ++#ifdef CONFIG_MACH_TLI ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_TLI ++# endif ++# define machine_is_tli() (machine_arch_type == MACH_TYPE_TLI) ++#else ++# define machine_is_tli() (0) ++#endif ++ ++#ifdef CONFIG_MACH_EDB9315LC ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_EDB9315LC ++# endif ++# define machine_is_edb9315lc() (machine_arch_type == MACH_TYPE_EDB9315LC) ++#else ++# define machine_is_edb9315lc() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PASSEC ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PASSEC ++# endif ++# define machine_is_passec() (machine_arch_type == MACH_TYPE_PASSEC) ++#else ++# define machine_is_passec() (0) ++#endif ++ ++#ifdef CONFIG_MACH_DS_TIGER ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_DS_TIGER ++# endif ++# define machine_is_ds_tiger() (machine_arch_type == MACH_TYPE_DS_TIGER) ++#else ++# define machine_is_ds_tiger() (0) ++#endif ++ ++#ifdef CONFIG_MACH_E310 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_E310 ++# endif ++# define machine_is_e310() (machine_arch_type == MACH_TYPE_E310) ++#else ++# define machine_is_e310() (0) ++#endif ++ ++#ifdef CONFIG_MACH_E330 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_E330 ++# endif ++# define machine_is_e330() (machine_arch_type == MACH_TYPE_E330) ++#else ++# define machine_is_e330() (0) ++#endif ++ ++#ifdef CONFIG_MACH_RT3000 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_RT3000 ++# endif ++# define machine_is_rt3000() (machine_arch_type == MACH_TYPE_RT3000) ++#else ++# define machine_is_rt3000() (0) ++#endif ++ ++#ifdef CONFIG_MACH_NOKIA770 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NOKIA770 ++# endif ++# define machine_is_nokia770() (machine_arch_type == MACH_TYPE_NOKIA770) ++#else ++# define machine_is_nokia770() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PNX0106 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PNX0106 ++# endif ++# define machine_is_pnx0106() (machine_arch_type == MACH_TYPE_PNX0106) ++#else ++# define machine_is_pnx0106() (0) ++#endif ++ ++#ifdef CONFIG_MACH_HX21XX ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_HX21XX ++# endif ++# define machine_is_hx21xx() (machine_arch_type == MACH_TYPE_HX21XX) ++#else ++# define machine_is_hx21xx() (0) ++#endif ++ ++#ifdef CONFIG_MACH_FARADAY ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_FARADAY ++# endif ++# define machine_is_faraday() (machine_arch_type == MACH_TYPE_FARADAY) ++#else ++# define machine_is_faraday() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SBC9312 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SBC9312 ++# endif ++# define machine_is_sbc9312() (machine_arch_type == MACH_TYPE_SBC9312) ++#else ++# define machine_is_sbc9312() (0) ++#endif ++ ++#ifdef CONFIG_MACH_BATMAN ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_BATMAN ++# endif ++# define machine_is_batman() (machine_arch_type == MACH_TYPE_BATMAN) ++#else ++# define machine_is_batman() (0) ++#endif ++ ++#ifdef CONFIG_MACH_JPD201 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_JPD201 ++# endif ++# define machine_is_jpd201() (machine_arch_type == MACH_TYPE_JPD201) ++#else ++# define machine_is_jpd201() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MIPSA ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MIPSA ++# endif ++# define machine_is_mipsa() (machine_arch_type == MACH_TYPE_MIPSA) ++#else ++# define machine_is_mipsa() (0) ++#endif ++ ++#ifdef CONFIG_MACH_KACOM ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_KACOM ++# endif ++# define machine_is_kacom() (machine_arch_type == MACH_TYPE_KACOM) ++#else ++# define machine_is_kacom() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SWARCOCPU ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SWARCOCPU ++# endif ++# define machine_is_swarcocpu() (machine_arch_type == MACH_TYPE_SWARCOCPU) ++#else ++# define machine_is_swarcocpu() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SWARCODSL ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SWARCODSL ++# endif ++# define machine_is_swarcodsl() (machine_arch_type == MACH_TYPE_SWARCODSL) ++#else ++# define machine_is_swarcodsl() (0) ++#endif ++ ++#ifdef CONFIG_MACH_BLUEANGEL ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_BLUEANGEL ++# endif ++# define machine_is_blueangel() (machine_arch_type == MACH_TYPE_BLUEANGEL) ++#else ++# define machine_is_blueangel() (0) ++#endif ++ ++#ifdef CONFIG_MACH_HAIRYGRAMA ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_HAIRYGRAMA ++# endif ++# define machine_is_hairygrama() (machine_arch_type == MACH_TYPE_HAIRYGRAMA) ++#else ++# define machine_is_hairygrama() (0) ++#endif ++ ++#ifdef CONFIG_MACH_BANFF ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_BANFF ++# endif ++# define machine_is_banff() (machine_arch_type == MACH_TYPE_BANFF) ++#else ++# define machine_is_banff() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CARMEVA ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CARMEVA ++# endif ++# define machine_is_carmeva() (machine_arch_type == MACH_TYPE_CARMEVA) ++#else ++# define machine_is_carmeva() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SAM255 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SAM255 ++# endif ++# define machine_is_sam255() (machine_arch_type == MACH_TYPE_SAM255) ++#else ++# define machine_is_sam255() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PPM10 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PPM10 ++# endif ++# define machine_is_ppm10() (machine_arch_type == MACH_TYPE_PPM10) ++#else ++# define machine_is_ppm10() (0) ++#endif ++ ++#ifdef CONFIG_MACH_EDB9315A ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_EDB9315A ++# endif ++# define machine_is_edb9315a() (machine_arch_type == MACH_TYPE_EDB9315A) ++#else ++# define machine_is_edb9315a() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SUNSET ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SUNSET ++# endif ++# define machine_is_sunset() (machine_arch_type == MACH_TYPE_SUNSET) ++#else ++# define machine_is_sunset() (0) ++#endif ++ ++#ifdef CONFIG_MACH_STARGATE2 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_STARGATE2 ++# endif ++# define machine_is_stargate2() (machine_arch_type == MACH_TYPE_STARGATE2) ++#else ++# define machine_is_stargate2() (0) ++#endif ++ ++#ifdef CONFIG_MACH_INTELMOTE2 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_INTELMOTE2 ++# endif ++# define machine_is_intelmote2() (machine_arch_type == MACH_TYPE_INTELMOTE2) ++#else ++# define machine_is_intelmote2() (0) ++#endif ++ ++#ifdef CONFIG_MACH_TRIZEPS4 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_TRIZEPS4 ++# endif ++# define machine_is_trizeps4() (machine_arch_type == MACH_TYPE_TRIZEPS4) ++#else ++# define machine_is_trizeps4() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MAINSTONE2 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MAINSTONE2 ++# endif ++# define machine_is_mainstone2() (machine_arch_type == MACH_TYPE_MAINSTONE2) ++#else ++# define machine_is_mainstone2() (0) ++#endif ++ ++#ifdef CONFIG_MACH_EZ_IXP42X ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_EZ_IXP42X ++# endif ++# define machine_is_ez_ixp42x() (machine_arch_type == MACH_TYPE_EZ_IXP42X) ++#else ++# define machine_is_ez_ixp42x() (0) ++#endif ++ ++#ifdef CONFIG_MACH_TAPWAVE_ZODIAC ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_TAPWAVE_ZODIAC ++# endif ++# define machine_is_tapwave_zodiac() (machine_arch_type == MACH_TYPE_TAPWAVE_ZODIAC) ++#else ++# define machine_is_tapwave_zodiac() (0) ++#endif ++ ++#ifdef CONFIG_MACH_UNIVERSALMETER ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_UNIVERSALMETER ++# endif ++# define machine_is_universalmeter() (machine_arch_type == MACH_TYPE_UNIVERSALMETER) ++#else ++# define machine_is_universalmeter() (0) ++#endif ++ ++#ifdef CONFIG_MACH_HICOARM9 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_HICOARM9 ++# endif ++# define machine_is_hicoarm9() (machine_arch_type == MACH_TYPE_HICOARM9) ++#else ++# define machine_is_hicoarm9() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PNX4008 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PNX4008 ++# endif ++# define machine_is_pnx4008() (machine_arch_type == MACH_TYPE_PNX4008) ++#else ++# define machine_is_pnx4008() (0) ++#endif ++ ++#ifdef CONFIG_MACH_KWS6000 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_KWS6000 ++# endif ++# define machine_is_kws6000() (machine_arch_type == MACH_TYPE_KWS6000) ++#else ++# define machine_is_kws6000() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PORTUX920T ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PORTUX920T ++# endif ++# define machine_is_portux920t() (machine_arch_type == MACH_TYPE_PORTUX920T) ++#else ++# define machine_is_portux920t() (0) ++#endif ++ ++#ifdef CONFIG_MACH_EZ_X5 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_EZ_X5 ++# endif ++# define machine_is_ez_x5() (machine_arch_type == MACH_TYPE_EZ_X5) ++#else ++# define machine_is_ez_x5() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_RUDOLPH ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_RUDOLPH ++# endif ++# define machine_is_omap_rudolph() (machine_arch_type == MACH_TYPE_OMAP_RUDOLPH) ++#else ++# define machine_is_omap_rudolph() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CPUAT91 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CPUAT91 ++# endif ++# define machine_is_cpuat91() (machine_arch_type == MACH_TYPE_CPUAT91) ++#else ++# define machine_is_cpuat91() (0) ++#endif ++ ++#ifdef CONFIG_MACH_REA9200 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_REA9200 ++# endif ++# define machine_is_rea9200() (machine_arch_type == MACH_TYPE_REA9200) ++#else ++# define machine_is_rea9200() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ACTS_PUNE_SA1110 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ACTS_PUNE_SA1110 ++# endif ++# define machine_is_acts_pune_sa1110() (machine_arch_type == MACH_TYPE_ACTS_PUNE_SA1110) ++#else ++# define machine_is_acts_pune_sa1110() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IXP425 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IXP425 ++# endif ++# define machine_is_ixp425() (machine_arch_type == MACH_TYPE_IXP425) ++#else ++# define machine_is_ixp425() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ARGONPLUSODYSSEY ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ARGONPLUSODYSSEY ++# endif ++# define machine_is_i30030ads() (machine_arch_type == MACH_TYPE_ARGONPLUSODYSSEY) ++#else ++# define machine_is_i30030ads() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PERCH ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PERCH ++# endif ++# define machine_is_perch() (machine_arch_type == MACH_TYPE_PERCH) ++#else ++# define machine_is_perch() (0) ++#endif ++ ++#ifdef CONFIG_MACH_EIS05R1 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_EIS05R1 ++# endif ++# define machine_is_eis05r1() (machine_arch_type == MACH_TYPE_EIS05R1) ++#else ++# define machine_is_eis05r1() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PEPPERPAD ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PEPPERPAD ++# endif ++# define machine_is_pepperpad() (machine_arch_type == MACH_TYPE_PEPPERPAD) ++#else ++# define machine_is_pepperpad() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SB3010 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SB3010 ++# endif ++# define machine_is_sb3010() (machine_arch_type == MACH_TYPE_SB3010) ++#else ++# define machine_is_sb3010() (0) ++#endif ++ ++#ifdef CONFIG_MACH_RM9200 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_RM9200 ++# endif ++# define machine_is_rm9200() (machine_arch_type == MACH_TYPE_RM9200) ++#else ++# define machine_is_rm9200() (0) ++#endif ++ ++#ifdef CONFIG_MACH_DMA03 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_DMA03 ++# endif ++# define machine_is_dma03() (machine_arch_type == MACH_TYPE_DMA03) ++#else ++# define machine_is_dma03() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ROAD_S101 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ROAD_S101 ++# endif ++# define machine_is_road_s101() (machine_arch_type == MACH_TYPE_ROAD_S101) ++#else ++# define machine_is_road_s101() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IQ_NEXTGEN_A ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IQ_NEXTGEN_A ++# endif ++# define machine_is_iq_nextgen_a() (machine_arch_type == MACH_TYPE_IQ_NEXTGEN_A) ++#else ++# define machine_is_iq_nextgen_a() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IQ_NEXTGEN_B ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IQ_NEXTGEN_B ++# endif ++# define machine_is_iq_nextgen_b() (machine_arch_type == MACH_TYPE_IQ_NEXTGEN_B) ++#else ++# define machine_is_iq_nextgen_b() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IQ_NEXTGEN_C ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IQ_NEXTGEN_C ++# endif ++# define machine_is_iq_nextgen_c() (machine_arch_type == MACH_TYPE_IQ_NEXTGEN_C) ++#else ++# define machine_is_iq_nextgen_c() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IQ_NEXTGEN_D ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IQ_NEXTGEN_D ++# endif ++# define machine_is_iq_nextgen_d() (machine_arch_type == MACH_TYPE_IQ_NEXTGEN_D) ++#else ++# define machine_is_iq_nextgen_d() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IQ_NEXTGEN_E ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IQ_NEXTGEN_E ++# endif ++# define machine_is_iq_nextgen_e() (machine_arch_type == MACH_TYPE_IQ_NEXTGEN_E) ++#else ++# define machine_is_iq_nextgen_e() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MALLOW_AT91 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MALLOW_AT91 ++# endif ++# define machine_is_mallow_at91() (machine_arch_type == MACH_TYPE_MALLOW_AT91) ++#else ++# define machine_is_mallow_at91() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CYBERTRACKER_I ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CYBERTRACKER_I ++# endif ++# define machine_is_cybertracker_i() (machine_arch_type == MACH_TYPE_CYBERTRACKER_I) ++#else ++# define machine_is_cybertracker_i() (0) ++#endif ++ ++#ifdef CONFIG_MACH_GESBC931X ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_GESBC931X ++# endif ++# define machine_is_gesbc931x() (machine_arch_type == MACH_TYPE_GESBC931X) ++#else ++# define machine_is_gesbc931x() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CENTIPAD ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CENTIPAD ++# endif ++# define machine_is_centipad() (machine_arch_type == MACH_TYPE_CENTIPAD) ++#else ++# define machine_is_centipad() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ARMSOC ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ARMSOC ++# endif ++# define machine_is_armsoc() (machine_arch_type == MACH_TYPE_ARMSOC) ++#else ++# define machine_is_armsoc() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SE4200 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SE4200 ++# endif ++# define machine_is_se4200() (machine_arch_type == MACH_TYPE_SE4200) ++#else ++# define machine_is_se4200() (0) ++#endif ++ ++#ifdef CONFIG_MACH_EMS197A ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_EMS197A ++# endif ++# define machine_is_ems197a() (machine_arch_type == MACH_TYPE_EMS197A) ++#else ++# define machine_is_ems197a() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MICRO9 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MICRO9 ++# endif ++# define machine_is_micro9() (machine_arch_type == MACH_TYPE_MICRO9) ++#else ++# define machine_is_micro9() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MICRO9L ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MICRO9L ++# endif ++# define machine_is_micro9l() (machine_arch_type == MACH_TYPE_MICRO9L) ++#else ++# define machine_is_micro9l() (0) ++#endif ++ ++#ifdef CONFIG_MACH_UC5471DSP ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_UC5471DSP ++# endif ++# define machine_is_uc5471dsp() (machine_arch_type == MACH_TYPE_UC5471DSP) ++#else ++# define machine_is_uc5471dsp() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SJ5471ENG ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SJ5471ENG ++# endif ++# define machine_is_sj5471eng() (machine_arch_type == MACH_TYPE_SJ5471ENG) ++#else ++# define machine_is_sj5471eng() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CMPXA26X ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CMPXA26X ++# endif ++# define machine_is_none() (machine_arch_type == MACH_TYPE_CMPXA26X) ++#else ++# define machine_is_none() (0) ++#endif ++ ++#ifdef CONFIG_MACH_NC ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NC ++# endif ++# define machine_is_nc1() (machine_arch_type == MACH_TYPE_NC) ++#else ++# define machine_is_nc1() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_PALMTE ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_PALMTE ++# endif ++# define machine_is_omap_palmte() (machine_arch_type == MACH_TYPE_OMAP_PALMTE) ++#else ++# define machine_is_omap_palmte() (0) ++#endif ++ ++#ifdef CONFIG_MACH_AJAX52X ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_AJAX52X ++# endif ++# define machine_is_ajax52x() (machine_arch_type == MACH_TYPE_AJAX52X) ++#else ++# define machine_is_ajax52x() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SIRIUSTAR ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SIRIUSTAR ++# endif ++# define machine_is_siriustar() (machine_arch_type == MACH_TYPE_SIRIUSTAR) ++#else ++# define machine_is_siriustar() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IODATA_HDLG ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IODATA_HDLG ++# endif ++# define machine_is_iodata_hdlg() (machine_arch_type == MACH_TYPE_IODATA_HDLG) ++#else ++# define machine_is_iodata_hdlg() (0) ++#endif ++ ++#ifdef CONFIG_MACH_AT91RM9200UTL ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_AT91RM9200UTL ++# endif ++# define machine_is_at91rm9200utl() (machine_arch_type == MACH_TYPE_AT91RM9200UTL) ++#else ++# define machine_is_at91rm9200utl() (0) ++#endif ++ ++#ifdef CONFIG_MACH_BIOSAFE ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_BIOSAFE ++# endif ++# define machine_is_biosafe() (machine_arch_type == MACH_TYPE_BIOSAFE) ++#else ++# define machine_is_biosafe() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MP1000 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MP1000 ++# endif ++# define machine_is_mp1000() (machine_arch_type == MACH_TYPE_MP1000) ++#else ++# define machine_is_mp1000() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PARSY ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PARSY ++# endif ++# define machine_is_parsy() (machine_arch_type == MACH_TYPE_PARSY) ++#else ++# define machine_is_parsy() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CCXP ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CCXP ++# endif ++# define machine_is_ccxp270() (machine_arch_type == MACH_TYPE_CCXP) ++#else ++# define machine_is_ccxp270() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_GSAMPLE ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_GSAMPLE ++# endif ++# define machine_is_omap_gsample() (machine_arch_type == MACH_TYPE_OMAP_GSAMPLE) ++#else ++# define machine_is_omap_gsample() (0) ++#endif ++ ++#ifdef CONFIG_MACH_REALVIEW_EB ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_REALVIEW_EB ++# endif ++# define machine_is_realview_eb() (machine_arch_type == MACH_TYPE_REALVIEW_EB) ++#else ++# define machine_is_realview_eb() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SAMOA ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SAMOA ++# endif ++# define machine_is_samoa() (machine_arch_type == MACH_TYPE_SAMOA) ++#else ++# define machine_is_samoa() (0) ++#endif ++ ++#ifdef CONFIG_MACH_T3XSCALE ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_T3XSCALE ++# endif ++# define machine_is_t3xscale() (machine_arch_type == MACH_TYPE_T3XSCALE) ++#else ++# define machine_is_t3xscale() (0) ++#endif ++ ++#ifdef CONFIG_MACH_I878 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_I878 ++# endif ++# define machine_is_i878() (machine_arch_type == MACH_TYPE_I878) ++#else ++# define machine_is_i878() (0) ++#endif ++ ++#ifdef CONFIG_MACH_BORZOI ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_BORZOI ++# endif ++# define machine_is_borzoi() (machine_arch_type == MACH_TYPE_BORZOI) ++#else ++# define machine_is_borzoi() (0) ++#endif ++ ++#ifdef CONFIG_MACH_GECKO ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_GECKO ++# endif ++# define machine_is_gecko() (machine_arch_type == MACH_TYPE_GECKO) ++#else ++# define machine_is_gecko() (0) ++#endif ++ ++#ifdef CONFIG_MACH_DS101 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_DS101 ++# endif ++# define machine_is_ds101() (machine_arch_type == MACH_TYPE_DS101) ++#else ++# define machine_is_ds101() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_PALMTT2 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_PALMTT2 ++# endif ++# define machine_is_omap_palmtt2() (machine_arch_type == MACH_TYPE_OMAP_PALMTT2) ++#else ++# define machine_is_omap_palmtt2() (0) ++#endif ++ ++#ifdef CONFIG_MACH_XSCALE_PALMLD ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_XSCALE_PALMLD ++# endif ++# define machine_is_xscale_palmld() (machine_arch_type == MACH_TYPE_XSCALE_PALMLD) ++#else ++# define machine_is_xscale_palmld() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CC9C ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CC9C ++# endif ++# define machine_is_cc9c() (machine_arch_type == MACH_TYPE_CC9C) ++#else ++# define machine_is_cc9c() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SBC1670 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SBC1670 ++# endif ++# define machine_is_sbc1670() (machine_arch_type == MACH_TYPE_SBC1670) ++#else ++# define machine_is_sbc1670() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IXDP28X5 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IXDP28X5 ++# endif ++# define machine_is_ixdp28x5() (machine_arch_type == MACH_TYPE_IXDP28X5) ++#else ++# define machine_is_ixdp28x5() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_PALMTT ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_PALMTT ++# endif ++# define machine_is_omap_palmtt() (machine_arch_type == MACH_TYPE_OMAP_PALMTT) ++#else ++# define machine_is_omap_palmtt() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ML696K ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ML696K ++# endif ++# define machine_is_ml696k() (machine_arch_type == MACH_TYPE_ML696K) ++#else ++# define machine_is_ml696k() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ARCOM_ZEUS ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ARCOM_ZEUS ++# endif ++# define machine_is_arcom_zeus() (machine_arch_type == MACH_TYPE_ARCOM_ZEUS) ++#else ++# define machine_is_arcom_zeus() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OSIRIS ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OSIRIS ++# endif ++# define machine_is_osiris() (machine_arch_type == MACH_TYPE_OSIRIS) ++#else ++# define machine_is_osiris() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MAESTRO ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MAESTRO ++# endif ++# define machine_is_maestro() (machine_arch_type == MACH_TYPE_MAESTRO) ++#else ++# define machine_is_maestro() (0) ++#endif ++ ++#ifdef CONFIG_MACH_TUNGE2 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_TUNGE2 ++# endif ++# define machine_is_tunge2() (machine_arch_type == MACH_TYPE_TUNGE2) ++#else ++# define machine_is_tunge2() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IXBBM ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IXBBM ++# endif ++# define machine_is_ixbbm() (machine_arch_type == MACH_TYPE_IXBBM) ++#else ++# define machine_is_ixbbm() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MX27 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MX27 ++# endif ++# define machine_is_mx27ads() (machine_arch_type == MACH_TYPE_MX27) ++#else ++# define machine_is_mx27ads() (0) ++#endif ++ ++#ifdef CONFIG_MACH_AX8004 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_AX8004 ++# endif ++# define machine_is_ax8004() (machine_arch_type == MACH_TYPE_AX8004) ++#else ++# define machine_is_ax8004() (0) ++#endif ++ ++#ifdef CONFIG_MACH_AT91SAM9261EK ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_AT91SAM9261EK ++# endif ++# define machine_is_at91sam9261ek() (machine_arch_type == MACH_TYPE_AT91SAM9261EK) ++#else ++# define machine_is_at91sam9261ek() (0) ++#endif ++ ++#ifdef CONFIG_MACH_LOFT ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_LOFT ++# endif ++# define machine_is_loft() (machine_arch_type == MACH_TYPE_LOFT) ++#else ++# define machine_is_loft() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MAGPIE ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MAGPIE ++# endif ++# define machine_is_magpie() (machine_arch_type == MACH_TYPE_MAGPIE) ++#else ++# define machine_is_magpie() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MX21 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MX21 ++# endif ++# define machine_is_mx21ads() (machine_arch_type == MACH_TYPE_MX21) ++#else ++# define machine_is_mx21ads() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MB87M3400 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MB87M3400 ++# endif ++# define machine_is_mb87m3400() (machine_arch_type == MACH_TYPE_MB87M3400) ++#else ++# define machine_is_mb87m3400() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MGUARD_DELTA ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MGUARD_DELTA ++# endif ++# define machine_is_mguard_delta() (machine_arch_type == MACH_TYPE_MGUARD_DELTA) ++#else ++# define machine_is_mguard_delta() (0) ++#endif ++ ++#ifdef CONFIG_MACH_DAVINCI_DVDP ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_DAVINCI_DVDP ++# endif ++# define machine_is_davinci_dvdp() (machine_arch_type == MACH_TYPE_DAVINCI_DVDP) ++#else ++# define machine_is_davinci_dvdp() (0) ++#endif ++ ++#ifdef CONFIG_MACH_HTCUNIVERSAL ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_HTCUNIVERSAL ++# endif ++# define machine_is_htcuniversal() (machine_arch_type == MACH_TYPE_HTCUNIVERSAL) ++#else ++# define machine_is_htcuniversal() (0) ++#endif ++ ++#ifdef CONFIG_MACH_TPAD ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_TPAD ++# endif ++# define machine_is_tpad() (machine_arch_type == MACH_TYPE_TPAD) ++#else ++# define machine_is_tpad() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ROVERP3 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ROVERP3 ++# endif ++# define machine_is_roverp3() (machine_arch_type == MACH_TYPE_ROVERP3) ++#else ++# define machine_is_roverp3() (0) ++#endif ++ ++#ifdef CONFIG_MACH_JORNADA928 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_JORNADA928 ++# endif ++# define machine_is_jornada928() (machine_arch_type == MACH_TYPE_JORNADA928) ++#else ++# define machine_is_jornada928() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MV88FXX81 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MV88FXX81 ++# endif ++# define machine_is_mv88fxx81() (machine_arch_type == MACH_TYPE_MV88FXX81) ++#else ++# define machine_is_mv88fxx81() (0) ++#endif ++ ++#ifdef CONFIG_MACH_STMP36XX ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_STMP36XX ++# endif ++# define machine_is_stmp36xx() (machine_arch_type == MACH_TYPE_STMP36XX) ++#else ++# define machine_is_stmp36xx() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SXNI79524 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SXNI79524 ++# endif ++# define machine_is_sxni79524() (machine_arch_type == MACH_TYPE_SXNI79524) ++#else ++# define machine_is_sxni79524() (0) ++#endif ++ ++#ifdef CONFIG_MACH_AMS_DELTA ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_AMS_DELTA ++# endif ++# define machine_is_ams_delta() (machine_arch_type == MACH_TYPE_AMS_DELTA) ++#else ++# define machine_is_ams_delta() (0) ++#endif ++ ++#ifdef CONFIG_MACH_URANIUM ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_URANIUM ++# endif ++# define machine_is_uranium() (machine_arch_type == MACH_TYPE_URANIUM) ++#else ++# define machine_is_uranium() (0) ++#endif ++ ++#ifdef CONFIG_MACH_UCON ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_UCON ++# endif ++# define machine_is_ucon() (machine_arch_type == MACH_TYPE_UCON) ++#else ++# define machine_is_ucon() (0) ++#endif ++ ++#ifdef CONFIG_MACH_NAS100D ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NAS100D ++# endif ++# define machine_is_nas100d() (machine_arch_type == MACH_TYPE_NAS100D) ++#else ++# define machine_is_nas100d() (0) ++#endif ++ ++#ifdef CONFIG_MACH_L083_1000 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_L083_1000 ++# endif ++# define machine_is_l083() (machine_arch_type == MACH_TYPE_L083_1000) ++#else ++# define machine_is_l083() (0) ++#endif ++ ++#ifdef CONFIG_MACH_EZX ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_EZX ++# endif ++# define machine_is_ezx() (machine_arch_type == MACH_TYPE_EZX) ++#else ++# define machine_is_ezx() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PNX5220 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PNX5220 ++# endif ++# define machine_is_pnx5220() (machine_arch_type == MACH_TYPE_PNX5220) ++#else ++# define machine_is_pnx5220() (0) ++#endif ++ ++#ifdef CONFIG_MACH_BUTTE ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_BUTTE ++# endif ++# define machine_is_butte() (machine_arch_type == MACH_TYPE_BUTTE) ++#else ++# define machine_is_butte() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SRM2 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SRM2 ++# endif ++# define machine_is_srm2() (machine_arch_type == MACH_TYPE_SRM2) ++#else ++# define machine_is_srm2() (0) ++#endif ++ ++#ifdef CONFIG_MACH_DSBR ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_DSBR ++# endif ++# define machine_is_dsbr() (machine_arch_type == MACH_TYPE_DSBR) ++#else ++# define machine_is_dsbr() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CRYSTALBALL ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CRYSTALBALL ++# endif ++# define machine_is_crystalball() (machine_arch_type == MACH_TYPE_CRYSTALBALL) ++#else ++# define machine_is_crystalball() (0) ++#endif ++ ++#ifdef CONFIG_MACH_TINYPXA27X ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_TINYPXA27X ++# endif ++# define machine_is_tinypxa27x() (machine_arch_type == MACH_TYPE_TINYPXA27X) ++#else ++# define machine_is_tinypxa27x() (0) ++#endif ++ ++#ifdef CONFIG_MACH_HERBIE ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_HERBIE ++# endif ++# define machine_is_herbie() (machine_arch_type == MACH_TYPE_HERBIE) ++#else ++# define machine_is_herbie() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MAGICIAN ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MAGICIAN ++# endif ++# define machine_is_magician() (machine_arch_type == MACH_TYPE_MAGICIAN) ++#else ++# define machine_is_magician() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CM4002 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CM4002 ++# endif ++# define machine_is_cm4002() (machine_arch_type == MACH_TYPE_CM4002) ++#else ++# define machine_is_cm4002() (0) ++#endif ++ ++#ifdef CONFIG_MACH_B4 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_B4 ++# endif ++# define machine_is_b4() (machine_arch_type == MACH_TYPE_B4) ++#else ++# define machine_is_b4() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MAUI ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MAUI ++# endif ++# define machine_is_maui() (machine_arch_type == MACH_TYPE_MAUI) ++#else ++# define machine_is_maui() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CYBERTRACKER_G ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CYBERTRACKER_G ++# endif ++# define machine_is_cybertracker_g() (machine_arch_type == MACH_TYPE_CYBERTRACKER_G) ++#else ++# define machine_is_cybertracker_g() (0) ++#endif ++ ++#ifdef CONFIG_MACH_NXDKN ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NXDKN ++# endif ++# define machine_is_nxdkn() (machine_arch_type == MACH_TYPE_NXDKN) ++#else ++# define machine_is_nxdkn() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MIO8390 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MIO8390 ++# endif ++# define machine_is_mio8390() (machine_arch_type == MACH_TYPE_MIO8390) ++#else ++# define machine_is_mio8390() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMI_BOARD ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMI_BOARD ++# endif ++# define machine_is_omi_board() (machine_arch_type == MACH_TYPE_OMI_BOARD) ++#else ++# define machine_is_omi_board() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MX21CIV ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MX21CIV ++# endif ++# define machine_is_mx21civ() (machine_arch_type == MACH_TYPE_MX21CIV) ++#else ++# define machine_is_mx21civ() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MAHI_CDAC ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MAHI_CDAC ++# endif ++# define machine_is_mahi_cdac() (machine_arch_type == MACH_TYPE_MAHI_CDAC) ++#else ++# define machine_is_mahi_cdac() (0) ++#endif ++ ++#ifdef CONFIG_MACH_XSCALE_PALMTX ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_XSCALE_PALMTX ++# endif ++# define machine_is_xscale_palmtx() (machine_arch_type == MACH_TYPE_XSCALE_PALMTX) ++#else ++# define machine_is_xscale_palmtx() (0) ++#endif ++ ++#ifdef CONFIG_MACH_S3C2413 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_S3C2413 ++# endif ++# define machine_is_s3c2413() (machine_arch_type == MACH_TYPE_S3C2413) ++#else ++# define machine_is_s3c2413() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SAMSYS_EP0 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SAMSYS_EP0 ++# endif ++# define machine_is_samsys_ep0() (machine_arch_type == MACH_TYPE_SAMSYS_EP0) ++#else ++# define machine_is_samsys_ep0() (0) ++#endif ++ ++#ifdef CONFIG_MACH_WG302V1 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_WG302V1 ++# endif ++# define machine_is_wg302v1() (machine_arch_type == MACH_TYPE_WG302V1) ++#else ++# define machine_is_wg302v1() (0) ++#endif ++ ++#ifdef CONFIG_MACH_WG302V2 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_WG302V2 ++# endif ++# define machine_is_wg302v2() (machine_arch_type == MACH_TYPE_WG302V2) ++#else ++# define machine_is_wg302v2() (0) ++#endif ++ ++#ifdef CONFIG_MACH_EB42X ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_EB42X ++# endif ++# define machine_is_eb42x() (machine_arch_type == MACH_TYPE_EB42X) ++#else ++# define machine_is_eb42x() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IQ331ES ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IQ331ES ++# endif ++# define machine_is_iq331es() (machine_arch_type == MACH_TYPE_IQ331ES) ++#else ++# define machine_is_iq331es() (0) ++#endif ++ ++#ifdef CONFIG_MACH_COSYDSP ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_COSYDSP ++# endif ++# define machine_is_cosydsp() (machine_arch_type == MACH_TYPE_COSYDSP) ++#else ++# define machine_is_cosydsp() (0) ++#endif ++ ++#ifdef CONFIG_MACH_UPLAT7D ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_UPLAT7D ++# endif ++# define machine_is_uplat7d_proto() (machine_arch_type == MACH_TYPE_UPLAT7D) ++#else ++# define machine_is_uplat7d_proto() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PTDAVINCI ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PTDAVINCI ++# endif ++# define machine_is_ptdavinci() (machine_arch_type == MACH_TYPE_PTDAVINCI) ++#else ++# define machine_is_ptdavinci() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MBUS ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MBUS ++# endif ++# define machine_is_mbus() (machine_arch_type == MACH_TYPE_MBUS) ++#else ++# define machine_is_mbus() (0) ++#endif ++ ++#ifdef CONFIG_MACH_NADIA2VB ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NADIA2VB ++# endif ++# define machine_is_nadia2vb() (machine_arch_type == MACH_TYPE_NADIA2VB) ++#else ++# define machine_is_nadia2vb() (0) ++#endif ++ ++#ifdef CONFIG_MACH_R1000 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_R1000 ++# endif ++# define machine_is_r1000() (machine_arch_type == MACH_TYPE_R1000) ++#else ++# define machine_is_r1000() (0) ++#endif ++ ++#ifdef CONFIG_MACH_HW90250 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_HW90250 ++# endif ++# define machine_is_hw90250() (machine_arch_type == MACH_TYPE_HW90250) ++#else ++# define machine_is_hw90250() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_2430SDP ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_2430SDP ++# endif ++# define machine_is_omap_2430sdp() (machine_arch_type == MACH_TYPE_OMAP_2430SDP) ++#else ++# define machine_is_omap_2430sdp() (0) ++#endif ++ ++#ifdef CONFIG_MACH_DAVINCI_EVM ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_DAVINCI_EVM ++# endif ++# define machine_is_davinci_evm() (machine_arch_type == MACH_TYPE_DAVINCI_EVM) ++#else ++# define machine_is_davinci_evm() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_TORNADO ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_TORNADO ++# endif ++# define machine_is_omap_tornado() (machine_arch_type == MACH_TYPE_OMAP_TORNADO) ++#else ++# define machine_is_omap_tornado() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OLOCREEK ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OLOCREEK ++# endif ++# define machine_is_olocreek() (machine_arch_type == MACH_TYPE_OLOCREEK) ++#else ++# define machine_is_olocreek() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PALMZ72 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PALMZ72 ++# endif ++# define machine_is_palmz72() (machine_arch_type == MACH_TYPE_PALMZ72) ++#else ++# define machine_is_palmz72() (0) ++#endif ++ ++#ifdef CONFIG_MACH_NXDB500 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NXDB500 ++# endif ++# define machine_is_nxdb500() (machine_arch_type == MACH_TYPE_NXDB500) ++#else ++# define machine_is_nxdb500() (0) ++#endif ++ ++#ifdef CONFIG_MACH_APF9328 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_APF9328 ++# endif ++# define machine_is_apf9328() (machine_arch_type == MACH_TYPE_APF9328) ++#else ++# define machine_is_apf9328() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_WIPOQ ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_WIPOQ ++# endif ++# define machine_is_omap_wipoq() (machine_arch_type == MACH_TYPE_OMAP_WIPOQ) ++#else ++# define machine_is_omap_wipoq() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_TWIP ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_TWIP ++# endif ++# define machine_is_omap_twip() (machine_arch_type == MACH_TYPE_OMAP_TWIP) ++#else ++# define machine_is_omap_twip() (0) ++#endif ++ ++#ifdef CONFIG_MACH_XSCALE_PALMTREO650 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_XSCALE_PALMTREO650 ++# endif ++# define machine_is_xscale_treo650() (machine_arch_type == MACH_TYPE_XSCALE_PALMTREO650) ++#else ++# define machine_is_xscale_treo650() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ACUMEN ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ACUMEN ++# endif ++# define machine_is_acumen() (machine_arch_type == MACH_TYPE_ACUMEN) ++#else ++# define machine_is_acumen() (0) ++#endif ++ ++#ifdef CONFIG_MACH_XP100 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_XP100 ++# endif ++# define machine_is_xp100() (machine_arch_type == MACH_TYPE_XP100) ++#else ++# define machine_is_xp100() (0) ++#endif ++ ++#ifdef CONFIG_MACH_FS2410 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_FS2410 ++# endif ++# define machine_is_fs2410() (machine_arch_type == MACH_TYPE_FS2410) ++#else ++# define machine_is_fs2410() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PXA270_CERF ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PXA270_CERF ++# endif ++# define machine_is_pxa270_cerf() (machine_arch_type == MACH_TYPE_PXA270_CERF) ++#else ++# define machine_is_pxa270_cerf() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SQ2FTLPALM ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SQ2FTLPALM ++# endif ++# define machine_is_sq2ftlpalm() (machine_arch_type == MACH_TYPE_SQ2FTLPALM) ++#else ++# define machine_is_sq2ftlpalm() (0) ++#endif ++ ++#ifdef CONFIG_MACH_BSEMSERVER ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_BSEMSERVER ++# endif ++# define machine_is_bsemserver() (machine_arch_type == MACH_TYPE_BSEMSERVER) ++#else ++# define machine_is_bsemserver() (0) ++#endif ++ ++#ifdef CONFIG_MACH_NETCLIENT ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NETCLIENT ++# endif ++# define machine_is_netclient() (machine_arch_type == MACH_TYPE_NETCLIENT) ++#else ++# define machine_is_netclient() (0) ++#endif ++ ++#ifdef CONFIG_MACH_XSCALE_PALMTT5 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_XSCALE_PALMTT5 ++# endif ++# define machine_is_xscale_palmtt5() (machine_arch_type == MACH_TYPE_XSCALE_PALMTT5) ++#else ++# define machine_is_xscale_palmtt5() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_PALMTC ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_PALMTC ++# endif ++# define machine_is_xscale_palmtc() (machine_arch_type == MACH_TYPE_OMAP_PALMTC) ++#else ++# define machine_is_xscale_palmtc() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_APOLLON ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_APOLLON ++# endif ++# define machine_is_omap_apollon() (machine_arch_type == MACH_TYPE_OMAP_APOLLON) ++#else ++# define machine_is_omap_apollon() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ARGONLVEVB ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ARGONLVEVB ++# endif ++# define machine_is_mxc30030evb() (machine_arch_type == MACH_TYPE_ARGONLVEVB) ++#else ++# define machine_is_mxc30030evb() (0) ++#endif ++ ++#ifdef CONFIG_MACH_REA_2D ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_REA_2D ++# endif ++# define machine_is_rea_2d() (machine_arch_type == MACH_TYPE_REA_2D) ++#else ++# define machine_is_rea_2d() (0) ++#endif ++ ++#ifdef CONFIG_MACH_TI3E524 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_TI3E524 ++# endif ++# define machine_is_eti3e524() (machine_arch_type == MACH_TYPE_TI3E524) ++#else ++# define machine_is_eti3e524() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ATEB9200 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ATEB9200 ++# endif ++# define machine_is_ateb9200() (machine_arch_type == MACH_TYPE_ATEB9200) ++#else ++# define machine_is_ateb9200() (0) ++#endif ++ ++#ifdef CONFIG_MACH_AUCKLAND ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_AUCKLAND ++# endif ++# define machine_is_auckland() (machine_arch_type == MACH_TYPE_AUCKLAND) ++#else ++# define machine_is_auckland() (0) ++#endif ++ ++#ifdef CONFIG_MACH_AK3320M ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_AK3320M ++# endif ++# define machine_is_ak3220m() (machine_arch_type == MACH_TYPE_AK3320M) ++#else ++# define machine_is_ak3220m() (0) ++#endif ++ ++#ifdef CONFIG_MACH_DURAMAX ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_DURAMAX ++# endif ++# define machine_is_duramax() (machine_arch_type == MACH_TYPE_DURAMAX) ++#else ++# define machine_is_duramax() (0) ++#endif ++ ++#ifdef CONFIG_MACH_N35 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_N35 ++# endif ++# define machine_is_n35() (machine_arch_type == MACH_TYPE_N35) ++#else ++# define machine_is_n35() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PRONGHORN ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PRONGHORN ++# endif ++# define machine_is_pronghorn() (machine_arch_type == MACH_TYPE_PRONGHORN) ++#else ++# define machine_is_pronghorn() (0) ++#endif ++ ++#ifdef CONFIG_MACH_FUNDY ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_FUNDY ++# endif ++# define machine_is_fundy() (machine_arch_type == MACH_TYPE_FUNDY) ++#else ++# define machine_is_fundy() (0) ++#endif ++ ++#ifdef CONFIG_MACH_LOGICPD_PXA270 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_LOGICPD_PXA270 ++# endif ++# define machine_is_logicpd_pxa270() (machine_arch_type == MACH_TYPE_LOGICPD_PXA270) ++#else ++# define machine_is_logicpd_pxa270() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CPU777 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CPU777 ++# endif ++# define machine_is_cpu777() (machine_arch_type == MACH_TYPE_CPU777) ++#else ++# define machine_is_cpu777() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SIMICON9201 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SIMICON9201 ++# endif ++# define machine_is_simicon9201() (machine_arch_type == MACH_TYPE_SIMICON9201) ++#else ++# define machine_is_simicon9201() (0) ++#endif ++ ++#ifdef CONFIG_MACH_LEAP2_HPM ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_LEAP2_HPM ++# endif ++# define machine_is_leap2_hpm() (machine_arch_type == MACH_TYPE_LEAP2_HPM) ++#else ++# define machine_is_leap2_hpm() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CM922TXA10 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CM922TXA10 ++# endif ++# define machine_is_cm922txa10() (machine_arch_type == MACH_TYPE_CM922TXA10) ++#else ++# define machine_is_cm922txa10() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PXA ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PXA ++# endif ++# define machine_is_sandgate() (machine_arch_type == MACH_TYPE_PXA) ++#else ++# define machine_is_sandgate() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SANDGATE2 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SANDGATE2 ++# endif ++# define machine_is_sandgate2() (machine_arch_type == MACH_TYPE_SANDGATE2) ++#else ++# define machine_is_sandgate2() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SANDGATE2G ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SANDGATE2G ++# endif ++# define machine_is_sandgate2g() (machine_arch_type == MACH_TYPE_SANDGATE2G) ++#else ++# define machine_is_sandgate2g() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SANDGATE2P ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SANDGATE2P ++# endif ++# define machine_is_sandgate2p() (machine_arch_type == MACH_TYPE_SANDGATE2P) ++#else ++# define machine_is_sandgate2p() (0) ++#endif ++ ++#ifdef CONFIG_MACH_FRED_JACK ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_FRED_JACK ++# endif ++# define machine_is_fred_jack() (machine_arch_type == MACH_TYPE_FRED_JACK) ++#else ++# define machine_is_fred_jack() (0) ++#endif ++ ++#ifdef CONFIG_MACH_TTG_COLOR1 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_TTG_COLOR1 ++# endif ++# define machine_is_ttg_color1() (machine_arch_type == MACH_TYPE_TTG_COLOR1) ++#else ++# define machine_is_ttg_color1() (0) ++#endif ++ ++#ifdef CONFIG_MACH_NXEB500HMI ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NXEB500HMI ++# endif ++# define machine_is_nxeb500hmi() (machine_arch_type == MACH_TYPE_NXEB500HMI) ++#else ++# define machine_is_nxeb500hmi() (0) ++#endif ++ ++#ifdef CONFIG_MACH_NETDCU8 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NETDCU8 ++# endif ++# define machine_is_netdcu8() (machine_arch_type == MACH_TYPE_NETDCU8) ++#else ++# define machine_is_netdcu8() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ML675050_CPU_BOA ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ML675050_CPU_BOA ++# endif ++# define machine_is_ml675050_cpu_boa() (machine_arch_type == MACH_TYPE_ML675050_CPU_BOA) ++#else ++# define machine_is_ml675050_cpu_boa() (0) ++#endif ++ ++#ifdef CONFIG_MACH_NG_FVX538 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NG_FVX538 ++# endif ++# define machine_is_ng_fvx538() (machine_arch_type == MACH_TYPE_NG_FVX538) ++#else ++# define machine_is_ng_fvx538() (0) ++#endif ++ ++#ifdef CONFIG_MACH_NG_FVS338 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NG_FVS338 ++# endif ++# define machine_is_ng_fvs338() (machine_arch_type == MACH_TYPE_NG_FVS338) ++#else ++# define machine_is_ng_fvs338() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PNX4103 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PNX4103 ++# endif ++# define machine_is_pnx4103() (machine_arch_type == MACH_TYPE_PNX4103) ++#else ++# define machine_is_pnx4103() (0) ++#endif ++ ++#ifdef CONFIG_MACH_HESDB ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_HESDB ++# endif ++# define machine_is_hesdb() (machine_arch_type == MACH_TYPE_HESDB) ++#else ++# define machine_is_hesdb() (0) ++#endif ++ ++#ifdef CONFIG_MACH_XSILO ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_XSILO ++# endif ++# define machine_is_xsilo() (machine_arch_type == MACH_TYPE_XSILO) ++#else ++# define machine_is_xsilo() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ESPRESSO ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ESPRESSO ++# endif ++# define machine_is_espresso() (machine_arch_type == MACH_TYPE_ESPRESSO) ++#else ++# define machine_is_espresso() (0) ++#endif ++ ++#ifdef CONFIG_MACH_EMLC ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_EMLC ++# endif ++# define machine_is_emlc() (machine_arch_type == MACH_TYPE_EMLC) ++#else ++# define machine_is_emlc() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SISTERON ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SISTERON ++# endif ++# define machine_is_sisteron() (machine_arch_type == MACH_TYPE_SISTERON) ++#else ++# define machine_is_sisteron() (0) ++#endif ++ ++#ifdef CONFIG_MACH_RX1950 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_RX1950 ++# endif ++# define machine_is_rx1950() (machine_arch_type == MACH_TYPE_RX1950) ++#else ++# define machine_is_rx1950() (0) ++#endif ++ ++#ifdef CONFIG_MACH_TSC_VENUS ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_TSC_VENUS ++# endif ++# define machine_is_tsc_venus() (machine_arch_type == MACH_TYPE_TSC_VENUS) ++#else ++# define machine_is_tsc_venus() (0) ++#endif ++ ++#ifdef CONFIG_MACH_DS101J ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_DS101J ++# endif ++# define machine_is_ds101j() (machine_arch_type == MACH_TYPE_DS101J) ++#else ++# define machine_is_ds101j() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MXC30030ADS ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MXC30030ADS ++# endif ++# define machine_is_mxc30030ads() (machine_arch_type == MACH_TYPE_MXC30030ADS) ++#else ++# define machine_is_mxc30030ads() (0) ++#endif ++ ++#ifdef CONFIG_MACH_FUJITSU_WIMAXSOC ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_FUJITSU_WIMAXSOC ++# endif ++# define machine_is_fujitsu_wimaxsoc() (machine_arch_type == MACH_TYPE_FUJITSU_WIMAXSOC) ++#else ++# define machine_is_fujitsu_wimaxsoc() (0) ++#endif ++ ++#ifdef CONFIG_MACH_DUALPCMODEM ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_DUALPCMODEM ++# endif ++# define machine_is_dualpcmodem() (machine_arch_type == MACH_TYPE_DUALPCMODEM) ++#else ++# define machine_is_dualpcmodem() (0) ++#endif ++ ++#ifdef CONFIG_MACH_GESBC9312 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_GESBC9312 ++# endif ++# define machine_is_gesbc9312() (machine_arch_type == MACH_TYPE_GESBC9312) ++#else ++# define machine_is_gesbc9312() (0) ++#endif ++ ++#ifdef CONFIG_MACH_HTCAPACHE ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_HTCAPACHE ++# endif ++# define machine_is_htcapache() (machine_arch_type == MACH_TYPE_HTCAPACHE) ++#else ++# define machine_is_htcapache() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IXDP435 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IXDP435 ++# endif ++# define machine_is_ixdp435() (machine_arch_type == MACH_TYPE_IXDP435) ++#else ++# define machine_is_ixdp435() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CATPROVT100 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CATPROVT100 ++# endif ++# define machine_is_catprovt100() (machine_arch_type == MACH_TYPE_CATPROVT100) ++#else ++# define machine_is_catprovt100() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PICOTUX1XX ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PICOTUX1XX ++# endif ++# define machine_is_picotux1xx() (machine_arch_type == MACH_TYPE_PICOTUX1XX) ++#else ++# define machine_is_picotux1xx() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PICOTUX2XX ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PICOTUX2XX ++# endif ++# define machine_is_picotux2xx() (machine_arch_type == MACH_TYPE_PICOTUX2XX) ++#else ++# define machine_is_picotux2xx() (0) ++#endif ++ ++#ifdef CONFIG_MACH_DSMG600 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_DSMG600 ++# endif ++# define machine_is_dsmg600() (machine_arch_type == MACH_TYPE_DSMG600) ++#else ++# define machine_is_dsmg600() (0) ++#endif ++ ++#ifdef CONFIG_MACH_EMPC2 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_EMPC2 ++# endif ++# define machine_is_empc2() (machine_arch_type == MACH_TYPE_EMPC2) ++#else ++# define machine_is_empc2() (0) ++#endif ++ ++#ifdef CONFIG_MACH_VENTURA ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_VENTURA ++# endif ++# define machine_is_ventura() (machine_arch_type == MACH_TYPE_VENTURA) ++#else ++# define machine_is_ventura() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PHIDGET_SBC ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PHIDGET_SBC ++# endif ++# define machine_is_phidget_sbc() (machine_arch_type == MACH_TYPE_PHIDGET_SBC) ++#else ++# define machine_is_phidget_sbc() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IJ3K ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IJ3K ++# endif ++# define machine_is_ij3k() (machine_arch_type == MACH_TYPE_IJ3K) ++#else ++# define machine_is_ij3k() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PISGAH ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PISGAH ++# endif ++# define machine_is_pisgah() (machine_arch_type == MACH_TYPE_PISGAH) ++#else ++# define machine_is_pisgah() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_FSAMPLE ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_FSAMPLE ++# endif ++# define machine_is_omap_fsample() (machine_arch_type == MACH_TYPE_OMAP_FSAMPLE) ++#else ++# define machine_is_omap_fsample() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SG720 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SG720 ++# endif ++# define machine_is_sg720() (machine_arch_type == MACH_TYPE_SG720) ++#else ++# define machine_is_sg720() (0) ++#endif ++ ++#ifdef CONFIG_MACH_REDFOX ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_REDFOX ++# endif ++# define machine_is_redfox() (machine_arch_type == MACH_TYPE_REDFOX) ++#else ++# define machine_is_redfox() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MYSH_EP9315_1 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MYSH_EP9315_1 ++# endif ++# define machine_is_mysh_ep9315_1() (machine_arch_type == MACH_TYPE_MYSH_EP9315_1) ++#else ++# define machine_is_mysh_ep9315_1() (0) ++#endif ++ ++#ifdef CONFIG_MACH_TPF106 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_TPF106 ++# endif ++# define machine_is_tpf106() (machine_arch_type == MACH_TYPE_TPF106) ++#else ++# define machine_is_tpf106() (0) ++#endif ++ ++#ifdef CONFIG_MACH_AT91RM9200KG ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_AT91RM9200KG ++# endif ++# define machine_is_at91rm9200kg() (machine_arch_type == MACH_TYPE_AT91RM9200KG) ++#else ++# define machine_is_at91rm9200kg() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SLEDB ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SLEDB ++# endif ++# define machine_is_racemt2() (machine_arch_type == MACH_TYPE_SLEDB) ++#else ++# define machine_is_racemt2() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ONTRACK ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ONTRACK ++# endif ++# define machine_is_ontrack() (machine_arch_type == MACH_TYPE_ONTRACK) ++#else ++# define machine_is_ontrack() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PM1200 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PM1200 ++# endif ++# define machine_is_pm1200() (machine_arch_type == MACH_TYPE_PM1200) ++#else ++# define machine_is_pm1200() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ESS24XXX ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ESS24XXX ++# endif ++# define machine_is_ess24562() (machine_arch_type == MACH_TYPE_ESS24XXX) ++#else ++# define machine_is_ess24562() (0) ++#endif ++ ++#ifdef CONFIG_MACH_COREMP7 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_COREMP7 ++# endif ++# define machine_is_coremp7() (machine_arch_type == MACH_TYPE_COREMP7) ++#else ++# define machine_is_coremp7() (0) ++#endif ++ ++#ifdef CONFIG_MACH_NEXCODER_6446 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NEXCODER_6446 ++# endif ++# define machine_is_nexcoder_6446() (machine_arch_type == MACH_TYPE_NEXCODER_6446) ++#else ++# define machine_is_nexcoder_6446() (0) ++#endif ++ ++#ifdef CONFIG_MACH_STVC8380 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_STVC8380 ++# endif ++# define machine_is_stvc8380() (machine_arch_type == MACH_TYPE_STVC8380) ++#else ++# define machine_is_stvc8380() (0) ++#endif ++ ++#ifdef CONFIG_MACH_TEKLYNX ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_TEKLYNX ++# endif ++# define machine_is_teklynx() (machine_arch_type == MACH_TYPE_TEKLYNX) ++#else ++# define machine_is_teklynx() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CARBONADO ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CARBONADO ++# endif ++# define machine_is_carbonado() (machine_arch_type == MACH_TYPE_CARBONADO) ++#else ++# define machine_is_carbonado() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SYSMOS_MP730 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SYSMOS_MP730 ++# endif ++# define machine_is_sysmos_mp730() (machine_arch_type == MACH_TYPE_SYSMOS_MP730) ++#else ++# define machine_is_sysmos_mp730() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SNAPPER_CL15 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SNAPPER_CL15 ++# endif ++# define machine_is_snapper_cl15() (machine_arch_type == MACH_TYPE_SNAPPER_CL15) ++#else ++# define machine_is_snapper_cl15() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PGIGIM ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PGIGIM ++# endif ++# define machine_is_pgigim() (machine_arch_type == MACH_TYPE_PGIGIM) ++#else ++# define machine_is_pgigim() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PTX9160P2 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PTX9160P2 ++# endif ++# define machine_is_ptx9160p2() (machine_arch_type == MACH_TYPE_PTX9160P2) ++#else ++# define machine_is_ptx9160p2() (0) ++#endif ++ ++#ifdef CONFIG_MACH_DCORE1 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_DCORE1 ++# endif ++# define machine_is_dcore1() (machine_arch_type == MACH_TYPE_DCORE1) ++#else ++# define machine_is_dcore1() (0) ++#endif ++ ++#ifdef CONFIG_MACH_VICTORPXA ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_VICTORPXA ++# endif ++# define machine_is_victorpxa() (machine_arch_type == MACH_TYPE_VICTORPXA) ++#else ++# define machine_is_victorpxa() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MX2DTB ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MX2DTB ++# endif ++# define machine_is_mx2dtb() (machine_arch_type == MACH_TYPE_MX2DTB) ++#else ++# define machine_is_mx2dtb() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PXA_IREX_ER0100 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PXA_IREX_ER0100 ++# endif ++# define machine_is_pxa_irex_er0100() (machine_arch_type == MACH_TYPE_PXA_IREX_ER0100) ++#else ++# define machine_is_pxa_irex_er0100() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_PALMZ71 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_PALMZ71 ++# endif ++# define machine_is_omap_palmz71() (machine_arch_type == MACH_TYPE_OMAP_PALMZ71) ++#else ++# define machine_is_omap_palmz71() (0) ++#endif ++ ++#ifdef CONFIG_MACH_BARTEC_DEG ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_BARTEC_DEG ++# endif ++# define machine_is_bartec_deg() (machine_arch_type == MACH_TYPE_BARTEC_DEG) ++#else ++# define machine_is_bartec_deg() (0) ++#endif ++ ++#ifdef CONFIG_MACH_HW50251 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_HW50251 ++# endif ++# define machine_is_hw50251() (machine_arch_type == MACH_TYPE_HW50251) ++#else ++# define machine_is_hw50251() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IBOX ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IBOX ++# endif ++# define machine_is_ibox() (machine_arch_type == MACH_TYPE_IBOX) ++#else ++# define machine_is_ibox() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ATLASLH7A404 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ATLASLH7A404 ++# endif ++# define machine_is_atlaslh7a404() (machine_arch_type == MACH_TYPE_ATLASLH7A404) ++#else ++# define machine_is_atlaslh7a404() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PT2026 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PT2026 ++# endif ++# define machine_is_pt2026() (machine_arch_type == MACH_TYPE_PT2026) ++#else ++# define machine_is_pt2026() (0) ++#endif ++ ++#ifdef CONFIG_MACH_HTCALPINE ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_HTCALPINE ++# endif ++# define machine_is_htcalpine() (machine_arch_type == MACH_TYPE_HTCALPINE) ++#else ++# define machine_is_htcalpine() (0) ++#endif ++ ++#ifdef CONFIG_MACH_BARTEC_VTU ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_BARTEC_VTU ++# endif ++# define machine_is_bartec_vtu() (machine_arch_type == MACH_TYPE_BARTEC_VTU) ++#else ++# define machine_is_bartec_vtu() (0) ++#endif ++ ++#ifdef CONFIG_MACH_VCOREII ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_VCOREII ++# endif ++# define machine_is_vcoreii() (machine_arch_type == MACH_TYPE_VCOREII) ++#else ++# define machine_is_vcoreii() (0) ++#endif ++ ++#ifdef CONFIG_MACH_PDNB3 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_PDNB3 ++# endif ++# define machine_is_pdnb3() (machine_arch_type == MACH_TYPE_PDNB3) ++#else ++# define machine_is_pdnb3() (0) ++#endif ++ ++#ifdef CONFIG_MACH_HTCBEETLES ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_HTCBEETLES ++# endif ++# define machine_is_htcbeetles() (machine_arch_type == MACH_TYPE_HTCBEETLES) ++#else ++# define machine_is_htcbeetles() (0) ++#endif ++ ++#ifdef CONFIG_MACH_S3C6400 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_S3C6400 ++# endif ++# define machine_is_s3c6400() (machine_arch_type == MACH_TYPE_S3C6400) ++#else ++# define machine_is_s3c6400() (0) ++#endif ++ ++#ifdef CONFIG_MACH_S3C2443 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_S3C2443 ++# endif ++# define machine_is_s3c2443() (machine_arch_type == MACH_TYPE_S3C2443) ++#else ++# define machine_is_s3c2443() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OMAP_LDK ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OMAP_LDK ++# endif ++# define machine_is_omap_ldk() (machine_arch_type == MACH_TYPE_OMAP_LDK) ++#else ++# define machine_is_omap_ldk() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SMDK2460 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SMDK2460 ++# endif ++# define machine_is_smdk2460() (machine_arch_type == MACH_TYPE_SMDK2460) ++#else ++# define machine_is_smdk2460() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SMDK2440 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SMDK2440 ++# endif ++# define machine_is_smdk2440() (machine_arch_type == MACH_TYPE_SMDK2440) ++#else ++# define machine_is_smdk2440() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SMDK2412 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SMDK2412 ++# endif ++# define machine_is_smdk2412() (machine_arch_type == MACH_TYPE_SMDK2412) ++#else ++# define machine_is_smdk2412() (0) ++#endif ++ ++#ifdef CONFIG_MACH_WEBBOX ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_WEBBOX ++# endif ++# define machine_is_webbox() (machine_arch_type == MACH_TYPE_WEBBOX) ++#else ++# define machine_is_webbox() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CWWNDP ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CWWNDP ++# endif ++# define machine_is_cwwndp() (machine_arch_type == MACH_TYPE_CWWNDP) ++#else ++# define machine_is_cwwndp() (0) ++#endif ++ ++#ifdef CONFIG_MACH_DRAGON ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_DRAGON ++# endif ++# define machine_is_dragon() (machine_arch_type == MACH_TYPE_DRAGON) ++#else ++# define machine_is_dragon() (0) ++#endif ++ ++#ifdef CONFIG_MACH_OPENDO_CPU_BOARD ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_OPENDO_CPU_BOARD ++# endif ++# define machine_is_opendo_cpu_board() (machine_arch_type == MACH_TYPE_OPENDO_CPU_BOARD) ++#else ++# define machine_is_opendo_cpu_board() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CCM2200 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CCM2200 ++# endif ++# define machine_is_ccm2200() (machine_arch_type == MACH_TYPE_CCM2200) ++#else ++# define machine_is_ccm2200() (0) ++#endif ++ ++#ifdef CONFIG_MACH_ETWARM ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_ETWARM ++# endif ++# define machine_is_etwarm() (machine_arch_type == MACH_TYPE_ETWARM) ++#else ++# define machine_is_etwarm() (0) ++#endif ++ ++#ifdef CONFIG_MACH_M93030 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_M93030 ++# endif ++# define machine_is_m93030() (machine_arch_type == MACH_TYPE_M93030) ++#else ++# define machine_is_m93030() (0) ++#endif ++ ++#ifdef CONFIG_MACH_CC7U ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_CC7U ++# endif ++# define machine_is_cc7u() (machine_arch_type == MACH_TYPE_CC7U) ++#else ++# define machine_is_cc7u() (0) ++#endif ++ ++#ifdef CONFIG_MACH_MTT_RANGER ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_MTT_RANGER ++# endif ++# define machine_is_mtt_ranger() (machine_arch_type == MACH_TYPE_MTT_RANGER) ++#else ++# define machine_is_mtt_ranger() (0) ++#endif ++ ++#ifdef CONFIG_MACH_NEXUS ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_NEXUS ++# endif ++# define machine_is_nexus() (machine_arch_type == MACH_TYPE_NEXUS) ++#else ++# define machine_is_nexus() (0) ++#endif ++ ++#ifdef CONFIG_MACH_DESMAN ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_DESMAN ++# endif ++# define machine_is_desman() (machine_arch_type == MACH_TYPE_DESMAN) ++#else ++# define machine_is_desman() (0) ++#endif ++ ++#ifdef CONFIG_MACH_BKDE303 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_BKDE303 ++# endif ++# define machine_is_bkde303() (machine_arch_type == MACH_TYPE_BKDE303) ++#else ++# define machine_is_bkde303() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SMDK2413 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SMDK2413 ++# endif ++# define machine_is_smdk2413() (machine_arch_type == MACH_TYPE_SMDK2413) ++#else ++# define machine_is_smdk2413() (0) ++#endif ++ ++#ifdef CONFIG_MACH_AML_M7200 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_AML_M7200 ++# endif ++# define machine_is_aml_m7200() (machine_arch_type == MACH_TYPE_AML_M7200) ++#else ++# define machine_is_aml_m7200() (0) ++#endif ++ ++#ifdef CONFIG_MACH_AML_M5900 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_AML_M5900 ++# endif ++# define machine_is_aml_m5900() (machine_arch_type == MACH_TYPE_AML_M5900) ++#else ++# define machine_is_aml_m5900() (0) ++#endif ++ ++#ifdef CONFIG_MACH_SG640 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_SG640 ++# endif ++# define machine_is_sg640() (machine_arch_type == MACH_TYPE_SG640) ++#else ++# define machine_is_sg640() (0) ++#endif ++ ++#ifdef CONFIG_MACH_EDG79524 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_EDG79524 ++# endif ++# define machine_is_edg79524() (machine_arch_type == MACH_TYPE_EDG79524) ++#else ++# define machine_is_edg79524() (0) ++#endif ++ ++#ifdef CONFIG_MACH_AI2410 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_AI2410 ++# endif ++# define machine_is_ai2410() (machine_arch_type == MACH_TYPE_AI2410) ++#else ++# define machine_is_ai2410() (0) ++#endif ++ ++#ifdef CONFIG_MACH_IXP465 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_IXP465 ++# endif ++# define machine_is_ixp465() (machine_arch_type == MACH_TYPE_IXP465) ++#else ++# define machine_is_ixp465() (0) ++#endif ++ ++#ifdef CONFIG_MACH_BALLOON3 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_BALLOON3 ++# endif ++# define machine_is_balloon3() (machine_arch_type == MACH_TYPE_BALLOON3) ++#else ++# define machine_is_balloon3() (0) ++#endif ++ ++#ifdef CONFIG_MACH_QT2410 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_QT2410 ++# endif ++# define machine_is_qt2410() (machine_arch_type == MACH_TYPE_QT2410) ++#else ++# define machine_is_qt2410() (0) ++#endif ++ ++#ifdef CONFIG_MACH_GTA01 ++# ifdef machine_arch_type ++# undef machine_arch_type ++# define machine_arch_type __machine_arch_type ++# else ++# define machine_arch_type MACH_TYPE_GTA01 ++# endif ++# define machine_is_gta01() (machine_arch_type == MACH_TYPE_GTA01) ++#else ++# define machine_is_gta01() (0) ++#endif ++ ++ + /* + * These have not yet been registered + */ +Index: git/include/configs/gta01.h +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/include/configs/gta01.h 2007-01-04 12:21:18.000000000 +0100 +@@ -0,0 +1,233 @@ ++/* ++ * (C) Copyright 2006 Harald Welte <hwelte@hmw-consulting.de> ++ * ++ * Configuation settings for the FIC GTA01 Linux GSM phone ++ * ++ * See file CREDITS for list of people who contributed to this ++ * project. ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++#ifndef __CONFIG_H ++#define __CONFIG_H ++ ++/* we want to start u-boot directly from within NAND flash */ ++#define CONFIG_S3C2410_NAND_BOOT 1 ++ ++/* ++ * High Level Configuration Options ++ * (easy to change) ++ */ ++#define CONFIG_ARM920T 1 /* This is an ARM920T Core */ ++#define CONFIG_S3C2410 1 /* in a SAMSUNG S3C2410 SoC */ ++#define CONFIG_SMDK2410 1 /* on a SAMSUNG SMDK2410 Board */ ++ ++/* input clock of PLL */ ++#define CONFIG_SYS_CLK_FREQ 12000000/* the GTA01 has 12MHz input clock */ ++ ++ ++#define USE_920T_MMU 1 ++#define CONFIG_USE_IRQ 1 ++ ++/* ++ * Size of malloc() pool ++ */ ++#define CFG_MALLOC_LEN (CFG_ENV_SIZE + 128*1024) ++#define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */ ++ ++/* ++ * Hardware drivers ++ */ ++ ++/* ++ * select serial console configuration ++ */ ++#define CONFIG_SERIAL1 1 /* we use SERIAL 1 on GTA01 */ ++//#define CONFIG_HWFLOW 1 ++ ++/************************************************************ ++ * RTC ++ ************************************************************/ ++#define CONFIG_RTC_S3C24X0 1 ++ ++/* allow to overwrite serial and ethaddr */ ++#define CONFIG_ENV_OVERWRITE ++ ++#define CONFIG_BAUDRATE 115200 ++ ++/*********************************************************** ++ * Command definition ++ ***********************************************************/ ++#define CONFIG_COMMANDS (\ ++ CFG_CMD_BDI | \ ++ CFG_CMD_LOADS | \ ++ CFG_CMD_LAODB | \ ++ CFG_CMD_IMI | \ ++ CFG_CMD_CACHE | \ ++ CFG_CMD_MEMORY | \ ++ CFG_CMD_ENV | \ ++ /* CFG_CMD_IRQ | */ \ ++ CFG_CMD_BOOTD | \ ++ CFG_CMD_CONSOLE | \ ++ CFG_CMD_ASKENV | \ ++ CFG_CMD_RUN | \ ++ CFG_CMD_ECHO | \ ++ CFG_CMD_I2C | \ ++ CFG_CMD_REGINFO | \ ++ CFG_CMD_IMMAP | \ ++ CFG_CMD_DATE | \ ++ CFG_CMD_AUTOSCRIPT | \ ++ CFG_CMD_BSP | \ ++ CFG_CMD_ELF | \ ++ CFG_CMD_MISC | \ ++ CFG_CMD_USB | \ ++ CFG_CMD_JFFS2 | \ ++ CFG_CMD_DIAG | \ ++ /* CFG_CMD_HWFLOW | */ \ ++ CFG_CMD_SAVES | \ ++ CFG_CMD_NAND | \ ++ CFG_CMD_PORTIO | \ ++ CFG_CMD_MMC | \ ++ CFG_CMD_FAT | \ ++ CFG_CMD_EXT2 | \ ++ 0) ++/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */ ++#include <cmd_confdefs.h> ++ ++#define CONFIG_BOOTDELAY 3 ++#define CONFIG_BOOTARGS "rootfstype=jffs2 root=/dev/mtdblock4 console=ttySAC0,115200 console=tty0 loglevel=8" ++#define CONFIG_BOOTCOMMAND "nand read 0x32000000 0x34000 0x200000; bootm 0x32000000" ++ ++#define CONFIG_DOS_PARTITION 1 ++ ++#if (CONFIG_COMMANDS & CFG_CMD_KGDB) ++#define CONFIG_KGDB_BAUDRATE 115200 /* speed to run kgdb serial port */ ++/* what's this ? it's not used anywhere */ ++#define CONFIG_KGDB_SER_INDEX 1 /* which serial port to use */ ++#endif ++ ++/* ++ * Miscellaneous configurable options ++ */ ++#define CFG_LONGHELP /* undef to save memory */ ++#define CFG_PROMPT "GTA01 # " /* Monitor Command Prompt */ ++#define CFG_CBSIZE 256 /* Console I/O Buffer Size */ ++#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ ++#define CFG_MAXARGS 16 /* max number of command args */ ++#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */ ++ ++#define CFG_MEMTEST_START 0x30000000 /* memtest works on */ ++#define CFG_MEMTEST_END 0x33F00000 /* 63 MB in DRAM */ ++ ++#undef CFG_CLKS_IN_HZ /* everything, incl board info, in Hz */ ++ ++#define CFG_LOAD_ADDR 0x33000000 /* default load address */ ++ ++/* the PWM TImer 4 uses a counter of 15625 for 10 ms, so we need */ ++/* it to wrap 100 times (total 1562500) to get 1 sec. */ ++#define CFG_HZ 1562500 ++ ++/* valid baudrates */ ++#define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } ++ ++/*----------------------------------------------------------------------- ++ * Stack sizes ++ * ++ * The stack sizes are set up in start.S using the settings below ++ */ ++#define CONFIG_STACKSIZE (128*1024) /* regular stack */ ++#ifdef CONFIG_USE_IRQ ++#define CONFIG_STACKSIZE_IRQ (4*1024) /* IRQ stack */ ++#define CONFIG_STACKSIZE_FIQ (4*1024) /* FIQ stack */ ++#endif ++ ++#define CONFIG_USB_OHCI 1 ++ ++/*----------------------------------------------------------------------- ++ * Physical Memory Map ++ */ ++#define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of DRAM */ ++#define PHYS_SDRAM_1 0x30000000 /* SDRAM Bank #1 */ ++#define PHYS_SDRAM_1_SIZE 0x04000000 /* 64 MB */ ++#define PHYS_SDRAM_RES_SIZE 0x00200000 /* 2 MB for frame buffer */ ++ ++/*----------------------------------------------------------------------- ++ * FLASH and environment organization ++ */ ++ ++/* No NOR flash in this device */ ++#define CFG_NO_FLASH 1 ++ ++#define CFG_ENV_IS_IN_NAND 1 ++#define CFG_ENV_SIZE 0x4000 /* 16k Total Size of Environment Sector */ ++#define CFG_ENV_OFFSET 0x30000 /* environment after bootloader */ ++ ++#define NAND_MAX_CHIPS 1 ++#define CFG_NAND_BASE 0x4e000000 ++#define CFG_MAX_NAND_DEVICE 1 ++ ++#define CONFIG_MMC 1 ++#define CFG_MMC_BASE 0xff000000 ++ ++/* EXT2 driver */ ++#define CONFIG_EXT2 1 ++ ++#if 0 ++/* FAT driver in u-boot is broken currently */ ++#define CONFIG_FAT 1 ++#define CONFIG_SUPPORT_VFAT 1 ++#endif ++ ++/* JFFS2 driver */ ++#define CONFIG_JFFS2_CMDLINE 1 ++#define CONFIG_JFFS2_NAND 1 ++#define CONFIG_JFFS2_NAND_DEV 0 ++#define CONFIG_JFFS2_NAND_OFF 0x634000 ++#define CONFIG_JFFS2_NAND_SIZE 0x39cc000 ++ ++/* ATAG configuration */ ++#define CONFIG_INITRD_TAG 1 ++#define CONFIG_SETUP_MEMORY_TAGS 1 ++#define CONFIG_CMDLINE_TAG 1 ++#define CONFIG_REVISION_TAG 1 ++#if 0 ++#define CONFIG_SERIAL_TAG 1 ++#endif ++ ++#define CONFIG_DRIVER_S3C24X0_I2C 1 ++#define CONFIG_HARD_I2C 1 ++#define CFG_I2C_SPEED 400000 /* 400kHz according to PCF50606 data sheet */ ++#define CFG_I2C_SLAVE 0x7f ++ ++/* we have a board_late_init() function */ ++#define BOARD_LATE_INIT 1 ++ ++#if 0 ++#define CONFIG_VIDEO ++#define CONFIG_VIDEO_S3C2410 ++#define CONFIG_CFB_CONSOLE ++#define CONFIG_VIDEO_LOGO ++#define CONFIG_VGA_AS_SINGLE_DEVICE ++ ++#define VIDEO_KBD_INIT_FCT 0 ++#define VIDEO_TSTC_FCT serial_tstc ++#define VIDEO_GETC_FCT serial_getc ++ ++#define LCD_VIDEO_ADDR 0x33d00000 ++#endif ++ ++#endif /* __CONFIG_H */ +Index: git/include/configs/qt2410.h +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ git/include/configs/qt2410.h 2007-01-04 12:21:18.000000000 +0100 +@@ -0,0 +1,245 @@ ++/* ++ * (C) Copyright 2002 ++ * Sysgo Real-Time Solutions, GmbH <www.elinos.com> ++ * Marius Groeger <mgroeger@sysgo.de> ++ * Gary Jennejohn <gj@denx.de> ++ * David Mueller <d.mueller@elsoft.ch> ++ * ++ * Configuation settings for the SAMSUNG SMDK2410 board. ++ * ++ * See file CREDITS for list of people who contributed to this ++ * project. ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++#ifndef __CONFIG_H ++#define __CONFIG_H ++ ++#if 1 ++/* If we want to start u-boot from usb bootloader in NOR flash */ ++#define CONFIG_SKIP_RELOCATE_UBOOT 1 ++#define CONFIG_SKIP_LOWLEVEL_INIT 1 ++#else ++/* If we want to start u-boot directly from within NAND flash */ ++#define CONFIG_S3C2410_NAND_BOOT 1 ++#endif ++ ++/* ++ * High Level Configuration Options ++ * (easy to change) ++ */ ++#define CONFIG_ARM920T 1 /* This is an ARM920T Core */ ++#define CONFIG_S3C2410 1 /* in a SAMSUNG S3C2410 SoC */ ++#define CONFIG_SMDK2410 1 /* on a SAMSUNG SMDK2410 Board */ ++ ++/* input clock of PLL */ ++#define CONFIG_SYS_CLK_FREQ 12000000/* the SMDK2410 has 12MHz input clock */ ++ ++ ++#define USE_920T_MMU 1 ++#define CONFIG_USE_IRQ 1 ++//#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */ ++ ++/* ++ * Size of malloc() pool ++ */ ++#define CFG_MALLOC_LEN (CFG_ENV_SIZE + 128*1024) ++#define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */ ++ ++/* ++ * Hardware drivers ++ */ ++#define CONFIG_DRIVER_CS8900 1 /* we have a CS8900 on-board */ ++#define CS8900_BASE 0x19000300 ++#define CS8900_BUS16 1 /* the Linux driver does accesses as shorts */ ++ ++/* ++ * select serial console configuration ++ */ ++#define CONFIG_SERIAL1 1 /* we use SERIAL 1 on SMDK2410 */ ++#define CONFIG_HWFLOW 1 ++ ++/************************************************************ ++ * RTC ++ ************************************************************/ ++#define CONFIG_RTC_S3C24X0 1 ++ ++/* allow to overwrite serial and ethaddr */ ++#define CONFIG_ENV_OVERWRITE ++ ++#define CONFIG_BAUDRATE 115200 ++ ++/*********************************************************** ++ * Command definition ++ ***********************************************************/ ++#define CONFIG_COMMANDS \ ++ (CONFIG_CMD_DFL | \ ++ CFG_CMD_BSP | \ ++ CFG_CMD_CACHE | \ ++ CFG_CMD_DATE | \ ++ CFG_CMD_DHCP | \ ++ CFG_CMD_DIAG | \ ++ CFG_CMD_ELF | \ ++ CFG_CMD_EXT2 | \ ++ CFG_CMD_FAT | \ ++ CFG_CMD_HWFLOW | \ ++ /* CFG_CMD_IDE | */ \ ++ /* CFG_CMD_IRQ | */ \ ++ CFG_CMD_JFFS2 | \ ++ CFG_CMD_MMC | \ ++ CFG_CMD_NAND | \ ++ CFG_CMD_PING | \ ++ CFG_CMD_PORTIO | \ ++ CFG_CMD_REGINFO | \ ++ CFG_CMD_SAVES | \ ++ CFG_CMD_USB) ++ ++/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */ ++#include <cmd_confdefs.h> ++ ++#define CONFIG_BOOTDELAY 3 ++#define CONFIG_BOOTARGS "rootfstype=jffs2 root=/dev/mtdblock4 console=ttySAC0,115200 console=tty0 loglevel=8" ++#define CONFIG_ETHADDR 01:ab:cd:ef:fe:dc ++#define CONFIG_NETMASK 255.255.255.0 ++#define CONFIG_IPADDR 10.0.0.110 ++#define CONFIG_SERVERIP 10.0.0.1 ++/*#define CONFIG_BOOTFILE "elinos-lart" */ ++#define CONFIG_BOOTCOMMAND "nand load 0x32000000 0x34000 0x200000; bootm 0x32000000" ++ ++#define CONFIG_DOS_PARTITION 1 ++ ++#if (CONFIG_COMMANDS & CFG_CMD_KGDB) ++#define CONFIG_KGDB_BAUDRATE 115200 /* speed to run kgdb serial port */ ++/* what's this ? it's not used anywhere */ ++#define CONFIG_KGDB_SER_INDEX 1 /* which serial port to use */ ++#endif ++ ++/* ++ * Miscellaneous configurable options ++ */ ++#define CFG_LONGHELP /* undef to save memory */ ++#define CFG_PROMPT "QT2410 # " /* Monitor Command Prompt */ ++#define CFG_CBSIZE 256 /* Console I/O Buffer Size */ ++#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ ++#define CFG_MAXARGS 16 /* max number of command args */ ++#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */ ++ ++#define CFG_MEMTEST_START 0x30000000 /* memtest works on */ ++#define CFG_MEMTEST_END 0x33F00000 /* 63 MB in DRAM */ ++ ++#undef CFG_CLKS_IN_HZ /* everything, incl board info, in Hz */ ++ ++#define CFG_LOAD_ADDR 0x33000000 /* default load address */ ++ ++/* the PWM TImer 4 uses a counter of 15625 for 10 ms, so we need */ ++/* it to wrap 100 times (total 1562500) to get 1 sec. */ ++#define CFG_HZ 1562500 ++ ++/* valid baudrates */ ++#define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } ++ ++/*----------------------------------------------------------------------- ++ * Stack sizes ++ * ++ * The stack sizes are set up in start.S using the settings below ++ */ ++#define CONFIG_STACKSIZE (128*1024) /* regular stack */ ++#ifdef CONFIG_USE_IRQ ++#define CONFIG_STACKSIZE_IRQ (4*1024) /* IRQ stack */ ++#define CONFIG_STACKSIZE_FIQ (4*1024) /* FIQ stack */ ++#endif ++ ++/* IDE/ATA config */ ++ ++#if 0 ++#define CFG_IDE_MAXBUS 1 ++#define CFG_IDE_MAXDEVICE 2 ++#define CFG_IDE_PREINIT 0 ++ ++#define CFG_ATA_BASE_ADDR ++#endif ++ ++#define CONFIG_USB_OHCI 1 ++ ++/*----------------------------------------------------------------------- ++ * Physical Memory Map ++ */ ++#define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of DRAM */ ++#define PHYS_SDRAM_1 0x30000000 /* SDRAM Bank #1 */ ++#define PHYS_SDRAM_1_SIZE 0x04000000 /* 64 MB */ ++#define PHYS_SDRAM_RES_SIZE 0x00200000 /* 2 MB for frame buffer */ ++ ++#define PHYS_FLASH_1 0x00000000 /* Flash Bank #1 */ ++ ++#define CFG_FLASH_BASE PHYS_FLASH_1 ++ ++/*----------------------------------------------------------------------- ++ * FLASH and environment organization ++ */ ++ ++#define CONFIG_AMD_LV400 1 /* uncomment this if you have a LV400 flash */ ++ ++#define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */ ++#define PHYS_FLASH_SIZE 0x00080000 /* 512KB */ ++#define CFG_MAX_FLASH_SECT (11) /* max number of sectors on one chip */ ++ ++/* timeout values are in ticks */ ++#define CFG_FLASH_ERASE_TOUT (5*CFG_HZ) /* Timeout for Flash Erase */ ++#define CFG_FLASH_WRITE_TOUT (5*CFG_HZ) /* Timeout for Flash Write */ ++ ++#define CFG_ENV_IS_IN_NAND 1 ++#define CFG_ENV_SIZE 0x4000 /* 16k Total Size of Environment Sector */ ++#define CFG_ENV_OFFSET 0x30000 /* environment after bootloader */ ++ ++#define NAND_MAX_CHIPS 1 ++#define CFG_NAND_BASE 0x4e000000 ++#define CFG_MAX_NAND_DEVICE 1 ++ ++#define CONFIG_MMC 1 ++#define CFG_MMC_BASE 0xff000000 ++ ++#define CONFIG_EXT2 1 ++ ++/* FAT driver in u-boot is broken currently */ ++#define CONFIG_FAT 1 ++#define CONFIG_SUPPORT_VFAT 1 ++ ++/* ATAG configuration */ ++#define CONFIG_INITRD_TAG 1 ++#define CONFIG_SETUP_MEMORY_TAGS 1 ++#define CONFIG_CMDLINE_TAG 1 ++#if 0 ++#define CONFIG_SERIAL_TAG 1 ++#define CONFIG_REVISION_TAG 1 ++#endif ++ ++ ++#if 0 ++#define CONFIG_VIDEO ++#define CONFIG_VIDEO_S3C2410 ++#define CONFIG_CFB_CONSOLE ++#define CONFIG_VIDEO_LOGO ++#define CONFIG_VGA_AS_SINGLE_DEVICE ++ ++#define VIDEO_KBD_INIT_FCT 0 ++#define VIDEO_TSTC_FCT serial_tstc ++#define VIDEO_GETC_FCT serial_getc ++ ++#define LCD_VIDEO_ADDR 0x33d00000 ++#endif ++ ++#endif /* __CONFIG_H */ +Index: git/include/s3c2410.h +=================================================================== +--- git.orig/include/s3c2410.h 2007-01-04 12:21:15.000000000 +0100 ++++ git/include/s3c2410.h 2007-01-04 12:21:18.000000000 +0100 +@@ -38,12 +38,6 @@ + #define S3C2410_ECCSIZE 512 + #define S3C2410_ECCBYTES 3 + +-typedef enum { +- S3C24X0_UART0, +- S3C24X0_UART1, +- S3C24X0_UART2 +-} S3C24X0_UARTS_NR; +- + /* S3C2410 device base addresses */ + #define S3C24X0_MEMCTL_BASE 0x48000000 + #define S3C24X0_USB_HOST_BASE 0x49000000 +@@ -65,9 +59,23 @@ + #define S3C2410_SDI_BASE 0x5A000000 + + ++#define oNFCONF 0x00 ++#define oNFCMD 0x04 ++#define oNFADDR 0x08 ++#define oNFDATA 0x0C ++#define oNFSTAT 0x10 ++#define oNFECC 0x14 ++ ++#ifndef __ASSEMBLER__ ++ + /* include common stuff */ + #include <s3c24x0.h> + ++typedef enum { ++ S3C24X0_UART0, ++ S3C24X0_UART1, ++ S3C24X0_UART2 ++} S3C24X0_UARTS_NR; + + static inline S3C24X0_MEMCTL * const S3C24X0_GetBase_MEMCTL(void) + { +@@ -142,6 +150,7 @@ + return (S3C2410_SDI * const)S3C2410_SDI_BASE; + } + ++#endif + + /* ISR */ + #define pISR_RESET (*(unsigned *)(_ISR_STARTADDRESS+0x0)) +Index: git/include/s3c24x0.h +=================================================================== +--- git.orig/include/s3c24x0.h 2007-01-04 12:21:15.000000000 +0100 ++++ git/include/s3c24x0.h 2007-01-04 12:21:18.000000000 +0100 +@@ -637,13 +637,7 @@ + S3C24X0_REG32 SDIDCNT; + S3C24X0_REG32 SDIDSTA; + S3C24X0_REG32 SDIFSTA; +-#ifdef __BIG_ENDIAN +- S3C24X0_REG8 res[3]; +- S3C24X0_REG8 SDIDAT; +-#else +- S3C24X0_REG8 SDIDAT; +- S3C24X0_REG8 res[3]; +-#endif ++ S3C24X0_REG32 SDIDAT; + S3C24X0_REG32 SDIIMSK; + } /*__attribute__((__packed__))*/ S3C2410_SDI; + +@@ -1123,11 +1117,7 @@ + #define rSDIDatCnt (*(volatile unsigned *)0x5A000030) + #define rSDIDatSta (*(volatile unsigned *)0x5A000034) + #define rSDIFSTA (*(volatile unsigned *)0x5A000038) +-#ifdef __BIG_ENDIAN +-#define rSDIDAT (*(volatile unsigned char *)0x5A00003F) +-#else +-#define rSDIDAT (*(volatile unsigned char *)0x5A00003C) +-#endif ++#define rSDIDAT (*(volatile unsigned *)0x5A00003C) + #define rSDIIntMsk (*(volatile unsigned *)0x5A000040) + + #endif diff --git a/packages/uboot/u-boot.inc b/packages/uboot/u-boot.inc new file mode 100644 index 0000000000..3b26e55f1b --- /dev/null +++ b/packages/uboot/u-boot.inc @@ -0,0 +1,30 @@ +DESCRIPTION = "U-boot bootloader" +HOMEPAGE = "http://u-boot.sf.net" +SECTION = "bootloaders" +PRIORITY = "optional" +LICENSE = "GPL" +PROVIDES = "virtual/bootloader" + +EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}" + +UBOOT_MACHINE ?= "${MACHINE}_config" +UBOOT_IMAGE = "u-boot-${MACHINE}-${PV}-${PR}.bin" + +do_compile () { + unset LDFLAGS + unset CFLAGS + unset CPPFLAGS + oe_runmake ${UBOOT_MACHINE} + oe_runmake all +} + +do_deploy () { + install -d ${DEPLOY_DIR_IMAGE} + install ${S}/u-boot.bin ${DEPLOY_DIR_IMAGE}/${UBOOT_IMAGE} +} +do_deploy[dirs] = "${S}" +addtask deploy before do_build after do_compile + +do_stage() { + install -m755 tools/mkimage ${STAGING_BINDIR_NATIVE} +} diff --git a/packages/uboot/u-boot_1.1.2.bb b/packages/uboot/u-boot_1.1.2.bb index 6b87cf9c05..cefaa9b1a1 100644 --- a/packages/uboot/u-boot_1.1.2.bb +++ b/packages/uboot/u-boot_1.1.2.bb @@ -1,8 +1,4 @@ -DESCRIPTION = "U-boot bootloader" -PROVIDES = "virtual/bootloader" -SECTION = "bootloader" -PRIORITY = "optional" -LICENSE = "GPL" +require u-boot.inc SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${PN}-${PV}.tar.bz2 \ file://arm_flags.patch;patch=1 " @@ -13,13 +9,10 @@ SRC_URI_append_mnci = "file://mnci.patch;patch=1 \ file://command-names.patch;patch=1" # TODO: SRC_URI_append_rt3000 -EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}" TARGET_LDFLAGS = "" -UBOOT_MACHINE ?= "${MACHINE}_config" UBOOT_MACHINE_mnci = "mnci_config" UBOOT_MACHINE_vibren = "pxa255_idp_config" -UBOOT_IMAGE = "u-boot-${MACHINE}-${PV}-${PR}.bin" inherit base @@ -28,18 +21,6 @@ do_compile () { oe_runmake all } -do_stage() { - install -m755 tools/mkimage ${STAGING_BINDIR_NATIVE} -} - -do_deploy () { - install -d ${DEPLOY_DIR_IMAGE} - install ${S}/u-boot.bin ${DEPLOY_DIR_IMAGE}/${UBOOT_IMAGE} -} -do_deploy[dirs] = "${S}" -addtask deploy before do_build after do_compile - - ######################################################### RDEPENDS_append_mnci = " hwctrl" diff --git a/packages/uboot/u-boot_1.1.4.bb b/packages/uboot/u-boot_1.1.4.bb index ca6baece4c..5c158f2401 100644 --- a/packages/uboot/u-boot_1.1.4.bb +++ b/packages/uboot/u-boot_1.1.4.bb @@ -1,8 +1,4 @@ -DESCRIPTION = "U-boot bootloader" -PROVIDES = "virtual/bootloader" -SECTION = "bootloader" -PRIORITY = "optional" -LICENSE = "GPL" +require u-boot.inc DEFAULT_PREFERENCE = "-1" @@ -30,13 +26,9 @@ SRC_URI_append_dht-walnut= "\ file://u-boot-dht-walnut-df2.patch;patch=1" -EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}" EXTRA_OEMAKE_gumstix = "CROSS_COMPILE=${TARGET_PREFIX} GUMSTIX_400MHZ=${GUMSTIX_400MHZ}" TARGET_LDFLAGS = "" -UBOOT_MACHINE ?= "${MACHINE}_config" -UBOOT_IMAGE = "u-boot-${MACHINE}-${PV}-${PR}.bin" - UBOOT_MACHINE_dht-walnut = "walnut_config" def gumstix_mhz(d): @@ -55,14 +47,3 @@ do_compile () { oe_runmake ${UBOOT_MACHINE} oe_runmake all } - -do_stage() { - install -m755 tools/mkimage ${STAGING_BINDIR_NATIVE} -} - -do_deploy () { - install -d ${DEPLOY_DIR_IMAGE} - install ${S}/u-boot.bin ${DEPLOY_DIR_IMAGE}/${UBOOT_IMAGE} -} -do_deploy[dirs] = "${S}" -addtask deploy before do_build after do_compile diff --git a/packages/uboot/u-boot_1.1.6.bb b/packages/uboot/u-boot_1.1.6.bb index bfd0fb8132..7bd09c6f35 100644 --- a/packages/uboot/u-boot_1.1.6.bb +++ b/packages/uboot/u-boot_1.1.6.bb @@ -1,36 +1,8 @@ -DESCRIPTION = "U-boot bootloader" -PROVIDES = "virtual/bootloader" -SECTION = "bootloader" -PRIORITY = "optional" -LICENSE = "GPL" +require u-boot.inc PR = "r1" SRC_URI = "ftp://ftp.denx.de/pub/u-boot/u-boot-1.1.6.tar.bz2 \ file://devkit-idp.patch;patch=1" -EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}" - -UBOOT_MACHINE ?= "${MACHINE}_config" -UBOOT_IMAGE = "u-boot-${MACHINE}-${PV}-${PR}.bin" - PACKAGE_ARCH = "${MACHINE_ARCH}" - -do_compile () { - unset LDFLAGS - unset CFLAGS - unset CPPFLAGS - oe_runmake ${UBOOT_MACHINE} - oe_runmake all -} - -do_stage() { - install -m755 tools/mkimage ${STAGING_BINDIR_NATIVE} -} - -do_deploy () { - install -d ${DEPLOY_DIR_IMAGE} - install ${S}/u-boot.bin ${DEPLOY_DIR_IMAGE}/${UBOOT_IMAGE} -} -do_deploy[dirs] = "${S}" -addtask deploy before do_build after do_compile diff --git a/packages/uboot/u-boot_LABEL.2006.06.30.2020.bb b/packages/uboot/u-boot_LABEL.2006.06.30.2020.bb index 361d9c876b..c29aba7cd5 100644 --- a/packages/uboot/u-boot_LABEL.2006.06.30.2020.bb +++ b/packages/uboot/u-boot_LABEL.2006.06.30.2020.bb @@ -1,8 +1,4 @@ -DESCRIPTION = "U-boot bootloader" -PROVIDES = "virtual/bootloader" -SECTION = "bootloader" -PRIORITY = "optional" -LICENSE = "GPL" +require u-boot.inc PR = "r2" @@ -16,31 +12,6 @@ SRC_URI_append_navman-icn330 = " http://www.duff.dk/navman/navman-u-boot-2006-30 S = "${WORKDIR}/git" -#EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} CFLAGS="" CPPFLAGS="" LDFLAGS=""" -EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}" - -UBOOT_MACHINE ?= "${MACHINE}_config" -UBOOT_IMAGE = "u-boot-${MACHINE}-${PV}-${PR}.bin" - PACKAGE_ARCH = "${MACHINE_ARCH}" #inherit base - -do_compile () { - unset LDFLAGS - unset CFLAGS - unset CPPFLAGS - oe_runmake ${UBOOT_MACHINE} - oe_runmake all -} - -do_stage() { - install -m755 tools/mkimage ${STAGING_BINDIR_NATIVE} -} - -do_deploy () { - install -d ${DEPLOY_DIR_IMAGE} - install ${S}/u-boot.bin ${DEPLOY_DIR_IMAGE}/${UBOOT_IMAGE} -} -do_deploy[dirs] = "${S}" -addtask deploy before do_build after do_compile diff --git a/packages/uboot/u-boot_git.bb b/packages/uboot/u-boot_git.bb index fa59bab085..9362b62041 100644 --- a/packages/uboot/u-boot_git.bb +++ b/packages/uboot/u-boot_git.bb @@ -1,8 +1,4 @@ -DESCRIPTION = "U-boot bootloader" -PROVIDES = "virtual/bootloader" -SECTION = "bootloader" -PRIORITY = "optional" -LICENSE = "GPL" +require u-boot.inc DEFAULT_PREFERENCE = "-1" @@ -10,31 +6,6 @@ SRC_URI = "git://www.denx.de/git/u-boot.git;protocol=git " S = "${WORKDIR}/git" -#EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} CFLAGS="" CPPFLAGS="" LDFLAGS=""" -EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}" - -UBOOT_MACHINE ?= "${MACHINE}_config" -UBOOT_IMAGE = "u-boot-${MACHINE}-${PV}-${PR}.bin" - PACKAGE_ARCH = "${MACHINE_ARCH}" #inherit base - -do_compile () { - unset LDFLAGS - unset CFLAGS - unset CPPFLAGS - oe_runmake ${UBOOT_MACHINE} - oe_runmake all -} - -do_stage() { - install -m 755 tools/mkimage ${STAGING_BINDIR_NATIVE} -} - -do_deploy () { - install -d ${DEPLOY_DIR_IMAGE} - install ${S}/u-boot.bin ${DEPLOY_DIR_IMAGE}/${UBOOT_IMAGE} -} -do_deploy[dirs] = "${S}" -addtask deploy before do_build after do_compile diff --git a/packages/uboot/uboot-gta01_svn.bb b/packages/uboot/uboot-gta01_svn.bb new file mode 100644 index 0000000000..b78b81dd17 --- /dev/null +++ b/packages/uboot/uboot-gta01_svn.bb @@ -0,0 +1,56 @@ +DESCRIPTION = "U-boot bootloader w/ Neo1973 (GTA01) support" +AUTHOR = "Harald Welte <laforge@openmoko.org> +LICENSE = "GPL" +SECTION = "bootloader" +PRIORITY = "optional" +PV = "1.2.0+svn${SRCDATE}" +PR = "r3" + +PROVIDES = "virtual/bootloader" +S = "${WORKDIR}/git" + +SRC_URI = "git://www.denx.de/git/u-boot.git/;protocol=git \ + svn://svn.openmoko.org/trunk/src/target/u-boot;module=patches;proto=https \ + file://fix-arm920t-eabi.patch;patch=1" + +EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}" +TARGET_LDFLAGS = "" +UBOOT_MACHINES = "gta01v3 gta01v4 gta01bv2 gta01bv3" + +do_quilt() { + mv ${WORKDIR}/patches ${S}/patches && cd ${S} && quilt push -av + rm -Rf patches .pc +} + +do_compile () { + chmod +x board/neo1973/split_by_variant.sh + for type in ram nand + do + for mach in ${UBOOT_MACHINES} + do + oe_runmake ${mach}_config + oe_runmake clean + if [ ${type} == "ram" ]; then + echo 'PLATFORM_RELFLAGS += -DBUILD_FOR_RAM' >> board/neo1973/config.tmp + fi + oe_runmake all + mv u-boot.bin u-boot_${mach}_${type}.bin + done + done +} + +do_deploy () { + install -d ${DEPLOY_DIR_IMAGE} + for type in nand ram + do + for mach in ${UBOOT_MACHINES} + do + install ${S}/u-boot_${mach}_${type}.bin ${DEPLOY_DIR_IMAGE}/u-boot_${type}-${mach}-${DATETIME}.bin + done + done + install -m 0755 tools/mkimage ${STAGING_BINDIR_NATIVE}/uboot-mkimage +} + +do_deploy[dirs] = "${S}" +addtask deploy before do_build after do_compile +addtask quilt before do_patch after do_unpack diff --git a/packages/uboot/uboot-qt2410_0.0+cvs20061030.bb b/packages/uboot/uboot-qt2410_0.0+cvs20061030.bb new file mode 100644 index 0000000000..102030f147 --- /dev/null +++ b/packages/uboot/uboot-qt2410_0.0+cvs20061030.bb @@ -0,0 +1,41 @@ +DESCRIPTION = "U-boot bootloader w/ armzone qt2410 support" +SECTION = "bootloader" +PRIORITY = "optional" +LICENSE = "GPL" +SRCDATE := "${PV}" +PR = "r0" + +PROVIDES = "virtual/bootloader" +S = "${WORKDIR}/git" + +SRC_URI = "git://www.denx.de/git/u-boot.git/;protocol=git \ + file://u-boot-20061030-qt2410-gta01.patch;patch=1 \ + file://qt2410_*.h" + +EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}" +TARGET_LDFLAGS = "" +UBOOT_MACHINE = "qt2410_config" + +inherit base + +do_compile () { + for type in nand ram + do + install -m 0644 ${WORKDIR}/qt2410_${type}.h include/configs/qt2410.h + oe_runmake ${UBOOT_MACHINE} + oe_runmake all + mv u-boot.bin u-boot_$type.bin + done +} + +do_deploy () { + install -d ${DEPLOY_DIR_IMAGE} + for type in nand ram + do + install ${S}/u-boot_$type.bin ${DEPLOY_DIR_IMAGE}/u-boot_$type-${MACHINE}-${DATETIME}.bin + done + install -m 0755 tools/mkimage ${STAGING_BINDIR}/uboot-mkimage +} + +do_deploy[dirs] = "${S}" +addtask deploy before do_build after do_compile diff --git a/packages/uclibc/uclibc-0.9.28/powerpc/.mtn2git_empty b/packages/uclibc/uclibc-0.9.28/powerpc/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/uclibc/uclibc-0.9.28/powerpc/.mtn2git_empty diff --git a/packages/uclibc/uclibc-0.9.28/powerpc/uClibc.config b/packages/uclibc/uclibc-0.9.28/powerpc/uClibc.config new file mode 100644 index 0000000000..8a12c10961 --- /dev/null +++ b/packages/uclibc/uclibc-0.9.28/powerpc/uClibc.config @@ -0,0 +1,180 @@ +# +# Automatically generated make config: don't edit +# Tue Feb 6 19:17:06 2007 +# +# TARGET_alpha is not set +# TARGET_arm is not set +# TARGET_bfin is not set +# TARGET_cris is not set +# TARGET_e1 is not set +# TARGET_frv is not set +# TARGET_h8300 is not set +# TARGET_hppa is not set +# TARGET_i386 is not set +# TARGET_i960 is not set +# TARGET_ia64 is not set +# TARGET_m68k is not set +# TARGET_microblaze is not set +# TARGET_mips is not set +# TARGET_nios is not set +# TARGET_nios2 is not set +TARGET_powerpc=y +# TARGET_sh is not set +# TARGET_sh64 is not set +# TARGET_sparc is not set +# TARGET_v850 is not set +# TARGET_vax is not set +# TARGET_x86_64 is not set + +# +# Target Architecture Features and Options +# +TARGET_ARCH="powerpc" +FORCE_OPTIONS_FOR_ARCH=y +ARCH_BIG_ENDIAN=y + +# +# Using Big Endian +# +ARCH_HAS_MMU=y +ARCH_USE_MMU=y +UCLIBC_HAS_FLOATS=y +UCLIBC_HAS_FPU=y +DO_C99_MATH=y +KERNEL_SOURCE="/proj/oplinux-0.2/op-linux/branches/oplinux-0.2/efika/build/tmp/cross/powerpc-linux-uclibc" +HAVE_DOT_CONFIG=y + +# +# General Library Settings +# +# HAVE_NO_PIC is not set +DOPIC=y +# HAVE_NO_SHARED is not set +# ARCH_HAS_NO_LDSO is not set +HAVE_SHARED=y +# FORCE_SHAREABLE_TEXT_SEGMENTS is not set +LDSO_LDD_SUPPORT=y +LDSO_CACHE_SUPPORT=y +# LDSO_PRELOAD_FILE_SUPPORT is not set +LDSO_BASE_FILENAME="ld.so" +# UCLIBC_STATIC_LDCONFIG is not set +LDSO_RUNPATH=y +UCLIBC_CTOR_DTOR=y +# HAS_NO_THREADS is not set +UCLIBC_HAS_THREADS=y +PTHREADS_DEBUG_SUPPORT=y +LINUXTHREADS_OLD=y +UCLIBC_HAS_LFS=y +# MALLOC is not set +# MALLOC_SIMPLE is not set +MALLOC_STANDARD=y +MALLOC_GLIBC_COMPAT=y +UCLIBC_DYNAMIC_ATEXIT=y +COMPAT_ATEXIT=y +# UCLIBC_SUSV3_LEGACY is not set +UCLIBC_HAS_SHADOW=y +UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y +UCLIBC_HAS___PROGNAME=y +UNIX98PTY_ONLY=y +ASSUME_DEVPTS=y +UCLIBC_HAS_TM_EXTENSIONS=y +UCLIBC_HAS_TZ_CACHING=y +UCLIBC_HAS_TZ_FILE=y +UCLIBC_HAS_TZ_FILE_READ_MANY=y +UCLIBC_TZ_FILE_PATH="/etc/TZ" + +# +# Networking Support +# +UCLIBC_HAS_IPV6=y +UCLIBC_HAS_RPC=y +UCLIBC_HAS_FULL_RPC=y +UCLIBC_HAS_REENTRANT_RPC=y +UCLIBC_USE_NETLINK=y + +# +# String and Stdio Support +# +UCLIBC_HAS_STRING_GENERIC_OPT=y +UCLIBC_HAS_STRING_ARCH_OPT=y +UCLIBC_HAS_CTYPE_TABLES=y +UCLIBC_HAS_CTYPE_SIGNED=y +# UCLIBC_HAS_CTYPE_UNSAFE is not set +UCLIBC_HAS_CTYPE_CHECKED=y +# UCLIBC_HAS_CTYPE_ENFORCED is not set +UCLIBC_HAS_WCHAR=y +# UCLIBC_HAS_LOCALE is not set +UCLIBC_HAS_HEXADECIMAL_FLOATS=y +UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y +UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9 +UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y +# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set +UCLIBC_HAS_STDIO_BUFSIZ_256=y +# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_4096 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set +UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y +# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set +# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set +# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set +UCLIBC_HAS_STDIO_GETC_MACRO=y +UCLIBC_HAS_STDIO_PUTC_MACRO=y +UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y +# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set +UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y +UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y +UCLIBC_HAS_PRINTF_M_SPEC=y +UCLIBC_HAS_ERRNO_MESSAGES=y +# UCLIBC_HAS_SYS_ERRLIST is not set +UCLIBC_HAS_SIGNUM_MESSAGES=y +# UCLIBC_HAS_SYS_SIGLIST is not set +UCLIBC_HAS_GNU_GETOPT=y +UCLIBC_HAS_GNU_GETSUBOPT=y + +# +# Big and Tall +# +UCLIBC_HAS_REGEX=y +UCLIBC_HAS_REGEX_OLD=y +UCLIBC_HAS_FNMATCH=y +UCLIBC_HAS_FNMATCH_OLD=y +UCLIBC_HAS_WORDEXP=y +UCLIBC_HAS_FTW=y +UCLIBC_HAS_GLOB=y +# UCLIBC_HAS_GNU_GLOB is not set + +# +# Library Installation Options +# +SHARED_LIB_LOADER_PREFIX="/lib" +RUNTIME_PREFIX="/" +DEVEL_PREFIX="//usr" + +# +# Security options +# +# UCLIBC_BUILD_PIE is not set +# UCLIBC_HAS_ARC4RANDOM is not set +# HAVE_NO_SSP is not set +# UCLIBC_HAS_SSP is not set +UCLIBC_BUILD_RELRO=y +# UCLIBC_BUILD_NOW is not set +UCLIBC_BUILD_NOEXECSTACK=y + +# +# uClibc development/debugging options +# +CROSS_COMPILER_PREFIX="" +# DODEBUG is not set +# DODEBUG_PT is not set +DOSTRIP=y +# DOASSERTS is not set +# SUPPORT_LD_DEBUG is not set +# SUPPORT_LD_DEBUG_EARLY is not set +# UCLIBC_MALLOC_DEBUGGING is not set +WARNINGS="-Wall" +# EXTRA_WARNINGS is not set +# DOMULTI is not set +# UCLIBC_MJN3_ONLY is not set diff --git a/packages/uclibc/uclibc-cvs/powerpc/.mtn2git_empty b/packages/uclibc/uclibc-cvs/powerpc/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/uclibc/uclibc-cvs/powerpc/.mtn2git_empty diff --git a/packages/uclibc/uclibc-cvs/powerpc/uClibc.config b/packages/uclibc/uclibc-cvs/powerpc/uClibc.config new file mode 100644 index 0000000000..8a12c10961 --- /dev/null +++ b/packages/uclibc/uclibc-cvs/powerpc/uClibc.config @@ -0,0 +1,180 @@ +# +# Automatically generated make config: don't edit +# Tue Feb 6 19:17:06 2007 +# +# TARGET_alpha is not set +# TARGET_arm is not set +# TARGET_bfin is not set +# TARGET_cris is not set +# TARGET_e1 is not set +# TARGET_frv is not set +# TARGET_h8300 is not set +# TARGET_hppa is not set +# TARGET_i386 is not set +# TARGET_i960 is not set +# TARGET_ia64 is not set +# TARGET_m68k is not set +# TARGET_microblaze is not set +# TARGET_mips is not set +# TARGET_nios is not set +# TARGET_nios2 is not set +TARGET_powerpc=y +# TARGET_sh is not set +# TARGET_sh64 is not set +# TARGET_sparc is not set +# TARGET_v850 is not set +# TARGET_vax is not set +# TARGET_x86_64 is not set + +# +# Target Architecture Features and Options +# +TARGET_ARCH="powerpc" +FORCE_OPTIONS_FOR_ARCH=y +ARCH_BIG_ENDIAN=y + +# +# Using Big Endian +# +ARCH_HAS_MMU=y +ARCH_USE_MMU=y +UCLIBC_HAS_FLOATS=y +UCLIBC_HAS_FPU=y +DO_C99_MATH=y +KERNEL_SOURCE="/proj/oplinux-0.2/op-linux/branches/oplinux-0.2/efika/build/tmp/cross/powerpc-linux-uclibc" +HAVE_DOT_CONFIG=y + +# +# General Library Settings +# +# HAVE_NO_PIC is not set +DOPIC=y +# HAVE_NO_SHARED is not set +# ARCH_HAS_NO_LDSO is not set +HAVE_SHARED=y +# FORCE_SHAREABLE_TEXT_SEGMENTS is not set +LDSO_LDD_SUPPORT=y +LDSO_CACHE_SUPPORT=y +# LDSO_PRELOAD_FILE_SUPPORT is not set +LDSO_BASE_FILENAME="ld.so" +# UCLIBC_STATIC_LDCONFIG is not set +LDSO_RUNPATH=y +UCLIBC_CTOR_DTOR=y +# HAS_NO_THREADS is not set +UCLIBC_HAS_THREADS=y +PTHREADS_DEBUG_SUPPORT=y +LINUXTHREADS_OLD=y +UCLIBC_HAS_LFS=y +# MALLOC is not set +# MALLOC_SIMPLE is not set +MALLOC_STANDARD=y +MALLOC_GLIBC_COMPAT=y +UCLIBC_DYNAMIC_ATEXIT=y +COMPAT_ATEXIT=y +# UCLIBC_SUSV3_LEGACY is not set +UCLIBC_HAS_SHADOW=y +UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y +UCLIBC_HAS___PROGNAME=y +UNIX98PTY_ONLY=y +ASSUME_DEVPTS=y +UCLIBC_HAS_TM_EXTENSIONS=y +UCLIBC_HAS_TZ_CACHING=y +UCLIBC_HAS_TZ_FILE=y +UCLIBC_HAS_TZ_FILE_READ_MANY=y +UCLIBC_TZ_FILE_PATH="/etc/TZ" + +# +# Networking Support +# +UCLIBC_HAS_IPV6=y +UCLIBC_HAS_RPC=y +UCLIBC_HAS_FULL_RPC=y +UCLIBC_HAS_REENTRANT_RPC=y +UCLIBC_USE_NETLINK=y + +# +# String and Stdio Support +# +UCLIBC_HAS_STRING_GENERIC_OPT=y +UCLIBC_HAS_STRING_ARCH_OPT=y +UCLIBC_HAS_CTYPE_TABLES=y +UCLIBC_HAS_CTYPE_SIGNED=y +# UCLIBC_HAS_CTYPE_UNSAFE is not set +UCLIBC_HAS_CTYPE_CHECKED=y +# UCLIBC_HAS_CTYPE_ENFORCED is not set +UCLIBC_HAS_WCHAR=y +# UCLIBC_HAS_LOCALE is not set +UCLIBC_HAS_HEXADECIMAL_FLOATS=y +UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y +UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9 +UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y +# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set +UCLIBC_HAS_STDIO_BUFSIZ_256=y +# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_4096 is not set +# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set +UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y +# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set +# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set +# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set +UCLIBC_HAS_STDIO_GETC_MACRO=y +UCLIBC_HAS_STDIO_PUTC_MACRO=y +UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y +# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set +UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y +UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y +UCLIBC_HAS_PRINTF_M_SPEC=y +UCLIBC_HAS_ERRNO_MESSAGES=y +# UCLIBC_HAS_SYS_ERRLIST is not set +UCLIBC_HAS_SIGNUM_MESSAGES=y +# UCLIBC_HAS_SYS_SIGLIST is not set +UCLIBC_HAS_GNU_GETOPT=y +UCLIBC_HAS_GNU_GETSUBOPT=y + +# +# Big and Tall +# +UCLIBC_HAS_REGEX=y +UCLIBC_HAS_REGEX_OLD=y +UCLIBC_HAS_FNMATCH=y +UCLIBC_HAS_FNMATCH_OLD=y +UCLIBC_HAS_WORDEXP=y +UCLIBC_HAS_FTW=y +UCLIBC_HAS_GLOB=y +# UCLIBC_HAS_GNU_GLOB is not set + +# +# Library Installation Options +# +SHARED_LIB_LOADER_PREFIX="/lib" +RUNTIME_PREFIX="/" +DEVEL_PREFIX="//usr" + +# +# Security options +# +# UCLIBC_BUILD_PIE is not set +# UCLIBC_HAS_ARC4RANDOM is not set +# HAVE_NO_SSP is not set +# UCLIBC_HAS_SSP is not set +UCLIBC_BUILD_RELRO=y +# UCLIBC_BUILD_NOW is not set +UCLIBC_BUILD_NOEXECSTACK=y + +# +# uClibc development/debugging options +# +CROSS_COMPILER_PREFIX="" +# DODEBUG is not set +# DODEBUG_PT is not set +DOSTRIP=y +# DOASSERTS is not set +# SUPPORT_LD_DEBUG is not set +# SUPPORT_LD_DEBUG_EARLY is not set +# UCLIBC_MALLOC_DEBUGGING is not set +WARNINGS="-Wall" +# EXTRA_WARNINGS is not set +# DOMULTI is not set +# UCLIBC_MJN3_ONLY is not set diff --git a/packages/upslug/upslug-native_1.0.bb b/packages/upslug/upslug-native_1.0.bb index 729f176a75..02c41eb42b 100644 --- a/packages/upslug/upslug-native_1.0.bb +++ b/packages/upslug/upslug-native_1.0.bb @@ -5,7 +5,7 @@ DESCRIPTION = "NSLU2 binary upload tool" HOMEPAGE = "http://www.nslu2-linux.org/wiki/Main/UpSlug" SECTION = "console/network" PRIORITY = "optional" -LICENSE = "GPL-2" +LICENSE = "GPLv2" COMPATIBLE_MACHINE = "nslu2" SRC_TAG = "UPSLUG_${@'_'.join(bb.data.getVar('PV',d,1).split('.'))}" diff --git a/packages/upslug/upslug-native_cvs.bb b/packages/upslug/upslug-native_cvs.bb index 95b340c589..e0d7f2b708 100644 --- a/packages/upslug/upslug-native_cvs.bb +++ b/packages/upslug/upslug-native_cvs.bb @@ -5,7 +5,7 @@ DESCRIPTION = "NSLU2 binary upload tool" HOMEPAGE = "http://www.nslu2-linux.org/wiki/Main/UpSlug" SECTION = "console/network" PRIORITY = "optional" -LICENSE = "GPL-2" +LICENSE = "GPLv2" COMPATIBLE_MACHINE = "nslu2" # Use releases in preference diff --git a/packages/xerces-c/xerces-c_2.6.0.bb b/packages/xerces-c/xerces-c_2.6.0.bb index c76e3fc9b6..fe0677f54f 100644 --- a/packages/xerces-c/xerces-c_2.6.0.bb +++ b/packages/xerces-c/xerces-c_2.6.0.bb @@ -1,13 +1,9 @@ -PR = "r0" DESCRIPTION = "Xerces-c xml" -SECTION = "libs" +SECTION = "libs" PRIORITY = "optional" LICENSE = "MIT" - - - -S="${WORKDIR}/xerces-c-src_2_6_0" +S = "${WORKDIR}/xerces-c-src_2_6_0" SRC_URI = "http://www.axint.net/apache/xml/xerces-c/xerces-c-src_2_6_0.tar.gz" diff --git a/packages/xerces-c/xerces-c_2.7.0.bb b/packages/xerces-c/xerces-c_2.7.0.bb index 86f88450cd..8fdab80180 100644 --- a/packages/xerces-c/xerces-c_2.7.0.bb +++ b/packages/xerces-c/xerces-c_2.7.0.bb @@ -1,13 +1,9 @@ -PR = "r0" DESCRIPTION = "Xerces-c xml" SECTION = "libs" PRIORITY = "optional" LICENSE = "MIT" - - - -S="${WORKDIR}/xerces-c-src_2_7_0" +S = "${WORKDIR}/xerces-c-src_2_7_0" SRC_URI = "http://www.axint.net/apache/xml/xerces-c/source/xerces-c-src_2_7_0.tar.gz" diff --git a/packages/xoo/files/.mtn2git_empty b/packages/xoo/files/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/xoo/files/.mtn2git_empty diff --git a/packages/xoo/files/gta01.png b/packages/xoo/files/gta01.png Binary files differnew file mode 100644 index 0000000000..e0aae82051 --- /dev/null +++ b/packages/xoo/files/gta01.png diff --git a/packages/xoo/files/gta01.xml b/packages/xoo/files/gta01.xml new file mode 100644 index 0000000000..877a91f180 --- /dev/null +++ b/packages/xoo/files/gta01.xml @@ -0,0 +1,7 @@ +<skin> + <device + img="gta01.png" + width="680" height="689" + display_width="480" display_height="640" display_depth="16" + display_x="98" display_y="22" /> +</skin> diff --git a/packages/xoo/xoo_svn.bb b/packages/xoo/xoo_svn.bb index 992d918316..71a39b057d 100644 --- a/packages/xoo/xoo_svn.bb +++ b/packages/xoo/xoo_svn.bb @@ -7,7 +7,16 @@ DEPENDS = "virtual/libx11 libxtst gtk+ libglade" PV = "0.7+svn${SRCDATE}" PR = "r1" -SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=Xoo;proto=http" +SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=Xoo;proto=http \ + file://*.png \ + file://*.xml" S = "${WORKDIR}/Xoo" inherit autotools + +do_install_append() { + for i in ${WORKDIR}/*.png ${WORKDIR}/*.xml; do + install -m 0644 $i ${D}${datadir}/${PN}/ + done +} + diff --git a/packages/xorg-app/mkfontdir-native_X11R7.0-1.0.1.bb b/packages/xorg-app/mkfontdir-native_X11R7.0-1.0.1.bb index b322350e03..0787a7ced7 100644 --- a/packages/xorg-app/mkfontdir-native_X11R7.0-1.0.1.bb +++ b/packages/xorg-app/mkfontdir-native_X11R7.0-1.0.1.bb @@ -1,5 +1,5 @@ DESCRIPTION = "X mkfontdir app" -SECTION = "x11/apps" +SECTION = "x11/applications" LICENSE = "MIT-X" S="${WORKDIR}/mkfontdir-${PV}" diff --git a/packages/xorg-app/mkfontdir-native_X11R7.1-1.0.2.bb b/packages/xorg-app/mkfontdir-native_X11R7.1-1.0.2.bb index 3ec30fde48..0eb85010b9 100644 --- a/packages/xorg-app/mkfontdir-native_X11R7.1-1.0.2.bb +++ b/packages/xorg-app/mkfontdir-native_X11R7.1-1.0.2.bb @@ -1,5 +1,5 @@ DESCRIPTION = "X mkfontdir app" -SECTION = "x11/apps" +SECTION = "x11/applications" LICENSE = "MIT-X" S="${WORKDIR}/mkfontdir-${PV}" diff --git a/packages/xorg-app/mkfontscale-native_X11R7.0-1.0.1.bb b/packages/xorg-app/mkfontscale-native_X11R7.0-1.0.1.bb index 051a9e5f63..5bbab6a5fd 100644 --- a/packages/xorg-app/mkfontscale-native_X11R7.0-1.0.1.bb +++ b/packages/xorg-app/mkfontscale-native_X11R7.0-1.0.1.bb @@ -1,5 +1,5 @@ DESCRIPTION = "X mkfontscale app" -SECTION = "x11/apps" +SECTION = "x11/applications" LICENSE = "MIT-X" S="${WORKDIR}/mkfontscale-${PV}" diff --git a/packages/xorg-app/xorg-app-common.inc b/packages/xorg-app/xorg-app-common.inc index 27a1dd2bfa..b2a73f9ca8 100644 --- a/packages/xorg-app/xorg-app-common.inc +++ b/packages/xorg-app/xorg-app-common.inc @@ -1,6 +1,6 @@ DESCRIPTION = "X application" HOMEPAGE = "http://www.x.org" -SECTION = "x11/apps" +SECTION = "x11/applications" LICENSE = "MIT-X" #DEPENDS = "" diff --git a/packages/xorg-app/xterm_207.bb b/packages/xorg-app/xterm_207.bb index b1291037b4..5d02234b35 100644 --- a/packages/xorg-app/xterm_207.bb +++ b/packages/xorg-app/xterm_207.bb @@ -1,5 +1,5 @@ DESCRIPTION = "xterm app" -SECTION = "x11/apps" +SECTION = "x11/applications" LICENSE = "MIT-X" DEPENDS = "libxaw xproto virtual/libx11 xextproto xext xau libxpm ncurses" diff --git a/packages/xscreensaver/xscreensaver_4.16.bb b/packages/xscreensaver/xscreensaver_4.16.bb index 9b424461ba..7696c4733c 100644 --- a/packages/xscreensaver/xscreensaver_4.16.bb +++ b/packages/xscreensaver/xscreensaver_4.16.bb @@ -2,21 +2,20 @@ # Copyright (C) 2004, Advanced Micro Devices, Inc. All Rights Reserved # Released under the MIT license (see packages/COPYING) +DESCRIPTION = "*The* screensaver package for X11" +HOMEPAGE = "http://www.jwz.org/xscreensaver/" +SECTION = "x11-misc" +LICENSE = "BSD" +DEPENDS = "intltool virtual/libx11 gtk+ libxml2 libglade" +PR = "r1" + BROKEN = "1" # upstream is at 4.22 now - patches do not apply -SRC_URI="http://www.jwz.org/xscreensaver/xscreensaver-${PV}.tar.gz \ - file://fixes.patch;patch=1 \ - file://configure.patch;patch=1 \ - file://XScreenSaver" - -DESCRIPTION="*The* screensaver package for X11" -LICENSE="BSD" -HOMEPAGE="http://www.jwz.org/xscreensaver/" -PR = "r1" -SECTION="x11-misc" - -DEPENDS = "intltool virtual/libx11 gtk+ libxml2 libglade" +SRC_URI = "http://www.jwz.org/xscreensaver/xscreensaver-${PV}.tar.gz \ + file://fixes.patch;patch=1 \ + file://configure.patch;patch=1 \ + file://XScreenSaver" # xscreensaver-demo is a glade app LDFLAGS_append = " -Wl,--export-dynamic" diff --git a/packages/xscreensaver/xscreensaver_4.22.bb b/packages/xscreensaver/xscreensaver_4.22.bb index 3b951fdeeb..6c2776d6aa 100644 --- a/packages/xscreensaver/xscreensaver_4.22.bb +++ b/packages/xscreensaver/xscreensaver_4.22.bb @@ -2,19 +2,17 @@ # Copyright (C) 2004, Advanced Micro Devices, Inc. All Rights Reserved # Released under the MIT license (see packages/COPYING) -SRC_URI="http://www.jwz.org/xscreensaver/xscreensaver-${PV}.tar.gz \ - file://fixes.patch;patch=1 \ - file://configure.in.patch;patch=1 \ - file://XScreenSaver" - -DESCRIPTION="*The* screensaver package for X11" -LICENSE="BSD" -HOMEPAGE="http://www.jwz.org/xscreensaver/" -PR = "r0" -SECTION="x11-misc" - +DESCRIPTION = "*The* screensaver package for X11" +HOMEPAGE = "http://www.jwz.org/xscreensaver/" +SECTION = "x11-misc" +LICENSE = "BSD" DEPENDS = "intltool virtual/libx11 gtk+ libxml2 libglade" +SRC_URI = "http://www.jwz.org/xscreensaver/xscreensaver-${PV}.tar.gz \ + file://fixes.patch;patch=1 \ + file://configure.in.patch;patch=1 \ + file://XScreenSaver" + # xscreensaver-demo is a glade app LDFLAGS_append = " -Wl,--export-dynamic" diff --git a/packages/xserver-kdrive-common/.mtn2git_empty b/packages/xserver-kdrive-common/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/xserver-kdrive-common/.mtn2git_empty diff --git a/packages/xserver-kdrive-common/xserver-kdrive-common/.mtn2git_empty b/packages/xserver-kdrive-common/xserver-kdrive-common/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/xserver-kdrive-common/xserver-kdrive-common/.mtn2git_empty diff --git a/packages/xserver-kdrive-common/xserver-kdrive-common/etc/.mtn2git_empty b/packages/xserver-kdrive-common/xserver-kdrive-common/etc/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/xserver-kdrive-common/xserver-kdrive-common/etc/.mtn2git_empty diff --git a/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/.mtn2git_empty b/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/.mtn2git_empty diff --git a/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xdefaults b/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xdefaults new file mode 100644 index 0000000000..f5b69dd516 --- /dev/null +++ b/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xdefaults @@ -0,0 +1,3 @@ +Rxvt*scrollBar_right: true +Rxvt*font: xft:Mono:pixelsize=9 + diff --git a/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit b/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit new file mode 100644 index 0000000000..f566ffe5be --- /dev/null +++ b/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit @@ -0,0 +1,16 @@ +#!/bin/sh +# + +export USER=root +export HOME=/home/root +if [ ! -d $HOME ] && [ -d /root ]; then + HOME=/root +fi +export XAPPLRESDIR=/usr/X11R6/lib/app-defaults +export XFILESEARCHPATH=./%N%S%C.ad:/usr/X11R6/lib/X11/%L/%T/%N%S%C:/usr/X11R6/lib/X11/%l/%T/%N%S%C:/usr/X11R6/lib/X11/%T/%N%S%C:./%N%S.ad:/usr/X11R6/lib/X11/%L/%T/%N%S:/usr/X11R6/lib/X11/%l/%T/%N%S:/usr/X11R6/lib/X11/%T/%N%S:/usr/local/lib/X11/app-defaults/%N%S%C.ad + +export PATH=$PATH:/usr/X11R6/bin + +SYSSESSIONDIR=/etc/X11/Xinit.d + +exec run-parts $SYSSESSIONDIR diff --git a/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xserver b/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xserver new file mode 100644 index 0000000000..983b875830 --- /dev/null +++ b/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xserver @@ -0,0 +1,108 @@ +#!/bin/sh +# + +# note xinit needs full server path +XSERVER=/usr/bin/Xipaq +if [ -f /usr/bin/Xfbdev ]; then + XSERVER=/usr/bin/Xfbdev +fi +if [ -f /usr/bin/Xepson ]; then + XSERVER=/usr/bin/Xepson +fi +if [ -f /usr/bin/Xorg ]; then + XSERVER=/usr/bin/Xorg +fi +if [ -f /usr/bin/Xomap ]; then + XSERVER=/usr/bin/Xomap +fi +if [ -f /usr/bin/Xw100 ]; then + XSERVER=Xw100 +fi +if [ -f /usr/bin/Ximageon ]; then + XSERVER=Ximageon +fi + +. /etc/profile + + + +fallback_screen_arg() { + geom=`fbset | grep geometry` + w=`echo $geom | awk '{ print $2 }'` + h=`echo $geom | awk '{ print $3 }'` + b=`echo $geom | awk '{ print $6 }'` + echo -n "${w}x${h}x${b}" +} + +module_id() { + ## used to read from assets, but sometimes assets is corrupted + # grep "Module ID" /proc/hal/assets | sed "s/.*://" + ## used to read from /proc/hal/model, but that is removed in 2.6 + # echo ' iPAQ' `cat /proc/hal/model` + awk 'BEGIN { FS=": " } /Hardware/ { print $2 } ' </proc/cpuinfo +} + +export USER=root + +ARGS=" -br -pn" + +# use ucb 1x00 touchscreen if present +if [ -z "$TSLIB_TSDEVICE" ] && [ -e /dev/touchscreen/ucb1x00 ]; then + ARGS="$ARGS -mouse /dev/touchscreen/ucb1x00" +fi + +# use usb mouse if present +# Xorg doesn't support "-mouse" option, and uses /dev/input/mice automatically +if [ -z "$TSLIB_TSDEVICE" ] && [ -e /dev/input/mice ] && [ "$XSERVER" != "Xorg" ]; then + ARGS="$ARGS -mouse /dev/input/mice" +fi + +# start off server in conventional location. +case `module_id` in + "HP iPAQ H3100" | "HP iPAQ H3800") + ARGS="$ARGS -dpi 100 -rgba vrgb -screen 320x240@90" ;; + "HP iPAQ H3600" | "HP iPAQ H3700" | "HP iPAQ H3900") + ARGS="$ARGS -dpi 100 -rgba vbgr -screen 320x240@270" ;; + "HP iPAQ H5400" | "HP iPAQ H2200") + ARGS="$ARGS -dpi 100 -rgba rgb" ;; + "HP iPAQ HX4700") + ARGS="$ARGS -dpi 200" ;; + "Ramses") + # What is this "vt2" in aid of? + ARGS="$ARGS -dpi 100 -rgba vrgb -screen 320x240@90 vt2" ;; + # both 'Sharp-Collie' and just 'Collie' have been reported + *Poodle) + ARGS="$ARGS -dpi 100 -rgba vrgb -screen 320x240@270" ;; + *Collie) + ARGS="$ARGS -dpi 100 -rgba vrgb -screen 320x240@270" + ;; + "SHARP Shepherd" | "SHARP Husky" | "SHARP Corgi") + ARGS="$ARGS -dpi 200 -rgba rgb" ;; + "SHARP Spitz" | "SHARP Akita" | "SHARP Borzoi") + ARGS="$ARGS -dpi 200 -rgba rgb -screen 480x640@270" ;; + "Simpad") + ARGS="$ARGS -dpi 100 -rgba rgb" ;; + "Generic OMAP1510/1610/1710") + ARGS="$ARGS -dpi 220 -mouse /dev/input/event0" ;; + "Cellon C8000 Board") + ARGS="$ARGS -dpi 100 -screen 240x320,10,1" ;; + "HTC Universal") + ARGS="$ARGS -dpi 100 -screen 480x640@270" ;; + "ARM-IntegratorCP" | "ARM-Versatile PB") + ARGS="$ARGS -rgba vrgb" ;; + "Compulab CM-x270") + modprobe mbxfb + ARGS="$ARGS -fb /dev/fb1" + ;; + *) + # Its a device we dont know about - in which case force + # kdrive to use the current framebuffer geometry otherwise + # it will defualt to trying to achieve 1024x768 + S=`fallback_screen_arg` + ARGS="$ARGS -screen $S" + ;; +esac + +DISPLAY=':0' + +exec xinit /etc/X11/Xsession -- $XSERVER $DISPLAY $ARGS $* diff --git a/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xsession b/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xsession new file mode 100644 index 0000000000..a438e13050 --- /dev/null +++ b/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xsession @@ -0,0 +1,26 @@ +#!/bin/sh + +HOME_VOLATILE=/home/$USER/ramdisk +export HOME_VOLATILE + +if [ -f /usr/bin/dbus-launch ]; then + ## test for an existing bus daemon, just to be safe + if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then + ## if not found, launch a new one + eval `dbus-launch --auto-syntax --exit-with-session` + echo "D-BUS per-session daemon address is: $DBUS_SESSION_BUS_ADDRESS" + fi +fi + +. /etc/profile + +if [ -f $HOME/.profile ]; then + . $HOME/.profile +fi + +SYSSESSIONDIR=/etc/X11/Xsession.d + +run-parts $SYSSESSIONDIR + +exit 0 + diff --git a/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xsession.d/.mtn2git_empty b/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xsession.d/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xsession.d/.mtn2git_empty diff --git a/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xsession.d/30xTs_Calibrate b/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xsession.d/30xTs_Calibrate new file mode 100644 index 0000000000..8e6a8b22cb --- /dev/null +++ b/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xsession.d/30xTs_Calibrate @@ -0,0 +1,6 @@ +#!/bin/sh + +while [ ! -z $TSLIB_TSDEVICE ] && [ ! -f /etc/pointercal ] +do + /usr/bin/xtscal +done diff --git a/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xsession.d/60xXDefaults b/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xsession.d/60xXDefaults new file mode 100644 index 0000000000..d3a284d8da --- /dev/null +++ b/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xsession.d/60xXDefaults @@ -0,0 +1,4 @@ +#!/bin/sh +if [ -e $HOME/.Xdefaults ]; then + xrdb -merge -nocpp < $HOME/.Xdefaults +fi diff --git a/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xsession.d/90xXWindowManager b/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xsession.d/90xXWindowManager new file mode 100644 index 0000000000..b2b65a0993 --- /dev/null +++ b/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xsession.d/90xXWindowManager @@ -0,0 +1,8 @@ +#!/bin/sh +if [ -x $HOME/.Xsession ]; then + exec $HOME/.Xsession +else + exec /usr/bin/x-window-manager +fi + + diff --git a/packages/xserver-kdrive-common/xserver-kdrive-common_0.1.bb b/packages/xserver-kdrive-common/xserver-kdrive-common_0.1.bb new file mode 100644 index 0000000000..c076a3435a --- /dev/null +++ b/packages/xserver-kdrive-common/xserver-kdrive-common_0.1.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "Common X11 scripts" +LICENSE = "GPL" +SECTION = "x11" +RDEPENDS_${PN} = "xmodmap libxrandr xdpyinfo xtscal xinit" +PR = "r9" + +SRC_URI = "file://etc" +S = ${WORKDIR} + +PACKAGE_ARCH = "all" + +do_install() { + cp -R ${S}/etc ${D}/etc + rm -fR ${D}/etc/.svn + rm -fR ${D}/etc/*/.svn + rm -fR ${D}/etc/*/*/.svn + chmod -R 755 ${D}/etc +}
\ No newline at end of file diff --git a/packages/xserver-kdrive-common/xserver-nodm-init.bb b/packages/xserver-kdrive-common/xserver-nodm-init.bb new file mode 100644 index 0000000000..cea9f0cb28 --- /dev/null +++ b/packages/xserver-kdrive-common/xserver-nodm-init.bb @@ -0,0 +1,21 @@ +DESCRIPTION = "Simple Xserver Init Script (no dm)" +LICENSE = "GPL" +SECTION = "x11" +PRIORITY = "optional" +PR = "r8" + +SRC_URI = "file://xserver-nodm" +S = ${WORKDIR} + +PACKAGE_ARCH = "all" + +do_install() { + install -d ${D}/etc + install -d ${D}/etc/init.d + install xserver-nodm ${D}/etc/init.d +} + +inherit update-rc.d + +INITSCRIPT_NAME = "xserver-nodm" +INITSCRIPT_PARAMS = "start 99 5 2 . stop 20 0 1 6 ." diff --git a/packages/xserver-kdrive-common/xserver-nodm-init/.mtn2git_empty b/packages/xserver-kdrive-common/xserver-nodm-init/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/xserver-kdrive-common/xserver-nodm-init/.mtn2git_empty diff --git a/packages/xserver-kdrive-common/xserver-nodm-init/xserver-nodm b/packages/xserver-kdrive-common/xserver-nodm-init/xserver-nodm new file mode 100755 index 0000000000..a56edaa15b --- /dev/null +++ b/packages/xserver-kdrive-common/xserver-nodm-init/xserver-nodm @@ -0,0 +1,49 @@ +#!/bin/sh + +killproc() { # kill the named process(es) + pid=`/bin/ps -e x | + /bin/grep $1 | + /bin/grep -v grep | + /bin/sed -e 's/^ *//' -e 's/ .*//'` + [ "$pid" != "" ] && kill $pid +} + +for x in $(cat /proc/cmdline); do + case $x in + x11=false) + echo "X Server disabled" + exit 0; + ;; + esac +done + +case "$1" in + start) + # We don't want this script to block the rest of the boot process + if [ "$2" != "background" ]; then + $0 $1 background & + else + . /etc/profile + + echo "Starting Xserver" + /etc/X11/Xserver & + fi + ;; + + stop) + echo "Stopping XServer" + killproc xinit + ;; + + restart) + $0 stop + sleep 1 + $0 start + ;; + + *) + echo "usage: $0 { start | stop | restart }" + ;; +esac + +exit 0 diff --git a/packages/yeaphone/yeaphone_0.1.bb b/packages/yeaphone/yeaphone_0.1.bb index d17e8c2fcf..e1e06d52e9 100644 --- a/packages/yeaphone/yeaphone_0.1.bb +++ b/packages/yeaphone/yeaphone_0.1.bb @@ -1,7 +1,7 @@ DESCRIPTION = "A VoIP SIP phone for the Yealink USB handset" HOMEPAGE = "http://www.devbase.at/voip/" MAINTAINER = "Thomas Reitmayr <treitmayr@yahoo.com>" -LICENSE = "GPL-2" +LICENSE = "GPLv2" PRIORITY = "optional" DEPENDS = "liblinphone" RDEPENDS = "liblinphone" diff --git a/packages/zsafe/zsafe_2.1.3.bb b/packages/zsafe/zsafe_2.1.3.bb index 80d0392b76..3f6fa7c2b1 100644 --- a/packages/zsafe/zsafe_2.1.3.bb +++ b/packages/zsafe/zsafe_2.1.3.bb @@ -1,5 +1,5 @@ DESCRIPTION = "Password manager" -SECTION = "opie/applications" +SECTION = "opie/applications" PRIORITY = "optional" LICENSE = "GPL" RCONFLICTS = "opie-zsafe" |