summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MAINTAINERS7
-rw-r--r--classes/insane.bbclass1
-rw-r--r--classes/scons.bbclass8
-rw-r--r--conf/bitbake.conf5
-rw-r--r--conf/checksums.ini86
-rw-r--r--conf/distro/angstrom-2008.1.conf19
-rw-r--r--conf/distro/include/angstrom-2007-for-openmoko.inc1
-rw-r--r--conf/distro/include/preferred-om-2008-versions.inc3
-rw-r--r--conf/distro/include/sane-srcrevs.inc6
-rw-r--r--conf/distro/kaeilos.conf1
-rw-r--r--conf/distro/oplinux.conf1
-rw-r--r--conf/machine/akita.conf4
-rw-r--r--conf/machine/c7x0.conf9
-rw-r--r--conf/machine/include/zaurus-2.6.inc10
-rw-r--r--conf/machine/include/zaurus-clamshell.inc3
-rw-r--r--conf/machine/omapzoom.conf4
-rw-r--r--conf/machine/spitz.conf9
-rw-r--r--conf/machine/wl500g.conf2
-rwxr-xr-xcontrib/dependsgraph/dependsgraph.sh2
-rw-r--r--files/device_table-kexecboot.txt7
-rw-r--r--files/device_table-minimal.txt10
-rw-r--r--recipes/bzip2/bzip2-1.0.2/ldflags.patch14
-rw-r--r--recipes/bzip2/bzip2_1.0.2.bb5
-rw-r--r--recipes/cacao/cacao_0.99.3.bb3
-rw-r--r--recipes/cacao/cacao_0.99.4.bb12
-rw-r--r--recipes/cacao/files/cacao_PR99_C_0.99.3.patch91
-rw-r--r--recipes/disko/disko_git.bb22
-rw-r--r--recipes/disko/files/header.patch13
-rw-r--r--recipes/disko/files/pkgconfig.patch26
-rw-r--r--recipes/dsplink/ti-codec-combos_3.16.bb19
-rw-r--r--recipes/dsplink/ti-codec-engine_2.23.bb394
-rw-r--r--recipes/dsplink/ti-dmai_svn.bb3
-rw-r--r--recipes/dsplink/ti-paths.inc26
-rw-r--r--recipes/e17/places/fix-api.diff53
-rw-r--r--recipes/e17/places_svn.bb4
-rw-r--r--recipes/eds/eds-dbus_svn.bb4
-rw-r--r--recipes/eel/eel_2.12.2.bb3
-rw-r--r--recipes/eel/eel_2.22.2.bb3
-rw-r--r--recipes/eel/eel_2.24.1.bb3
-rw-r--r--recipes/eel/eel_2.6.1.bb3
-rw-r--r--recipes/efl1/ecore.inc4
-rw-r--r--recipes/efl1/ecore_svn.bb2
-rw-r--r--recipes/gcc/gcc-4.1.0.inc2
-rw-r--r--recipes/gcc/gcc-4.1.1.inc2
-rw-r--r--recipes/gcc/gcc-4.1.2.inc2
-rw-r--r--recipes/gcc/gcc-4.2.1.inc2
-rw-r--r--recipes/gcc/gcc-4.2.2.inc2
-rw-r--r--recipes/gcc/gcc-4.2.3.inc2
-rw-r--r--recipes/gcc/gcc-4.2.4.inc2
-rw-r--r--recipes/gcc/gcc-4.3.1.inc3
-rw-r--r--recipes/gcc/gcc-4.3.2.inc3
-rw-r--r--recipes/gcc/gcc-4.3.3.inc3
-rw-r--r--recipes/gimp/gimp_2.6.3.bb4
-rw-r--r--recipes/gnome/cheese_2.26.0.bb12
-rw-r--r--recipes/gnome/epiphany_2.27.1.bb16
-rw-r--r--recipes/gnome/gail_1.20.0.bb1
-rw-r--r--recipes/gnome/gnome-desktop_2.26.0.bb8
-rw-r--r--recipes/gnome/gnome-keyring_2.26.0.bb2
-rw-r--r--recipes/gnome/gnome-panel_2.26.0.bb24
-rw-r--r--recipes/gnome/gnome-python-desktop_2.26.0.bb28
-rw-r--r--recipes/gnome/libgnomecanvas_2.20.0.bb3
-rw-r--r--recipes/gnome/libgweather_2.26.0.bb25
-rw-r--r--recipes/gnutls/libtasn1-native_1.7.bb4
-rw-r--r--recipes/gstreamer/gst-ffmpeg-0.10.7/configure-hack.diff12
-rw-r--r--recipes/gstreamer/gst-ffmpeg_0.10.7.bb32
-rw-r--r--recipes/gtk+/gtk+.inc11
-rw-r--r--recipes/gtk+/gtk+_2.14.2.bb15
-rw-r--r--recipes/gtk+/gtk+_2.16.0.bb21
-rw-r--r--recipes/gtkhtml/gtkhtml-2.0_2.6.3.bb4
-rw-r--r--recipes/gtkhtml/gtkhtml-3.0_3.0.10.bb4
-rw-r--r--recipes/gtkhtml/gtkhtml-3.1_3.1.16.bb3
-rw-r--r--recipes/gtkhtml/gtkhtml-3.6_3.6.2.bb3
-rw-r--r--recipes/gtkhtml/gtkhtml-3.8_3.12.3.bb3
-rw-r--r--recipes/gtkhtml/gtkhtml-3.8_3.18.0.bb3
-rw-r--r--recipes/gtkhtml/gtkhtml-3.8_3.8.2.bb3
-rw-r--r--recipes/gtkhtml/gtkhtml-lite-3.0_3.0.10.bb4
-rw-r--r--recipes/gxine/gxine_0.4.1.bb2
-rw-r--r--recipes/gxine/gxine_0.4.1enhanced.bb2
-rw-r--r--recipes/hostap/hostap-daemon_0.6.9.bb14
-rw-r--r--recipes/images/minimal-image.bb1
-rw-r--r--recipes/images/neuros-osd-base-image.bb2
-rw-r--r--recipes/images/qtopia-core-console-image.bb19
-rw-r--r--recipes/images/qtopia-core-gui-image.bb20
-rw-r--r--recipes/initscripts/files/arm/alignment.sh8
-rw-r--r--recipes/initscripts/initscripts_1.0.bb2
-rw-r--r--recipes/kexecboot/device_table-oldmmc.txt2
-rw-r--r--recipes/kexecboot/kexecboot_0.4.bb6
-rw-r--r--recipes/kexecboot/kexecboot_0.5.bb5
-rw-r--r--recipes/kexecboot/kexecboot_git.bb17
-rw-r--r--recipes/lesstif/lesstif_0.95.0.bb5
-rw-r--r--recipes/libgsm/libgsm-1.0.12/01_makefile.patch71
-rw-r--r--recipes/libgsm/libgsm-1.0.12/02_cplusplus.patch25
-rw-r--r--recipes/libgsm/libgsm-1.0.12/03_config.patch154
-rw-r--r--recipes/libgsm/libgsm-1.0.12/04_includes.patch43
-rw-r--r--recipes/libgsm/libgsm-1.0.12/05_compiler_warnings.patch98
-rw-r--r--recipes/libgsm/libgsm_1.0.12.bb45
-rw-r--r--recipes/libmikmod/libmikmod/ldflags.patch12
-rw-r--r--recipes/libmikmod/libmikmod_3.1.12.bb3
-rw-r--r--recipes/libogg/libtheora-1.0/libtheora-1.0-no-docs.patch33
-rw-r--r--recipes/libogg/libtheora_1.0.bb8
-rw-r--r--recipes/libpcap/libpcap-1.0.0/ldflags.patch12
-rw-r--r--recipes/libpcap/libpcap_1.0.0.bb3
-rw-r--r--recipes/libxine/files/configure-1.0.patch177
-rw-r--r--recipes/libxine/files/cpu-1.0.patch112
-rw-r--r--recipes/libxine/files/libxine-cut-memusage.patch71
-rw-r--r--recipes/libxine/files/libxine-ffmpeg-enable-arm.patch20
-rw-r--r--recipes/libxine/files/libxine-gcc4.patch138
-rw-r--r--recipes/libxine/files/libxine-libavcodec.patch926
-rw-r--r--recipes/libxine/files/libxine-libvorbis.patch39
-rw-r--r--recipes/libxine/files/libxine-tremor-autoconf.patch16
-rw-r--r--recipes/libxine/files/mpegvideo-static-inlinine.patch16
-rw-r--r--recipes/libxine/libxine-1.1.0/configure.patch244
-rw-r--r--recipes/libxine/libxine-1.1.0/cpuid.patch16
-rw-r--r--recipes/libxine/libxine-1.1.0/dont-have-xv.patch16
-rw-r--r--recipes/libxine/libxine-1.1.0/fix-syntax-xine-vorbis-decoder.patch11
-rw-r--r--recipes/libxine/libxine-1.1.0/gcc41.patch13
-rw-r--r--recipes/libxine/libxine-1.1.0/libxine-arm-configure.patch18
-rw-r--r--recipes/libxine/libxine-1.1.0/libxine-cut-memusage.patch63
-rw-r--r--recipes/libxine/libxine-1.1.0/libxine-ffmpeg-enable-arm.patch20
-rw-r--r--recipes/libxine/libxine-1.1.0/libxine-tremor-autoconf.patch16
-rw-r--r--recipes/libxine/libxine-1.1.0/mpegvideo-static-inlinine.patch16
-rw-r--r--recipes/libxine/libxine-1.1.0/no-caca.patch19
-rw-r--r--recipes/libxine/libxine-1.1.0/tremor.patch63
-rw-r--r--recipes/libxine/libxine-1.1.16/iconv.patch12
-rw-r--r--recipes/libxine/libxine-1.1.16/libavcodec.patch26
-rw-r--r--recipes/libxine/libxine-1.1.16/libpostproc.patch34
-rw-r--r--recipes/libxine/libxine-1.1.16/libxine-arm-configure.patch18
-rw-r--r--recipes/libxine/libxine-fb/configure-1.0.patch187
-rw-r--r--recipes/libxine/libxine-fb/demuxogg.patch26
-rw-r--r--recipes/libxine/libxine-fb/fix-syntax.patch16
-rw-r--r--recipes/libxine/libxine-fb/libxine-arm-configure.patch18
-rw-r--r--recipes/libxine/libxine-fb/no-caca.patch16
-rw-r--r--recipes/libxine/libxine-fb_1.0.bb98
-rw-r--r--recipes/libxine/libxine-x11-1.0/dont-have-xv.patch16
-rw-r--r--recipes/libxine/libxine-x11-1.0/fix-syntax-xine-vorbis-decoder.patch11
-rw-r--r--recipes/libxine/libxine-x11-1.0/no-caca-no-aalib.patch24
-rw-r--r--recipes/libxine/libxine-x11-1.0/restore-esd.patch15
-rw-r--r--recipes/libxine/libxine-x11_1.0.bb100
-rw-r--r--recipes/libxine/libxine.inc65
-rw-r--r--recipes/libxine/libxine_1.1.0.bb107
-rw-r--r--recipes/libxine/libxine_1.1.16.bb39
-rw-r--r--recipes/linux/files/linux-2.6-limits.patch10
-rw-r--r--recipes/linux/linux-2.6.27/boc01/010-090112-mii.patch503
-rw-r--r--recipes/linux/linux-2.6.27/boc01/boc01.dts19
-rw-r--r--recipes/linux/linux-2.6.29/boc01/001-090114-sqn11x0-usb-hack.patch17
-rw-r--r--recipes/linux/linux-2.6.29/boc01/004-081205-usb.patch16
-rw-r--r--recipes/linux/linux-2.6.29/boc01/005-090226-isl12024.patch693
-rw-r--r--recipes/linux/linux-2.6.29/boc01/007-081217-lm73.patch269
-rw-r--r--recipes/linux/linux-2.6.29/boc01/008-081208-spi.patch147
-rw-r--r--recipes/linux/linux-2.6.29/boc01/011-090115-gpio.patch440
-rw-r--r--recipes/linux/linux-2.6.29/boc01/012-090219-capsense.patch883
-rw-r--r--recipes/linux/linux-2.6.29/boc01/013-090306-lcd.patch1090
-rw-r--r--recipes/linux/linux-2.6.29/boc01/boc01.dts340
-rw-r--r--recipes/linux/linux-2.6.29/boc01/defconfig2041
-rw-r--r--recipes/linux/linux-2.6.29/canyonlands/0001-powerpc-4xx-Add-PPC4xx-PCIe-MSI-support.patch634
-rw-r--r--recipes/linux/linux-2.6.29/canyonlands/defconfig791
-rw-r--r--recipes/linux/linux-2.6.29/canyonlands/ppc4xx_pcie_payload.patch15
-rw-r--r--recipes/linux/linux-epia_2.6.19.2.bb3
-rw-r--r--recipes/linux/linux-ixp4xx/nslu2/defconfig-2.6.292305
-rw-r--r--recipes/linux/linux-ixp4xx_2.6.29.bb43
-rw-r--r--recipes/linux/linux-nokia800_2.6.18-osso40.bb3
-rw-r--r--recipes/linux/linux-nokia800_2.6.21-osso71.bb3
-rw-r--r--recipes/linux/linux-omap-2.6.28/mmctiming.patch16
-rw-r--r--recipes/linux/linux-omap-2.6.29/0001-board-ldp-add-regulator-info-to-get-the-microSD-slo.patch90
-rw-r--r--recipes/linux/linux-omap-2.6.29/beagleboard/defconfig95
-rw-r--r--recipes/linux/linux-omap-2.6.29/ehci.patch131
-rw-r--r--recipes/linux/linux-omap-2.6.29/fix-unaligned-access.diff41
-rw-r--r--recipes/linux/linux-omap-2.6.29/make-alignment-visible.diff26
-rw-r--r--recipes/linux/linux-omap-2.6.29/mmctiming.patch16
-rw-r--r--recipes/linux/linux-omap-2.6.29/omap3-pandora/defconfig2
-rw-r--r--recipes/linux/linux-omap-2.6.29/omap3evm/defconfig2
-rw-r--r--recipes/linux/linux-omap-2.6.29/omapzoom/defconfig1951
-rw-r--r--recipes/linux/linux-omap_2.6.28.bb3
-rw-r--r--recipes/linux/linux-omap_2.6.29.bb13
-rw-r--r--recipes/linux/linux-omapzoom/omapzoom/defconfig4
-rw-r--r--recipes/linux/linux-rp-2.6.26/defconfig-qemux86538
-rw-r--r--recipes/linux/linux-rp_2.6.26.bb4
-rw-r--r--recipes/linux/linux_2.6.27.bb3
-rw-r--r--recipes/linux/linux_2.6.29.bb25
-rw-r--r--recipes/llvm/llvm-2.4/fix-build.patch79
-rw-r--r--recipes/llvm/llvm-2.4/fix-static-initialization.patch60
-rw-r--r--recipes/llvm/llvm-common-native.bb12
-rw-r--r--recipes/llvm/llvm-common.bb14
-rw-r--r--recipes/llvm/llvm-common/llvm-config10
-rw-r--r--recipes/llvm/llvm-gcc4-cross_svn.bb4
-rw-r--r--recipes/llvm/llvm-gcc4_svn.bb4
-rw-r--r--recipes/llvm/llvm-native.inc26
-rw-r--r--recipes/llvm/llvm-native_1.9.bb9
-rw-r--r--recipes/llvm/llvm-native_2.1.bb16
-rw-r--r--recipes/llvm/llvm-native_2.4.bb15
-rw-r--r--recipes/llvm/llvm-native_cvs.bb13
-rw-r--r--recipes/llvm/llvm.inc122
-rw-r--r--recipes/llvm/llvm2.5-native_2.5.bb4
-rw-r--r--recipes/llvm/llvm2.5/fix-build.patch (renamed from recipes/llvm/llvm-2.5/fix-build.patch)0
-rw-r--r--recipes/llvm/llvm2.5_2.5.bb4
-rw-r--r--recipes/llvm/llvm_2.0.bb6
-rw-r--r--recipes/llvm/llvm_2.4.bb47
-rw-r--r--recipes/llvm/llvm_2.5.bb67
-rw-r--r--recipes/ltp/ltp-20090131/no_epoll_create2.patch (renamed from recipes/ltp/ltp-20090131/no_epoll_create2_mips.patch)0
-rw-r--r--recipes/ltp/ltp_20090131.bb33
-rw-r--r--recipes/makedevs/makedevs_1.0.0.bb4
-rw-r--r--recipes/mb-desktop-xine/mb-desktop-xine_0.4.bb2
-rw-r--r--recipes/mc/mc.inc5
-rw-r--r--recipes/mc/mc_4.6.2.bb2
-rw-r--r--recipes/meta/meta-toolchain-neuros.bb4
-rw-r--r--recipes/mozilla/firefox-3.0.8/0001-Remove-Werror-from-build.patch45
-rw-r--r--recipes/mozilla/firefox-3.0.8/0002-Fix-security-cross-compile-cpu-detection-error.patch42
-rw-r--r--recipes/mozilla/firefox-3.0.8/010_FPU_IS_ARM_FPA_xslt.diff56
-rw-r--r--recipes/mozilla/firefox-3.0.8/Bug339782.additional.fix.diff39
-rw-r--r--recipes/mozilla/firefox-3.0.8/Bug385583.nspr.jmp_buf.eabi.diff33
-rw-r--r--recipes/mozilla/firefox-3.0.8/Bug405992.atomic.nspr.diff48
-rw-r--r--recipes/mozilla/firefox-3.0.8/configure-wchart.patch11
-rw-r--r--recipes/mozilla/firefox-3.0.8/jemalloc-tls.patch28
-rw-r--r--recipes/mozilla/firefox-3.0.8/jsautocfg-dontoverwrite.patch23
-rw-r--r--recipes/mozilla/firefox-3.0.8/linkage-problem.patch14
-rw-r--r--recipes/mozilla/firefox-3.0.8/mozconfig72
-rw-r--r--recipes/mozilla/firefox-3.0.8/security-cross.patch98
-rw-r--r--recipes/mozilla/firefox_3.0.8.bb45
-rw-r--r--recipes/ncurses/ncurses/use_ldflags.patch12
-rw-r--r--recipes/ncurses/ncurses_5.4.bb3
-rw-r--r--recipes/nonworking/sword/gnomesword_2.1.2.bb4
-rw-r--r--recipes/openssl/openssl-0.9.8j/oe-ldflags.patch21
-rw-r--r--recipes/openssl/openssl-native_0.9.8g.bb2
-rw-r--r--recipes/openssl/openssl-native_0.9.8j.bb2
-rw-r--r--recipes/openssl/openssl_0.9.8j.bb7
-rw-r--r--recipes/opie-mediaplayer2/opie-mediaplayer2.inc2
-rw-r--r--recipes/perl/perl-5.8.8/shared-ldflags.patch11
-rw-r--r--recipes/perl/perl_5.8.8.bb6
-rw-r--r--recipes/procps/procps_3.2.7.bb6
-rw-r--r--recipes/qt4/files/configure-lflags.patch13
-rw-r--r--recipes/qt4/qt4-embedded_4.4.3.bb4
-rw-r--r--recipes/qt4/qt4-embedded_4.5.0.bb3
-rw-r--r--recipes/qt4/qt4-tools-native.inc3
-rw-r--r--recipes/qt4/qt4-tools-native_4.4.3.bb2
-rw-r--r--recipes/qt4/qt4-tools-native_4.5.0.bb2
-rw-r--r--recipes/sato-icon-theme/sato-icon-theme.inc2
-rw-r--r--recipes/sqlite/sqlite-2.8.17/mainmk_build_dynamic.patch18
-rw-r--r--recipes/sqlite/sqlite_2.8.17.bb2
-rw-r--r--recipes/tasks/task-base.bb2
-rw-r--r--recipes/tasks/task-qtopia-core-console.bb13
-rw-r--r--recipes/tasks/task-qtopia-core-gui.bb11
-rw-r--r--recipes/totem/totem_0.99.15.bb2
-rw-r--r--recipes/totem/totem_1.0.4.bb2
-rw-r--r--recipes/vlc/x264_r2245.bb9
-rw-r--r--recipes/webkit/webkit-gtk/autogen.sh9
-rw-r--r--recipes/webkit/webkit-gtk/configure.ac7
-rw-r--r--recipes/webkit/webkit-gtk_svn.bb13
-rw-r--r--recipes/wireless-tools/wireless-tools.inc1
-rw-r--r--recipes/wireless-tools/wireless-tools/shared_lib_ldflags.patch12
-rw-r--r--recipes/wireless-tools/wireless-tools_29.bb2
-rw-r--r--recipes/xorg-lib/libxt/pr10970-header-fix.patch512
-rw-r--r--recipes/xorg-lib/libxt_1.0.4.bb4
-rw-r--r--recipes/xorg-lib/libxt_1.0.5.bb4
-rw-r--r--recipes/zeroconf/files/zeroconf-ldflags.patch12
-rw-r--r--recipes/zeroconf/zeroconf_0.9.bb3
255 files changed, 15705 insertions, 4022 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index c4185abd60..34eb54d352 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -99,7 +99,7 @@ Website: http://www.jerryweb.org/
Machines: mpc8313e-rdb
Recipes: libexosip2, python-cheetah, python-django, python-pyopenssl,
Recipes: pump, squid, squidview, hostap-daemon, wpa-supplicant, linux,
-Recipes: u-boot
+Recipes: u-boot, qt4/*
Person: Joaquim Duran
Mail: joaquinduran@adtelecom.es
@@ -313,3 +313,8 @@ Person: Sergey Lapin
Mail: slapin@ossfans.org
Machines: palm*, afeb9260
Recipes: at91bootstrap
+
+Person: Christopher Larson
+Mail: clarson@kergoth.com
+Recipes: autoconf, automake, libtool, gnu-config
+Recipes: autoconf*.bbclass
diff --git a/classes/insane.bbclass b/classes/insane.bbclass
index 48964afb92..3e519c3253 100644
--- a/classes/insane.bbclass
+++ b/classes/insane.bbclass
@@ -171,6 +171,7 @@ def package_qa_get_elf(path, bits32):
# 6 - .pc contains reference to /usr/include or workdir
# 7 - the desktop file is not valid
# 8 - .la contains reference to the workdir
+# 9 - LDFLAGS ignored
def package_qa_clean_path(path,d):
""" Remove the common prefix from the path. In this case it is the TMPDIR"""
diff --git a/classes/scons.bbclass b/classes/scons.bbclass
index b7007b03a6..cd5de61e6d 100644
--- a/classes/scons.bbclass
+++ b/classes/scons.bbclass
@@ -11,4 +11,10 @@ scons_do_install() {
oefatal "scons install execution failed."
}
-EXPORT_FUNCTIONS do_compile do_install
+scons_do_stage() {
+ install -d ${D}${prefix}
+ ${STAGING_BINDIR_NATIVE}/scons PREFIX=${STAGING_DIR_HOST}/${layout_prefix} prefix=${STAGING_DIR_HOST}/${layout_prefix} install || \
+ oefatal "scons stage execution failed."
+}
+
+EXPORT_FUNCTIONS do_compile do_install do_stage
diff --git a/conf/bitbake.conf b/conf/bitbake.conf
index 7c159afcee..a0d652a26d 100644
--- a/conf/bitbake.conf
+++ b/conf/bitbake.conf
@@ -1,4 +1,9 @@
##################################################################
+# Recipe Parsing
+##################################################################
+BBMASK = "/(nonworking|obsolete)/"
+
+##################################################################
# Standard target filesystem layout.
##################################################################
diff --git a/conf/checksums.ini b/conf/checksums.ini
index 6b993b8ec4..15fff1d896 100644
--- a/conf/checksums.ini
+++ b/conf/checksums.ini
@@ -3410,6 +3410,10 @@ sha256=fbd7a0595eba5cf0cb168d9893e883f5cc7a68a7d6fec23cb3688508b247fa22
md5=82b08b1980ec6fbfc83b4dc0e2df10f7
sha256=543435cb0988acc90a6e651e424eb331aba3f73361036d7af458bc1233973199
+[http://ftp.gnome.org/pub/GNOME/sources/cheese/2.26/cheese-2.26.0.tar.bz2]
+md5=17c991c695c3a7549da6e42d1b327d79
+sha256=297c7aa579e14c1c22fbbc19254fbefca3b79ef8e6643856c83be0fdb8721412
+
[http://www.0x50.org/download/0.4/0.4.29/cherokee-0.4.29.tar.gz]
md5=854e6e61a69781746496012658d8ef98
sha256=7091536ef2a51d2548ac6268cc846dda9c37f7f7348597868c793f42b9be7d78
@@ -5334,6 +5338,10 @@ sha256=6cf629d628ee2ae908c9aa3c530fa05344dfe47a9b770c1d9d1e7cc16d7528b3
md5=af51614c7b78f8b8c68e9ece3d8f4d8f
sha256=cc6ff7b30911bf80d8d72d6db7cc7ecbf51b2f5bb66796b79da33f8f680402ac
+[http://ftp.gnome.org/pub/GNOME/sources/epiphany/2.27/epiphany-2.27.1.tar.bz2]
+md5=840fb2dc0511039de378927e3bccd802
+sha256=36d2b3652b5bbf7b459fda95ac0f25c429aa2e05e42fede3e88ce463879bdb8b
+
[http://enlightenment.freedesktop.org/files/epsilon-0.3.0.007.tar.gz]
md5=408d3c63f9efa06e93e29a691c28985e
sha256=6f40962eb8d76e0e9d76ec9f461d62c6af8561028d194358aed001827cc418fc
@@ -5906,6 +5914,10 @@ sha256=e16c9794b624188a85af52a2f61131189f422cb99c7fb9777686741cb330dc33
md5=8a1ac4a5940108a96458c5307a74c98d
sha256=685df7c7f33fc71a8c2d0fb71e190d59e2dd92007c2ace1ad176e655fb3012d7
+[http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/3.0.8/source/firefox-3.0.8-source.tar.bz2]
+md5=5fb6c6f3e973516df83a573348377a2f
+sha256=e0c279546d99d3d21c30cdae6649e0d3710a5db44edd1347b4f31e04cb729040
+
[http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0b2/source/firefox-3.0b2-source.tar.bz2]
md5=77f0455cc0dcfaaf020f9ce54c065fb0
sha256=57a2d9cdbe69a507d2294c081bc74aeb4d6cbf4e72dc764cfc9b972151535f57
@@ -6898,15 +6910,15 @@ sha256=38a9a01e195000976dcd04ec854c398478ada839510b1de384ffbd5f99791bdc
md5=a659b8388cac9db2b13e056e574ceeb0
sha256=37b3286c2bfb68da9df983f60721f868e29897f7a426306748fee93b25c5fb61
-[http://ftp.gnu.org/pub/gnu/gcc/gcc-4.1.0/gcc-4.1.0.tar.bz2]
+[ftp://ftp.gnu.org/gnu/gcc/gcc-4.1.0/gcc-4.1.0.tar.bz2]
md5=88785071f29ed0e0b6b61057a1079442
sha256=1159457a0e4c054b709547ae21ff624aebab2033e0d9e5bf46c9cf88b1970606
-[http://ftp.gnu.org/pub/gnu/gcc/gcc-4.1.1/gcc-4.1.1.tar.bz2]
+[ftp://ftp.gnu.org/gnu/gcc/gcc-4.1.1/gcc-4.1.1.tar.bz2]
md5=ad9f97a4d04982ccf4fd67cb464879f3
sha256=985cbb23a486570a8783395a42a8689218f5218a0ccdd6bec590eef341367bb7
-[ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.1.2/gcc-4.1.2.tar.bz2]
+[ftp://ftp.gnu.org/gnu/gcc/gcc-4.1.2/gcc-4.1.2.tar.bz2]
md5=a4a3eb15c96030906d8494959eeda23c
sha256=cfc0efbcc6fcde0d416a32dfb246c9df022515a312683fac412578c4fd09a9bc
@@ -6914,23 +6926,23 @@ sha256=cfc0efbcc6fcde0d416a32dfb246c9df022515a312683fac412578c4fd09a9bc
md5=ac6d19831220c4aeef4475492725486f
sha256=98bdb26cd2644f2290e34453d9115b88bcff940bd1feb88db5a0fc557ec0ea5e
-[ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.2.1/gcc-4.2.1.tar.bz2]
+[ftp://ftp.gnu.org/gnu/gcc/gcc-4.2.1/gcc-4.2.1.tar.bz2]
md5=cba410e6ff70f7d7f4be7a0267707fd0
sha256=ca0a12695b3bccfa8628509e08cb9ed7d8ed48deff0a299e4cb8de87d2c1fced
-[ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.2.2/gcc-4.2.2.tar.bz2]
+[ftp://ftp.gnu.org/gnu/gcc/gcc-4.2.2/gcc-4.2.2.tar.bz2]
md5=7ae33781417a35a2eb03ee098a9f4490
sha256=673b85d780a082c014ded4ac11f8269a3fe893b4dbb584d65b8602d50b3872b1
-[ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.2.3/gcc-4.2.3.tar.bz2]
+[ftp://ftp.gnu.org/gnu/gcc/gcc-4.2.3/gcc-4.2.3.tar.bz2]
md5=ef2a4d9991b3644115456ea05b2b8163
sha256=5df9a267091eea09179651ad2a2302fe99f780ac7e598278e7f47b2339fa2e80
-[ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.2.4/gcc-4.2.4.tar.bz2]
+[ftp://ftp.gnu.org/gnu/gcc/gcc-4.2.4/gcc-4.2.4.tar.bz2]
md5=d79f553e7916ea21c556329eacfeaa16
sha256=afba845e2d38547a63bd3976e90245c81ea176786f9e6966339c6d3761f1133a
-[ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.3.1/gcc-4.3.1.tar.bz2]
+[ftp://ftp.gnu.org/gnu/gcc/gcc-4.3.1/gcc-4.3.1.tar.bz2]
md5=4afa0290cc3a41ac8822666f1110de98
sha256=66596b80995f88cb66aaaf937598df7a9af10cc06799c3a7a64879e20b552fd5
@@ -6938,11 +6950,11 @@ sha256=66596b80995f88cb66aaaf937598df7a9af10cc06799c3a7a64879e20b552fd5
md5=5dfac5da961ecd5f227c3175859a486d
sha256=bfbf487731ad5dca37efe480a837417de071bd67e685d5c1df6a290707575165
-[ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.3.2/gcc-4.3.2.tar.bz2]
+[ftp://ftp.gnu.org/gnu/gcc/gcc-4.3.2/gcc-4.3.2.tar.bz2]
md5=5dfac5da961ecd5f227c3175859a486d
sha256=bfbf487731ad5dca37efe480a837417de071bd67e685d5c1df6a290707575165
-[ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.3.3/gcc-4.3.3.tar.bz2]
+[ftp://ftp.gnu.org/gnu/gcc/gcc-4.3.3/gcc-4.3.3.tar.bz2]
md5=cc3c5565fdb9ab87a05ddb106ba0bd1f
sha256=309f614a3c7fee88edc4928ff17185a19533949a1642ccf776e87d86303704de
@@ -7830,6 +7842,10 @@ sha256=4bd3141b2c668b24b43ac10a7a7040ce0717d8f088aee8a93ef261e446d88818
md5=a2cc0424619f271bf1a65cc0fbe782f0
sha256=7ebe5b0c2bb296386f1d62c3a5d30ed50e353c8d9dc390b77e0b5fdf56e4dad9
+[http://ftp.gnome.org/pub/GNOME/sources/gnome-desktop/2.26/gnome-desktop-2.26.0.tar.bz2]
+md5=796fc830e0baff24381809a7abe012f8
+sha256=3b3fe18bc30ad60f1bbbb2bc2d2ec14a2f9babb9312eb4834395b5839b7d7ee9
+
[http://ftp.gnome.org/pub/GNOME/sources/gnome-desktop/2.7/gnome-desktop-2.7.90.tar.bz2]
md5=16691f6bdc7c09445c457387adaba1f1
sha256=6a1499a1e50ac89210a9a1fdb36bc070ef6d1a02764a0f8d90de314dba01972e
@@ -7970,6 +7986,10 @@ sha256=e1ecc0ddc5a09481deb2daa1f30fa14472bfed541db46bb4f49f3d0d728b0a45
md5=0d246880611a4c58fe2ff99614b96918
sha256=6d6d0f013594f1d5f685bc9d35ad2c64d7817339a932d8e17eede5b8a3c8196a
+[http://ftp.gnome.org/pub/GNOME/sources/gnome-panel/2.26/gnome-panel-2.26.0.tar.bz2]
+md5=27965de9b12952b22b7e232af6acb0de
+sha256=e8e21b008d4afcebfc3241d0f91dd2dcc0b171b16f5675fc1b7ed699e79b56f3
+
[http://downloads.sourceforge.net/gnome-power/gnome-power-0.0.5.tar.gz]
md5=db310dadcc958a781a2752a6a7748e60
sha256=78f7dc6946e178513202f06afc19496c8ac1e3ac6c43c56c40f4db1a23762179
@@ -7994,6 +8014,10 @@ sha256=559b5d857b4fbc31418bc677f3391182ba1c357cabb8dfee04a1e709a7a63d01
md5=d8f8e61d99402e8b0a82d3c8d6e873be
sha256=7ad66f99a1bad1ae0bbb02bd7a7cf8ed17fdc3fd104fa5c68e04961459ad5c50
+[http://ftp.gnome.org/pub/GNOME/sources/gnome-python-desktop/2.26/gnome-python-desktop-2.26.0.tar.bz2]
+md5=fbcf4ef5ec4a8c4eec4d390c5889c80f
+sha256=400a5401a591e271c3357d0a8cb05a7927b4c218130497d06f75df9763d4efd8
+
[http://ftp.gnome.org/pub/GNOME/sources/gnome-python-extras/2.19/gnome-python-extras-2.19.1.tar.bz2]
md5=08896c63d71ce44d20fafbaf9c0edc78
sha256=c5f74f4c46dbb379d119d6f74ca4a47653af251bea176dc7a0ecacccb88339f0
@@ -9182,6 +9206,10 @@ sha256=850b4512fa5e4bbb964c67c215fe8ce64fe6f7e6b704180a783d8c2a04169ccb
md5=4b148480f82e96d274248e13880ec873
sha256=ddab700db455e13bcf9bc0592b320e61c6a7c692fb3cef7881b14b2df1a39069
+[http://user.cs.tu-berlin.de/~jutta/gsm/gsm-1.0.12.tar.gz]
+md5=8909828c601e82e842e6a0ceade60a4e
+sha256=dde4e62e4ce35af29a15d26beca2fc0f98c0219553927453425cda01f16e4de4
+
[http://pyneo.org/downloads/gsm0710muxd-1.7.tgz]
md5=b4756f5e521dd2df552862c9766faf11
sha256=5149991a219e8f2059350ed9d52bb110c0695da6eb9fe256e9e213e69f83929f
@@ -9250,6 +9278,10 @@ sha256=840015b4e0f0e7248b178eafc37476d6eb9aea3876eb3b07e2a66b430b526da2
md5=063a8184916426d6b79a97dea9636a78
sha256=c9a5f4c9b1eddd7cb042d83390072f832f19f3712d023e4d6568391e5eb4878a
+[http://gstreamer.freedesktop.org/src/gst-ffmpeg/gst-ffmpeg-0.10.7.tar.bz2]
+md5=6be89b26592f36ef631b22a68b8e06c4
+sha256=94bd5110a03837145afe5c81760f22bd7bef9ef455f4417340eeeb2b12e54fb0
+
[http://core.fluendo.com/gstreamer/src/gst-fluendo-mp3/gst-fluendo-mp3-0.10.2.tar.bz2]
md5=f3c32e0bc3ec1be461ce43e407a6a67f
sha256=cba1eac94de8de8c181c6c60dfc59f8069d388761aba71bcd8c48b8ba9b2edf5
@@ -11190,10 +11222,18 @@ sha256=280b34fefa12c3d7a3e432c3730fe5d0d56e8d169c28b695cce9ba6d8dbe6e38
md5=3c3b8edb739146183b3ddff3e0af5f1c
sha256=61a918b38a4b0b97e1469cbe3d9c4307af956bd95abec2067aa2fd278739cd96
+[http://projects.linuxtogo.org/frs/?group_id=50/kexecboot-0.4.tar.gz]
+md5=b4a4509ca3f546cfedd23aa6f99ab81d
+sha256=b8c9d3a51f04bdecabbb4135079d408e02c98cdf3156bab8418a6830cb64b890
+
[http://projects.linuxtogo.org/~jay7/kexecboot-0.4.tar.gz]
md5=b4a4509ca3f546cfedd23aa6f99ab81d
sha256=b8c9d3a51f04bdecabbb4135079d408e02c98cdf3156bab8418a6830cb64b890
+[http://projects.linuxtogo.org/frs/?group_id=50/kexecboot-0.5.tar.gz]
+md5=a937303d7ef3fc645f9dccf89e1494e2
+sha256=49c95d62e32b66c9f97e791f667afa82f0714bc0a0e0ad48df010f4f36de42ab
+
[http://projects.linuxtogo.org/frs/download.php/226/kexecboot-0.5.tar.gz]
md5=a937303d7ef3fc645f9dccf89e1494e2
sha256=49c95d62e32b66c9f97e791f667afa82f0714bc0a0e0ad48df010f4f36de42ab
@@ -13010,6 +13050,10 @@ sha256=d5a799e1d11cd91865cb716a11de970de97d7ef679684db0a893fc6a65a9acd0
md5=d006328ec5cebc5dbf3a18834db95bba
sha256=0abae1eef7210e4decab7f89ea5b3a012c06859e91923a7212ca50856bffd500
+[http://ftp.gnome.org/pub/GNOME/sources/libgweather/2.26/libgweather-2.26.0.tar.bz2]
+md5=b96016d7b35c66cf251189e9851ee252
+sha256=c1efdeb59fe87145d13d99b7bb6f51b56505081fb2ebc2f7fe7dc3f7699da45e
+
[http://www.handhelds.org/~mmp/files/libhal-nm-0.0.2.tar.gz]
md5=2f0882a711759113b2388a790abe8fd8
sha256=68dd467cf8bd54283da874af54ac35de58b88444371ea48bb5cef289a0942981
@@ -25666,25 +25710,9 @@ sha256=5e3db5f2387457f67798d664ed67c67337d2f84c45f15d986ee2f46f9b45d0d1
md5=d12efb18c7e3025c5e6a6f63144c2145
sha256=b968a10f52b0c5e807ec4c2c106f3aea301cf0ac00d04299b6961370c82c66d8
-[http://downloads.sourceforge.net/xine/xine-lib-1.0.tar.gz]
-md5=96e5195c366064e7778af44c3e71f43a
-sha256=6a283d383358200a9d6866d5d666a0227c8412d9c33d41f166f39c011482aed4
-
-[http://heanet.dl.sourceforge.net/sourceforge/xine/xine-lib-1.0.tar.gz]
-md5=96e5195c366064e7778af44c3e71f43a
-sha256=6a283d383358200a9d6866d5d666a0227c8412d9c33d41f166f39c011482aed4
-
-[http://heanet.dl.sourceforge.net/xine/xine-lib-1.0.tar.gz]
-md5=96e5195c366064e7778af44c3e71f43a
-sha256=6a283d383358200a9d6866d5d666a0227c8412d9c33d41f166f39c011482aed4
-
-[http://downloads.sourceforge.net/xine/xine-lib-1.1.0.tar.gz]
-md5=3537cfd58d253b4be20a4975e7086e38
-sha256=795085a067b3a11c1b3de48b4d07b01d8ffb6123bd188a73cb53b0605f875c64
-
-[http://heanet.dl.sourceforge.net/xine/xine-lib-1.1.0.tar.gz]
-md5=3537cfd58d253b4be20a4975e7086e38
-sha256=795085a067b3a11c1b3de48b4d07b01d8ffb6123bd188a73cb53b0605f875c64
+[http://downloads.sourceforge.net/xine/xine-lib-1.1.16.tar.bz2]
+md5=acd1a210c5a6444e8fd44696469352bb
+sha256=27df9c8f962797b235d69154705cfdf18d3e325f028f54e3e804f6dadb8237be
[http://folks.o-hand.com/dodji/0xdeadbabe/xine.tgz]
md5=8b78ce490cde6eb3c586656e9bc5ead8
diff --git a/conf/distro/angstrom-2008.1.conf b/conf/distro/angstrom-2008.1.conf
index cde01e155f..e3e36d5c59 100644
--- a/conf/distro/angstrom-2008.1.conf
+++ b/conf/distro/angstrom-2008.1.conf
@@ -76,6 +76,15 @@ PREFERRED_VERSION_glibc-initial ?= "2.6.1"
PREFERRED_VERSION_uclibc ?= "0.9.30"
PREFERRED_VERSION_uclibc-initial ?= "0.9.30"
+# Preferred provider for virtual/psplash
+# This enforces a specific brand to be used, in our case the angstrom
+# one. In case you want to change the logo or something like that we
+# suggest you to create another recipe (e.g: psplash-<brand>) for that
+# and add that into your image.
+# You can also opt to change or override this line, but that isn't
+# needed because psplash is using update-alternatives.
+PREFERRED_PROVIDER_virtual/psplash ?= "psplash-angstrom"
+
PREFERRED_PROVIDER_avahi = "avahi"
#Small machines prefer kdrive, but we might ship full Xorg in other images
@@ -138,13 +147,12 @@ PREFERRED_PROVIDER_virtual/db ?= "db"
PREFERRED_PROVIDER_virtual/db-native ?= "db-native"
PREFERRED_PROVIDER_virtual/libsdl ?= "libsdl-x11"
PREFERRED_PROVIDER_virtual/libx11 ?= "libx11"
-PREFERRED_PROVIDER_virtual/libxine ?= "libxine-x11"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-kdrive"
# Others:
PREFERRED_PROVIDER_linux-libc-headers = "linux-libc-headers"
PREFERRED_PROVIDER_dbus-glib = "dbus-glib"
-PREFERRED_PROVIDER_esound ?= "pulseaudio"
+PREFERRED_PROVIDER_esound ?= "pulseaudio"
PREFERRED_PROVIDER_gconf ?= "gconf-dbus"
PREFERRED_PROVIDER_gnome-vfs ?= "gnome-vfs"
PREFERRED_PROVIDER_gnome-vfs-plugin-file ?= "gnome-vfs"
@@ -188,6 +196,13 @@ IPKG_VARIANT = "opkg-nogpg angstrom-version ${ANGSTROM_FEED_CONFIGS}"
# do some task-base stuff here
+# Prefer bluez4, it's needed for things like connman. Bluez4 is also largely backward compatible with
+# bluez 3.x
+DISTRO_BLUETOOTH_MANAGER = "\
+ blueprobe \
+ bluez4 \
+ "
+
# We want to ship extra debug utils in the rootfs when doing a debug build
DEBUG_APPS ?= ""
DEBUG_APPS += '${@base_conditional("DISTRO_TYPE", "release", "", "strace procps",d)}'
diff --git a/conf/distro/include/angstrom-2007-for-openmoko.inc b/conf/distro/include/angstrom-2007-for-openmoko.inc
index daf4dd01bb..b931d340c3 100644
--- a/conf/distro/include/angstrom-2007-for-openmoko.inc
+++ b/conf/distro/include/angstrom-2007-for-openmoko.inc
@@ -156,7 +156,6 @@ PREFERRED_PROVIDER_virtual/db ?= "db"
PREFERRED_PROVIDER_virtual/db-native ?= "db-native"
PREFERRED_PROVIDER_virtual/libsdl ?= "libsdl-x11"
PREFERRED_PROVIDER_virtual/libx11 ?= "libx11"
-PREFERRED_PROVIDER_virtual/libxine ?= "libxine-x11"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-kdrive"
# Others:
diff --git a/conf/distro/include/preferred-om-2008-versions.inc b/conf/distro/include/preferred-om-2008-versions.inc
index 93884a0350..e1ac69bf8e 100644
--- a/conf/distro/include/preferred-om-2008-versions.inc
+++ b/conf/distro/include/preferred-om-2008-versions.inc
@@ -1084,10 +1084,7 @@ PREFERRED_VERSION_libxfontcache ?= "1.0.4"
PREFERRED_VERSION_libxfont-native ?= "1.3.0"
PREFERRED_VERSION_libxft ?= "2.1.12"
PREFERRED_VERSION_libxi ?= "1.1.3"
-PREFERRED_VERSION_libxine ?= "1.1.0"
-PREFERRED_VERSION_libxine-fb ?= "1.0"
PREFERRED_VERSION_libxinerama ?= "1.0.2"
-PREFERRED_VERSION_libxine-x11 ?= "1.0"
PREFERRED_VERSION_libxkbfile ?= "1.0.4"
PREFERRED_VERSION_libxkbui ?= "1.0.2"
PREFERRED_VERSION_libxml2 ?= "2.7.2"
diff --git a/conf/distro/include/sane-srcrevs.inc b/conf/distro/include/sane-srcrevs.inc
index 9a9ce1ac89..fc341f3726 100644
--- a/conf/distro/include/sane-srcrevs.inc
+++ b/conf/distro/include/sane-srcrevs.inc
@@ -37,7 +37,7 @@ SRCREV_pn-dfu-util ?= "4160"
SRCREV_pn-dfu-util-native ?= "4160"
SRCREV_pn-diversity-daemon ?= "571"
SRCREV_pn-diversity-radar ?= "453"
-SRCREV_pn-eds-dbus ?= "659"
+SRCREV_pn-eds-dbus ?= "736"
SRCREV_pn-eglibc ?= "7467"
SRCREV_pn-eglibc-initial ?= "7467"
SRCREV_pn-enlazar ?= "37"
@@ -101,7 +101,7 @@ SRCREV_pn-libowl ?= "277"
SRCREV_pn-libxosd ?= "627"
SRCREV_pn-linux-bfin ?= "3758"
SRCREV_pn-linux-hackndev-2.6 ?= "1308"
-SRCREV_pn-linux-ixp4xx ?= "1085"
+SRCREV_pn-linux-ixp4xx ?= "1089"
SRCREV_pn-linux-openmoko-2.6.24 ?= "fb42ce6724576fc173faf8abfb04aa2c36d213b7"
SRCREV_pn-linux-openmoko-2.6.28 ?= "8aa6cdde17381dd8865d10ba15ee62c092ec2ba5"
SRCREV_pn-linux-openmoko-devel ?= "b9aa5bf345a0b802af0d10b6cf1079738fe4fd12"
@@ -234,7 +234,7 @@ SRCREV_pn-usbpath ?= "3172"
SRCREV_pn-usbpath-native ?= "3172"
SRCREV_pn-vala-terminal ?= "94117f453ce884e9c30b611fae6fc19f85f98f2b"
SRCREV_pn-vala-native ?= "54a924505856a839ad02dc95baa482e994e94a57"
-SRCREV_pn-webkit-gtk ?= "42069"
+SRCREV_pn-webkit-gtk ?= "42127"
SRCREV_pn-wlan-ng-modules ?= "1859"
SRCREV_pn-wlan-ng-utils ?= "1859"
SRCREV_pn-wmiconfig ?= "4522"
diff --git a/conf/distro/kaeilos.conf b/conf/distro/kaeilos.conf
index a65bbff2c8..1cc165b008 100644
--- a/conf/distro/kaeilos.conf
+++ b/conf/distro/kaeilos.conf
@@ -123,7 +123,6 @@ PREFERRED_PROVIDER_virtual/db ?= "db"
PREFERRED_PROVIDER_virtual/db-native ?= "db-native"
PREFERRED_PROVIDER_virtual/libsdl ?= "libsdl-x11"
PREFERRED_PROVIDER_virtual/libx11 ?= "libx11"
-PREFERRED_PROVIDER_virtual/libxine ?= "libxine-x11"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-kdrive"
# Others:
diff --git a/conf/distro/oplinux.conf b/conf/distro/oplinux.conf
index d4986bdc84..bab726ff16 100644
--- a/conf/distro/oplinux.conf
+++ b/conf/distro/oplinux.conf
@@ -42,7 +42,6 @@ PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}g++:gcc-cross"
PREFERRED_PROVIDER_dbus-glib = "dbus-glib"
PREFERRED_PROVIDER_virtual/libsdl ?= "libsdl-x11"
-PREFERRED_PROVIDER_virtual/libxine ?= "libxine-x11"
PREFERRED_PROVIDER_esound ?= "pulseaudio"
diff --git a/conf/machine/akita.conf b/conf/machine/akita.conf
index 0f5eaca9cc..728ce4d9fe 100644
--- a/conf/machine/akita.conf
+++ b/conf/machine/akita.conf
@@ -10,4 +10,8 @@ MACHINE_FEATURES += "iwmmxt"
IMAGE_FSTYPES ?= "jffs2"
+# NAND factory-default
+# mtdparts=sharpsl-nand:7168k@0k(smf),59392k@7168k(root),-(home)
ROOT_FLASH_SIZE = "58"
+
+UBOOT_MACHINE = "akita_config"
diff --git a/conf/machine/c7x0.conf b/conf/machine/c7x0.conf
index dac142abcd..6a6c1b81a6 100644
--- a/conf/machine/c7x0.conf
+++ b/conf/machine/c7x0.conf
@@ -7,9 +7,16 @@ require conf/machine/include/zaurus-clamshell.inc
IMAGE_FSTYPES += "jffs2"
+# NAND factory-default
+# SL-C700 (corgi) mtdparts=sharpsl-nand:7168k@0k(smf),25600k@7168k(root),-(home)
+# SL-C750 (Shepherd) mtdparts=sharpsl-nand:7168k@0k(smf),25600k@7168k(root),-(home)
+# SL-C760 (Husky) mtdparts=sharpsl-nand:7168k@0k(smf),54272k@7168k(root),-(home)
+# SL-C860 (Boxer) mtdparts=sharpsl-nand:7168k@0k(smf),54272k@7168k(root),-(home)
+
ROOT_FLASH_SIZE = "25"
# yes, we are aware that the husky and boxer (c760,c860) have 53MB rootfs,
-# but we don't make a special image for it.
+# but we don't make a special image for them.
XSERVER = "xserver-kdrive-imageon"
+UBOOT_MACHINE = "corgi_config"
diff --git a/conf/machine/include/zaurus-2.6.inc b/conf/machine/include/zaurus-2.6.inc
index 29f21c4f56..5ce1cdca6a 100644
--- a/conf/machine/include/zaurus-2.6.inc
+++ b/conf/machine/include/zaurus-2.6.inc
@@ -38,6 +38,8 @@ GUI_MACHINE_CLASS_poodle = "smallscreen"
KERNEL_IMAGE_MAXSIZE = "1294336"
+KERNEL_IMAGETYPE ?= "zImage"
+
MACHINE_POSTPROCESS_COMMAND = "zaurus_make_installkit"
zaurus_make_installkit () {
@@ -45,13 +47,13 @@ zaurus_make_installkit () {
rm -rf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}-installkit/
mkdir ${IMAGE_NAME}-installkit/
- # Get the latest kernel using the zImage-<machine>.bin symlink
+ # Get the latest kernel using the ${KERNEL_IMAGETYPE}-<machine>.bin symlink
if [ "${@base_contains('MACHINE_FEATURES', 'kexecboot', 'true', 'false',d)}" = "true" ]; then
- [ -f "zImage-kexecboot-${MACHINE}.bin" ] && cp zImage-kexecboot-${MACHINE}.bin ${IMAGE_NAME}-installkit/zImage
+ [ -f "${KERNEL_IMAGETYPE}-kexecboot-${MACHINE}.bin" ] && cp ${KERNEL_IMAGETYPE}-kexecboot-${MACHINE}.bin ${IMAGE_NAME}-installkit/${KERNEL_IMAGETYPE}
# we need also tgz for mmc or cf cards
cp ${IMAGE_NAME}.rootfs.tar.gz ${IMAGE_NAME}-installkit/image.tgz
else
- cp zImage-${MACHINE}.bin ${IMAGE_NAME}-installkit/zImage
+ cp ${KERNEL_IMAGETYPE}-${MACHINE}.bin ${IMAGE_NAME}-installkit/${KERNEL_IMAGETYPE}
fi
if [ "${MACHINE}" = "spitz" ]; then
@@ -69,6 +71,4 @@ zaurus_make_installkit () {
rm -rf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}-installkit/
}
-KERNEL_IMAGETYPE ?= "zImage"
-
require conf/machine/include/kexecboot.inc
diff --git a/conf/machine/include/zaurus-clamshell.inc b/conf/machine/include/zaurus-clamshell.inc
index 4fa9f75eb3..1421630e80 100644
--- a/conf/machine/include/zaurus-clamshell.inc
+++ b/conf/machine/include/zaurus-clamshell.inc
@@ -1,5 +1,8 @@
include conf/machine/include/tune-xscale.inc
+UBOOT_ENTRYPOINT = "0x80008000"
+UBOOT_LOADADDRESS = "0x80008000"
+
EXTRA_IMAGEDEPENDS += "sharp-flash-header-c700"
IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime -m favourlzo \
diff --git a/conf/machine/omapzoom.conf b/conf/machine/omapzoom.conf
index 22fe5d4643..4ca164e633 100644
--- a/conf/machine/omapzoom.conf
+++ b/conf/machine/omapzoom.conf
@@ -6,6 +6,7 @@ TARGET_ARCH = "arm"
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
XSERVER = "xserver-xorg \
xf86-input-evdev \
+ xf86-input-tslib \
xf86-input-mouse \
xf86-video-omapfb \
xf86-input-keyboard"
@@ -24,8 +25,7 @@ EXTRA_IMAGECMD_jffs2 = "-lnp "
# Guesswork
SERIAL_CONSOLE = "115200 ttyS2"
-# Will be merged into the linux-omap recipe soon
-PREFERRED_PROVIDER_virtual/kernel = "linux-omapzoom"
+PREFERRED_PROVIDER_virtual/kernel = "linux-omap"
KERNEL_IMAGETYPE = "uImage"
diff --git a/conf/machine/spitz.conf b/conf/machine/spitz.conf
index 32060d090c..306046cfe8 100644
--- a/conf/machine/spitz.conf
+++ b/conf/machine/spitz.conf
@@ -12,9 +12,18 @@ PIVOTBOOT_EXTRA_RDEPENDS += "pivotinit ${PCMCIA_MANAGER}"
PACKAGE_EXTRA_ARCHS += "iwmmxt"
IMAGE_FSTYPES += "tar.gz"
+# NAND factory-default
+# SL-C3000 (spitz) mtdparts=sharpsl-nand:7168k@0k(smf),5120k@7168k(root),-(home)
+# SL-C3100 (borzoi) mtdparts=sharpsl-nand:7168k@0k(smf),32768k@7168k(root),-(home)
+# SL-C3200 (terrier) mtdparts=sharpsl-nand:7168k@0k(smf),44032k@7168k(root),-(home)
+
+# Valid size for all models, rootfs is on disk for these machines
ROOT_FLASH_SIZE = "100"
MACHINE_GUI_CLASS=bigscreen
MACHINE_DISPLAY_WIDTH_PIXELS=480
MACHINE_DISPLAY_HEIGHT_PIXELS=640
MACHINE_DISPLAY_ORIENTATION=270
+
+# spitz and akita share same u-boot machine
+UBOOT_MACHINE = "akita_config"
diff --git a/conf/machine/wl500g.conf b/conf/machine/wl500g.conf
index 5ed227dfa3..b9fcc9339e 100644
--- a/conf/machine/wl500g.conf
+++ b/conf/machine/wl500g.conf
@@ -5,4 +5,4 @@
TARGET_ARCH = "mipsel"
MACHINE_FEATURES = "kernel26 usbhost wifi ext2"
-include conf/machine/include/mips2.inc
+include conf/machine/include/tune-mips2.inc
diff --git a/contrib/dependsgraph/dependsgraph.sh b/contrib/dependsgraph/dependsgraph.sh
index b5526f9d39..8ea482aa9b 100755
--- a/contrib/dependsgraph/dependsgraph.sh
+++ b/contrib/dependsgraph/dependsgraph.sh
@@ -45,7 +45,7 @@ done
sed -f /tmp/delete.sed depends.dot >reduced.dot
# create a PNG
-neato -v -Tpng -o depends.png reduced.dot
+dot -v -Tpng -o depends.png reduced.dot
# show it
gthumb depends.png
diff --git a/files/device_table-kexecboot.txt b/files/device_table-kexecboot.txt
deleted file mode 100644
index ff17a8e8e1..0000000000
--- a/files/device_table-kexecboot.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-# mmc numbers are assigned dynamicly so if you have other dynamic assigned block devices it may be wrong
-/dev/mmcblk0 b 660 0 6 179 0 - - -
-/dev/mmcblk0p1 b 660 0 6 179 1 - - -
-/dev/mmcblk0p2 b 660 0 6 179 2 - - -
-/dev/mmcblk0p3 b 660 0 6 179 3 - - -
-/dev/event0 c 660 0 0 13 64 - - -
-/dev/fb0 c 660 0 0 29 0 - - -
diff --git a/files/device_table-minimal.txt b/files/device_table-minimal.txt
index 2f47b1f311..891feb0ff2 100644
--- a/files/device_table-minimal.txt
+++ b/files/device_table-minimal.txt
@@ -30,7 +30,13 @@
/dev/urandom c 644 0 0 1 9 - - -
/dev/ptmx c 644 0 0 5 2 - - -
-# mmc numbers are assigned dynamicly so if you have other dynamic assigned block devices it may be wrong
+/dev/event c 660 0 0 13 64 0 1 8
+
/dev/mmcblk0 b 660 0 6 179 0 - - -
/dev/mmcblk0p b 660 0 6 179 1 1 1 8
-/dev/event0 c 660 0 0 13 64 - - -
+
+# for older kernels before 2.6.22
+# mmc numbers are assigned dynamicly so if you have other dynamic assigned block devices it may be wrong
+#
+#/dev/mmcblk0 b 660 0 6 254 0 - - -
+#/dev/mmcblk0p b 660 0 6 254 1 1 1 8
diff --git a/recipes/bzip2/bzip2-1.0.2/ldflags.patch b/recipes/bzip2/bzip2-1.0.2/ldflags.patch
new file mode 100644
index 0000000000..c7da5bc501
--- /dev/null
+++ b/recipes/bzip2/bzip2-1.0.2/ldflags.patch
@@ -0,0 +1,14 @@
+diff -urN bzip2-1.0.2.orig/Makefile-libbz2_so bzip2-1.0.2/Makefile-libbz2_so
+--- bzip2-1.0.2.orig/Makefile-libbz2_so 2001-12-30 02:15:59.000000000 +0000
++++ bzip2-1.0.2/Makefile-libbz2_so 2009-04-02 12:42:43.000000000 +0000
+@@ -20,8 +20,8 @@
+ bzlib.o
+
+ all: $(OBJS)
+- $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.2 $(OBJS)
+- $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.2
++ $(CC) $(LDFLAGS) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.2 $(OBJS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.2
+ rm -f libbz2.so.1.0
+ ln -s libbz2.so.1.0.2 libbz2.so.1.0
+
diff --git a/recipes/bzip2/bzip2_1.0.2.bb b/recipes/bzip2/bzip2_1.0.2.bb
index 1e1cb8e539..9e8cb2085c 100644
--- a/recipes/bzip2/bzip2_1.0.2.bb
+++ b/recipes/bzip2/bzip2_1.0.2.bb
@@ -1,10 +1,11 @@
DESCRIPTION = "Very high-quality data compression program."
SECTION = "console/utils"
-PR = "r1"
+PR = "r2"
LICENSE = "bzip2"
SRC_URI = "ftp://sources.redhat.com/pub/bzip2/v102/bzip2-${PV}.tar.gz \
- file://installpaths.patch;patch=1"
+ file://installpaths.patch;patch=1 \
+ file://ldflags.patch;patch=1"
CFLAGS_append = " -fPIC -fpic -Winline -fno-strength-reduce -D_FILE_OFFSET_BITS=64"
diff --git a/recipes/cacao/cacao_0.99.3.bb b/recipes/cacao/cacao_0.99.3.bb
index ce2620972e..912ddf8812 100644
--- a/recipes/cacao/cacao_0.99.3.bb
+++ b/recipes/cacao/cacao_0.99.3.bb
@@ -1,6 +1,6 @@
require cacao.inc
-PR = "r7"
+PR = "r8"
SRC_URI = "\
http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-${PV}/cacao-${PV}.tar.bz2 \
@@ -9,4 +9,5 @@ SRC_URI = "\
file://cacao-arm-race.patch;patch=1 \
file://vfp-compat.patch;patch=1 \
file://cacao-disable-stackbase-check.patch;patch=1 \
+ file://cacao_PR99_C_0.99.3.patch;patch=1 \
"
diff --git a/recipes/cacao/cacao_0.99.4.bb b/recipes/cacao/cacao_0.99.4.bb
index 527529b3d7..1fc29caffd 100644
--- a/recipes/cacao/cacao_0.99.4.bb
+++ b/recipes/cacao/cacao_0.99.4.bb
@@ -1,8 +1,10 @@
require cacao.inc
-PR = "r1"
+PR = "r2"
-SRC_URI = "http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-${PV}/cacao-${PV}.tar.bz2 \
- file://vfp-compat.patch;patch=1 \
- file://cacao-disable-stackbase-check.patch;patch=1 \
- "
+SRC_URI = "\
+ http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-${PV}/cacao-${PV}.tar.bz2 \
+ file://vfp-compat.patch;patch=1 \
+ file://cacao-disable-stackbase-check.patch;patch=1 \
+ file://cacao_PR99_C_0.99.3.patch;patch=1 \
+ "
diff --git a/recipes/cacao/files/cacao_PR99_C_0.99.3.patch b/recipes/cacao/files/cacao_PR99_C_0.99.3.patch
new file mode 100644
index 0000000000..9d107310d4
--- /dev/null
+++ b/recipes/cacao/files/cacao_PR99_C_0.99.3.patch
@@ -0,0 +1,91 @@
+Index: cacao-0.99.3/src/vm/jit/arm/codegen.h
+===================================================================
+--- cacao-0.99.3.orig/src/vm/jit/arm/codegen.h 2009-03-21 20:17:46.000000000 +0100
++++ cacao-0.99.3/src/vm/jit/arm/codegen.h 2009-03-21 20:18:19.000000000 +0100
+@@ -1107,15 +1107,22 @@
+ /* M_RECOMPUTE_PV:
+ used to recompute our PV (we use the IP for this) out of the current PC
+ ATTENTION: if you change this, you have to look at other functions as well!
+- Following things depend on it: asm_call_jit_compiler(); codegen_findmethod();
++ Following things depend on it: md_codegen_get_pv_from_pc();
+ */
+ #define M_RECOMPUTE_PV(disp) \
+ disp += 8; /* we use PC relative addr. */ \
+ assert((disp & 0x03) == 0); \
+ assert(disp >= 0 && disp <= 0x03ffffff); \
+- M_SUB_IMM(REG_PV, REG_PC, IMM_ROTL(disp >> 2, 1)); \
+- if (disp > 0x000003ff) M_SUB_IMM(REG_PV, REG_PV, IMM_ROTL(disp >> 10, 5)); \
+- if (disp > 0x0003ffff) M_SUB_IMM(REG_PV, REG_PV, IMM_ROTL(disp >> 18, 9)); \
++ if (disp > 0x0003ffff) { \
++ M_SUB_IMM(REG_PV, REG_PC, IMM_ROTL(disp >> 18, 9)); \
++ M_SUB_IMM(REG_PV, REG_PV, IMM_ROTL(disp >> 10, 5)); \
++ M_SUB_IMM(REG_PV, REG_PV, IMM_ROTL(disp >> 2, 1)); \
++ } else if (disp > 0x000003ff) { \
++ M_SUB_IMM(REG_PV, REG_PC, IMM_ROTL(disp >> 10, 5)); \
++ M_SUB_IMM(REG_PV, REG_PV, IMM_ROTL(disp >> 2, 1)); \
++ } else { \
++ M_SUB_IMM(REG_PV, REG_PC, IMM_ROTL(disp >> 2, 1)); \
++ }
+
+ /* M_INTMOVE:
+ generates an integer-move from register a to b.
+Index: cacao-0.99.3/src/vm/jit/arm/md.h
+===================================================================
+--- cacao-0.99.3.orig/src/vm/jit/arm/md.h 2009-03-21 20:17:47.000000000 +0100
++++ cacao-0.99.3/src/vm/jit/arm/md.h 2009-03-21 20:18:19.000000000 +0100
+@@ -68,30 +68,40 @@
+
+ inline static u1 *md_codegen_get_pv_from_pc(u1 *ra)
+ {
++ u4 *pc;
+ u1 *pv;
+- u4 mcode1, mcode2, mcode3;
++ u4 mcode;
++ int mcode_idx;
+
++ pc = (u4*) ra;
+ pv = ra;
+
+ /* this can either be a RECOMPUTE_IP in JIT code or a fake in asm_calljavafunction */
+- mcode1 = *((u4*) ra);
+- if ((mcode1 & 0xffffff00) == 0xe24fcf00 /*sub ip,pc,#__*/)
+- pv -= (s4) ((mcode1 & 0x000000ff) << 2);
+- else if ((mcode1 & 0xffffff00) == 0xe24fc000 /*sub ip,pc,#__*/)
+- pv -= (s4) (mcode1 & 0x000000ff);
++ mcode_idx = 0;
++ mcode = pc[0];
++
++ /* if this was shifted by 18 bits, we have to load additional instructions */
++ if ((mcode & 0xfff0ff00) == 0xe240c700 /*sub ip,??,#__*/) {
++ pv -= (s4) ((mcode & 0x000000ff) << 18);
++ mcode = pc[++mcode_idx];
++ }
++
++ /* if this was shifted by 10 bits, we have to load additional instructions */
++ if ((mcode & 0xfff0ff00) == 0xe240cb00 /*sub ip,??,#__*/) {
++ pv -= (s4) ((mcode & 0x000000ff) << 10);
++ mcode = pc[++mcode_idx];
++ }
++
++ /* this is the default path with just one instruction, shifted by 2 or no bits */
++ if ((mcode & 0xfff0ff00) == 0xe240cf00 /*sub ip,??,#__*/)
++ pv -= (s4) ((mcode & 0x000000ff) << 2);
++ else if ((mcode & 0xffffff00) == 0xe24fc000 /*sub ip,pc,#__*/)
++ pv -= (s4) (mcode & 0x000000ff);
+ else {
+ /* if this happens, we got an unexpected instruction at (*ra) */
+- vm_abort("Unable to find method: %p (instr=%x)", ra, mcode1);
++ vm_abort("Unable to find method: %p (instr=%x)", ra, mcode);
+ }
+
+- /* if we have a RECOMPUTE_IP there can be more than one instruction */
+- mcode2 = *((u4*) (ra + 4));
+- mcode3 = *((u4*) (ra + 8));
+- if ((mcode2 & 0xffffff00) == 0xe24ccb00 /*sub ip,ip,#__*/)
+- pv -= (s4) ((mcode2 & 0x000000ff) << 10);
+- if ((mcode3 & 0xffffff00) == 0xe24cc700 /*sub ip,ip,#__*/)
+- pv -= (s4) ((mcode3 & 0x000000ff) << 18);
+-
+ /* we used PC-relative adressing; but now it is LR-relative */
+ pv += 8;
+
diff --git a/recipes/disko/disko_git.bb b/recipes/disko/disko_git.bb
new file mode 100644
index 0000000000..657fb40cec
--- /dev/null
+++ b/recipes/disko/disko_git.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Disko is an application framework, that can be used to develop GUI applications for embedded devices. It is closely connected to the DirectFB"
+LICENSE = "GPL"
+PV = "1.1.5+gitr${SRCREV}"
+PR = "r0"
+
+DEPENDS = "sqlite3 libpng jpeg curl alsa-lib taglib directfb libxml2 virtual/libx11 libsigc++-2.0 hal \
+ libxv libxxf86vm"
+
+SRC_URI = "git://www.diskohq.org/disko.git;protocol=git \
+ file://header.patch;patch=1 \
+ file://pkgconfig.patch;patch=1 \
+ "
+SRCREV = "bf29da8c0060a2b4f0f9593524ca71aa1adfbc0c"
+
+S = "${WORKDIR}/git"
+
+inherit scons pkgconfig
+
+do_compile() {
+ ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} graphics=all PREFIX=${prefix} prefix=${prefix} || \
+ oefatal "scons build execution failed."
+}
diff --git a/recipes/disko/files/header.patch b/recipes/disko/files/header.patch
new file mode 100644
index 0000000000..e60d5582e8
--- /dev/null
+++ b/recipes/disko/files/header.patch
@@ -0,0 +1,13 @@
+Index: git/src/mmsconfig/mmsrcparser.cpp
+===================================================================
+--- git.orig/src/mmsconfig/mmsrcparser.cpp 2009-03-25 01:29:20.822096657 +0100
++++ git/src/mmsconfig/mmsrcparser.cpp 2009-03-25 01:29:34.320881340 +0100
+@@ -26,6 +26,8 @@
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+
++#include <cstring>
++
+ #include "mmsconfig/mmsrcparser.h"
+ #include "mmstools/tools.h"
+
diff --git a/recipes/disko/files/pkgconfig.patch b/recipes/disko/files/pkgconfig.patch
new file mode 100644
index 0000000000..a84106eb6c
--- /dev/null
+++ b/recipes/disko/files/pkgconfig.patch
@@ -0,0 +1,26 @@
+Index: git/Makefile
+===================================================================
+--- git.orig/Makefile 2009-03-24 14:41:03.000000000 +0100
++++ git/Makefile 2009-03-25 02:20:38.613872577 +0100
+@@ -59,7 +59,7 @@
+ install-pkgconfig:
+ @echo "writing pkgconfig information"
+ @install -d "$(DESTDIR)$(libdir)/../pkgconfig"
+- @echo "prefix=$(prefix)" > $(DESTDIR)$(libdir)/../pkgconfig/$(PROJECTNAME).pc
++ @echo "prefix=/usr" > $(DESTDIR)$(libdir)/../pkgconfig/$(PROJECTNAME).pc
+ @echo "exec_prefix=\$${prefix}/bin" >> $(DESTDIR)$(libdir)/../pkgconfig/$(PROJECTNAME).pc
+ @echo "libdir=\$${prefix}/lib/disko" >> $(DESTDIR)$(libdir)/../pkgconfig/$(PROJECTNAME).pc
+ @echo "includedir=\$${prefix}/include/disko" >> $(DESTDIR)$(libdir)/../pkgconfig/$(PROJECTNAME).pc
+Index: git/SConstruct
+===================================================================
+--- git.orig/SConstruct 2009-03-25 02:22:03.018024446 +0100
++++ git/SConstruct 2009-03-25 02:22:41.668240834 +0100
+@@ -473,7 +473,7 @@
+ if 'mysql' in env['database']:
+ disko_pc_requires += ', mysql'
+
+- disko_pc.write('prefix=' + env['prefix'] + '\n')
++ disko_pc.write('prefix=/usr' + '\n')
+ disko_pc.write('exec_prefix=${prefix}\n')
+ disko_pc.write('libdir=${exec_prefix}/lib/disko\n')
+ disko_pc.write('includedir=${exec_prefix}/include/disko\n\n')
diff --git a/recipes/dsplink/ti-codec-combos_3.16.bb b/recipes/dsplink/ti-codec-combos_3.16.bb
index dc1ef9f8b9..dd97a57bc5 100644
--- a/recipes/dsplink/ti-codec-combos_3.16.bb
+++ b/recipes/dsplink/ti-codec-combos_3.16.bb
@@ -4,7 +4,9 @@ LICENCE = "unknown"
require ti-paths.inc
-SRC_URI = "http://software-dl.ti.com/sdo/sdo_apps_public_sw/omap3530_dvsdk_combos_tspa/omap3530_dvsdk_combos_tspa-3_16-Linux-x86.bin \
+
+# Tar-Up Codec Combos from the OMAP DVSDK (http://www.ti.com/dvevmupdates) and drop in files/
+SRC_URI = "file://omap3530_dvsdk_combos_3_16.tar.gz \
"
S = "${WORKDIR}/omap3530_dvsdk_combos_3_16"
@@ -20,21 +22,6 @@ export CE_INSTALL_DIR="${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-codec-engine/pa
# Needed for now since makefile in latest package assumes this is set
export CODEC_INSTALL_DIR="${S}"
-# Helper function to run the binary installer and unpack the tar.gz in the same place as it was before - this could be optimised later
-do_accept_license() {
- export HOME="${WORKDIR}"
- chmod +x ${WORKDIR}/omap3530_dvsdk_combos_tspa-3_16-Linux-x86.bin
- ${WORKDIR}/omap3530_dvsdk_combos_tspa-3_16-Linux-x86.bin --mode silent --prefix ${S}_install
- cd "${S}_install"
- tar -xzvf omap3530_dvsdk_combos_tspa_3_16.tar.gz
- if [ -d ${S} ] ; then
- rm -rf ${S}
- fi
- mv omap3530_dvsdk_combos_tspa_3_16 ${S}
-}
-
-addtask accept_license after do_unpack before do_configure
-
do_compile() {
# For now, remove the reference to Rules.make and swap prod for eval, since this only has eval libs included
diff --git a/recipes/dsplink/ti-codec-engine_2.23.bb b/recipes/dsplink/ti-codec-engine_2.23.bb
new file mode 100644
index 0000000000..a42c33bcdd
--- /dev/null
+++ b/recipes/dsplink/ti-codec-engine_2.23.bb
@@ -0,0 +1,394 @@
+DESCRIPTION = "Codec Engine for TI ARM/DSP processors"
+
+DEPENDS = "virtual/kernel perl-native"
+RDEPENDS = "update-modules"
+
+inherit module
+
+# disable this package for now, while we're in test mode
+DEFAULT_PREFERENCE = "-1"
+
+# tconf from xdctools dislikes '.' in pwd :/
+PR = "r0"
+PV = "223"
+
+# Get CE tarball from TI website, place in sources and calculate md5sum
+# Look for tarball at https://www-a.ti.com/downloads/sds_support/targetcontent/CE/index.html
+
+SRC_URI = "http://install.tarball.in.source.dir/codec_engine_2_23.tar.gz \
+ file://loadmodules-ti-dsplink-apps.sh \
+ file://unloadmodules-ti-dsplink-apps.sh \
+ file://loadmodules-ti-codec-engine-apps.sh \
+ file://unloadmodules-ti-codec-engine-apps.sh \
+"
+
+S = "${WORKDIR}/codec_engine_2_23"
+
+###########
+
+# To build the DSP applications you need to have DSP/BIOS, xdctools and codegen installed. Get these from:
+# TODO - update to bios 5.33.04.... (which is what CE was validated against)
+# https://www-a.ti.com/downloads/sds_support/targetcontent/bios/bios_5_33/bios_5_33_02/exports/bios_setuplinux_5_33_02.bin
+# https://www-a.ti.com/downloads/sds_support/targetcontent/rtsc/xdctools_3_10_03/exports/xdctools_setuplinux_3_10_03.bin
+# https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html
+# Back link for above:
+# https://www-a.ti.com/downloads/sds_support/targetcontent/index.html
+
+# Path to the dir where the TI tools are unpacked
+TITOOLSDIR ?= "/OE/TI"
+TIBIOSDIR ?= "${TITOOLSDIR}/bios_5_33_02"
+TIXDCTOOLSDIR ?= "${TITOOLSDIR}/xdctools_3_10_03"
+TICGTOOLSDIR ?= "${TITOOLSDIR}/cg6x_6_0_16"
+
+# CODEC ENGINE - This tells codec engine which targets to build
+CEEXAMPLESDEVICES ?= "DM6446"
+CEEXAMPLESDEVICES_omap5912osk = "fixme-ti-paths.inc"
+CEEXAMPLESDEVICES_armv7a = "OMAP3530"
+CEEXAMPLESDEVICES_omap3evm = "OMAP3530"
+CEEXAMPLESDEVICES_beagleboard = "OMAP3530"
+CEEXAMPLESDEVICES_davinci-sffsdr = "DM6446"
+CEEXAMPLESDEVICES_davinci-dvevm = "DM6446"
+
+# DSPLINK - Config Variable for different platform
+DSPLINKPLATFORM ?= "DAVINCI"
+DSPLINKPLATFORM_omap5912osk = "OMAP"
+DSPLINKPLATFORM_armv7a = "OMAP3530"
+DSPLINKPLATFORM_beagleboard = "OMAP3530"
+DSPLINKPLATFORM_omap3evm = "OMAP3530"
+DSPLINKPLATFORM_davinci-sffsdr = "DAVINCI"
+DSPLINKPLATFORM_davinci-dvevm = "DAVINCI"
+
+DSPLINKDSPCFG ?= "DM6446GEMSHMEM"
+DSPLINKDSPCFG_armv7a ?= "OMAP3530SHMEM"
+DSPLINKDSPCFG_beagleboard ?= "OMAP3530SHMEM"
+DSPLINKDSPCFG_omap3evm ?= "OMAP3530SHMEM"
+
+DSPLINKGPPOS ?= "MVL5G"
+DSPLINKGPPOS_armv7a = "OMAPLSP"
+DSPLINKGPPOS_beagleboard = "OMAPLSP"
+DSPLINKGPPOS_omap3evm = "OMAPLSP"
+
+# LPM
+LPMDSPPOWERSOC ?= "dm6446"
+LPMDSPPOWERSOC_armv7a = "omap3530"
+LPMDSPPOWERSOC_beagleboard = "omap3530"
+LPMDSPPOWERSOC_omap3evm = "omap3530"
+
+############
+
+export DSPLINK="${S}/cetools/packages/dsplink"
+
+PARALLEL_MAKE = ""
+
+do_configure () {
+ # Clean up stale binaries
+ find ${S} -name "*.ko" -exec rm {} \; || true
+ find ${S} -name "*.o" -exec rm {} \; || true
+
+ # Run perl script to create appropriate makefiles (v1.60 and up)
+ (
+ cd ${DSPLINK}
+ perl config/bin/dsplinkcfg.pl --platform=${DSPLINKPLATFORM} --nodsp=1 --dspcfg_0=${DSPLINKDSPCFG} --dspos_0=DSPBIOS5XX --gppos=${DSPLINKGPPOS} --comps=ponslrm
+ )
+}
+
+do_compile () {
+ unset DISPLAY
+
+# DSPLINK
+ # TODO :: KERNEL_CC, etc need replacing with user CC
+ # TODO :: Need to understand why OBJDUMP is required for kernel module
+
+ # Unset these since LDFLAGS gets picked up and used incorrectly.... need investigation
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+
+ # Build the gpp user space library
+ cd ${DSPLINK}/gpp/src/api
+ make \
+ CROSS_COMPILE="${TARGET_PREFIX}" \
+ CC="${KERNEL_CC}" \
+ AR="${KERNEL_AR}" \
+ LD="${KERNEL_LD}" \
+ COMPILER="${KERNEL_CC}" \
+ ARCHIVER="${KERNEL_AR}" \
+ KERNEL_DIR="${STAGING_KERNEL_DIR}" \
+ clean all
+
+ # Build the gpp kernel space (debug and release)
+ cd ${DSPLINK}/gpp/src
+ make \
+ OBJDUMP="${TARGET_PREFIX}objdump" \
+ CROSS_COMPILE="${TARGET_PREFIX}" \
+ CC="${KERNEL_CC}" \
+ AR="${KERNEL_AR}" \
+ LD="${KERNEL_LD}" \
+ COMPILER="${KERNEL_CC}" \
+ ARCHIVER="${KERNEL_AR}" \
+ KERNEL_DIR="${STAGING_KERNEL_DIR}" \
+ clean all
+
+ # Build the gpp samples
+ cd ${DSPLINK}/gpp/src/samples
+ make \
+ BASE_TOOLCHAIN="${CROSS_DIR}" \
+ BASE_CGTOOLS="${BASE_TOOLCHAIN}/bin" \
+ OSINC_PLATFORM="${CROSS_DIR}/lib/gcc/${TARGET_SYS}/$(${TARGET_PREFIX}gcc -dumpversion)/include" \
+ OSINC_TARGET="${BASE_TOOLCHAIN}/target/usr/include" \
+ CROSS_COMPILE="${TARGET_PREFIX}" \
+ CC="${KERNEL_CC}" \
+ AR="${KERNEL_AR}" \
+ LD="${KERNEL_LD}" \
+ COMPILER="${KERNEL_CC}" \
+ LINKER="${KERNEL_CC}" \
+ ARCHIVER="${KERNEL_AR}" \
+ KERNEL_DIR="${STAGING_KERNEL_DIR}" \
+ clean all
+
+ # Build the dsp library (debug and release)
+ cd ${DSPLINK}/dsp/src
+ make \
+ BASE_CGTOOLS="${TICGTOOLSDIR}" \
+ BASE_SABIOS="${TIBIOSDIR}" \
+ clean all
+
+ # Build the dsp samples (debug and release)
+ cd ${DSPLINK}/dsp/src/samples
+ make \
+ BASE_CGTOOLS="${TICGTOOLSDIR}" \
+ BASE_SABIOS="${TIBIOSDIR}" \
+ clean all
+
+ # LPM - Build the DSP power manager kernel module
+ cd ${S}/cetools/packages/ti/bios/power/modules/${LPMDSPPOWERSOC}/lpm
+ make \
+ DSPLINK_REPO="${DSPLINK}/.." \
+ LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \
+ MVTOOL_PREFIX="${TARGET_PREFIX}" \
+ .clean default
+
+ # CMEM - Build the cmem kernel module and associated test apps
+ # TODO - Still need to clean up UCTOOLs - don't really want to build UC here - it's not good to just build with MVTOOLS (GLIBC)
+ # - note target default, doesn't get passed through to underlying makefiles
+ cd ${S}/cetools/packages/ti/sdo/linuxutils/cmem
+ make \
+ LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \
+ MVTOOL_PREFIX="${TARGET_PREFIX}" \
+ UCTOOL_PREFIX="${TARGET_PREFIX}" \
+ clean debug release
+
+ # SDMA - Build the sdma module
+ cd ${S}/cetools/packages/ti/sdo/linuxutils/sdma
+ make \
+ LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \
+ MVTOOL_PREFIX="${TARGET_PREFIX}" \
+ UCTOOL_PREFIX="${TARGET_PREFIX}" \
+ clean debug release
+
+ # TODO - add other modules here, like IRQ, etc for DM6446/DM355/etc
+
+ # CE - EXAMPLES
+ # Now build the CE examples
+ cd ${S}/examples
+
+ # Fix paths to arm crosstools, c6x codegen and x86 gcc
+ # Also disable uclibc and x86 builds
+ # Nasty replacement of 674x build - hard to sed this, since 2 entries similar, hence uses leading spaces...
+ sed -i \
+ -e s:/db/toolsrc/library/tools/vendors/cs/arm/arm-2007q3:${CROSS_DIR}:g \
+ -e s:/db/toolsrc/library/tools/vendors/ti/c6x/6.0.16/Linux:${TICGTOOLSDIR}:g \
+ -e s:/db/toolsrc/library/tools/vendors/opensource/gcc/4.1.0/Linux/gcc-4.1.0-glibc-2.3.6/i686-unknown-linux-gnu:/usr:g \
+ -e s:arm-none-linux-gnueabi-:${TARGET_PREFIX}:g \
+ -e 's:true, // build for uC Linux:false,:g' \
+ -e 's:true, // build for PC Linux:false,:g' \
+ -e 's: {doBuild\: true, // DSP builds: {doBuild\: false, // DSP builds:g' \
+ ${S}/examples/user.bld
+
+ # For now, remove all targets, except omap3530 - nasty way to configure targets...
+ sed -i \
+ -e '/evmDM357/d' \
+ -e '/evmDM6446/d' \
+ -e '/evmDM6467/d' \
+ -e '/evmDM355/d' \
+ -e '/evmDM6437/d' \
+ -e '/evmDM648/d' \
+ -e '/evmDM365/d' \
+ -e '/evmOMAPL137/d' \
+ -e '/sdp3430/d' \
+ -e '/evm2530/d' \
+ ${S}/examples/user.bld
+
+ # Start building the CE examples: codecs, extensions, servers (codec bundles) and ARM side apps
+ # TODO : Make clean doesn't do what you'd expect, it only cleans stuff you've enabled, so some cruft remains
+ # TODO : Figure out how to pass PRODUCTS=... or alternative method, so that we don't build the 'local' versions
+ for i in codecs extensions servers apps ; do
+ make \
+ DEVICES="${CEEXAMPLESDEVICES}" \
+ CE_INSTALL_DIR="${S}" \
+ XDC_INSTALL_DIR="${TIXDCTOOLSDIR}" \
+ BIOS_INSTALL_DIR="${TIBIOSDIR}" \
+ CC_V5T="bin/${TARGET_PREFIX}gcc" \
+ CGTOOLS_V5T="${CROSS_DIR}" \
+ CGTOOLS_C64P="${TICGTOOLSDIR}" \
+ -C ${S}/examples/ti/sdo/ce/examples/$i \
+ clean
+#all
+ done
+}
+
+do_install () {
+ # DSPLINK driver - kernel module
+ install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
+ cp ${DSPLINK}/gpp/export/BIN/Linux/${DSPLINKPLATFORM}/RELEASE/dsplinkk.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/
+
+ # DSPLINK library
+ install -d ${D}/${libdir}
+ install -m 0755 ${DSPLINK}/gpp/export/BIN/Linux/${DSPLINKPLATFORM}/RELEASE/dsplink.lib ${D}/${libdir}
+
+ # DSPLINK sample apps
+ install -d ${D}/${datadir}/ti-dsplink
+ install ${DSPLINK}/gpp/export/BIN/Linux/${DSPLINKPLATFORM}/RELEASE/*gpp ${D}/${datadir}/ti-dsplink || true
+ for i in $(find ${DSPLINK}/dsp/BUILD/ -name "*.out") ; do
+ install ${i} ${D}/${datadir}/ti-dsplink
+ done
+
+ # DSPLINK test app module un/load scripts
+ install ${WORKDIR}/loadmodules-ti-dsplink-apps.sh ${D}/${datadir}/ti-dsplink
+ install ${WORKDIR}/unloadmodules-ti-dsplink-apps.sh ${D}/${datadir}/ti-dsplink
+
+ # LPM/CMEM/SDMA drivers - kernel modules
+ install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
+ cp ${S}/cetools/packages/ti/bios/power/modules/${LPMDSPPOWERSOC}/lpm/*.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp || true
+ cp ${S}/cetools/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp || true
+ cp ${S}/cetools/packages/ti/sdo/linuxutils/sdma/src/module/sdmak.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp || true
+
+ # CE sample apps - this is very 64x / v5T specific at the moment - we really need CE to give us this list...
+ install -d ${D}/${datadir}/ti-codec-engine
+
+ # we change pwd so that find gives us relative path to the files, which we use to create the same structure on the target
+ cd ${S}/examples/ti/sdo/ce
+
+ # first find all the app files named '.out'
+ for i in $(find . -name "*.out") ; do
+ # first create the directory
+ install -d ${D}/${datadir}/ti-codec-engine/`dirname ${i}`
+ # now copy the file
+ install ${i} ${D}/${datadir}/ti-codec-engine/`dirname ${i}`
+ done
+
+ # next find all the app files named '.xv5T'
+ for i in $(find . -name "*.xv5T") ; do
+ # first create the directory
+ install -d ${D}/${datadir}/ti-codec-engine/`dirname ${i}`
+ # now copy the file
+ install ${i} ${D}/${datadir}/ti-codec-engine/`dirname ${i}`
+ done
+
+ # then find all the app/server files named '.x64P'
+ for i in $(find . -name "*.x64P") ; do
+ # first create the directory
+ install -d ${D}/${datadir}/ti-codec-engine/`dirname ${i}`
+ # now copy the file
+ install ${i} ${D}/${datadir}/ti-codec-engine/`dirname ${i}`
+ done
+
+ # finally find all the app files named '.dat'
+ for i in $(find . -name "*.dat") ; do
+ # first create the directory
+ install -d ${D}/${datadir}/ti-codec-engine/`dirname ${i}`
+ # now copy the file
+ install ${i} ${D}/${datadir}/ti-codec-engine/`dirname ${i}`
+ done
+
+ # CE test app module un/load scripts
+ install ${WORKDIR}/loadmodules-ti-codec-engine-apps.sh ${D}/${datadir}/ti-codec-engine
+ install ${WORKDIR}/unloadmodules-ti-codec-engine-apps.sh ${D}/${datadir}/ti-codec-engine
+
+ # we should install the CMEM apps as well here
+ # - TODO...
+
+ # finally, strip targets that we're not supporting here
+ # - TODO...
+}
+
+# Codec Engine and friends need a complete tree, so stage it all - possibly could use repoman for this later
+do_stage() {
+ install -d ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/${PN}
+ cp -pPrf ${S}/* ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/
+}
+
+PACKAGES =+ "ti-dsplink-module ti-dsplink-apps"
+PACKAGES =+ "ti-lpm-module ti-cmem-module ti-sdma-module ti-codec-engine-apps"
+
+FILES_ti-dsplink-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/dsplinkk.ko"
+FILES_ti-dsplink-apps = "${datadir}/ti-dsplink/* ${libdir}/dsplink.lib"
+FILES_ti-lpm-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/*lpm*ko"
+FILES_ti-cmem-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/cmemk.ko"
+FILES_ti-sdma-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/sdmak.ko"
+FILES_ti-codec-engine-apps = "${datadir}/ti-codec-engine/*"
+
+pkg_postinst_ti-dsplink-module () {
+ if [ -n "$D" ]; then
+ exit 1
+ fi
+ depmod -a
+ update-modules || true
+}
+
+pkg_postrm_ti-dsplink-module () {
+ update-modules || true
+}
+
+pkg_postinst_ti-lpm-module () {
+ if [ -n "$D" ]; then
+ exit 1
+ fi
+ depmod -a
+ update-modules || true
+}
+
+pkg_postrm_ti-lpm-module () {
+ update-modules || true
+}
+
+pkg_postinst_ti-cmem-module () {
+ if [ -n "$D" ]; then
+ exit 1
+ fi
+ depmod -a
+ update-modules || true
+}
+
+pkg_postrm_ti-cmem-module () {
+ update-modules || true
+}
+
+pkg_postinst_ti-sdma-module () {
+ if [ -n "$D" ]; then
+ exit 1
+ fi
+ depmod -a
+ update-modules || true
+}
+
+pkg_postrm_ti-sdma-module () {
+ update-modules || true
+}
+
+INHIBIT_PACKAGE_STRIP = "1"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+#legacy upgrade helpers
+RPROVIDES_ti-dsplink-module += "dsplink-module"
+RREPLACES_ti-dsplink-module += "dsplink-module"
+RPROVIDES_ti-dsplink-apps += "dsplink-apps"
+RREPLACES_ti_dsplink-apps += "dsplink-apps"
+RPROVIDES_ti-cmem-module += "ti-cmemk-module"
+RREPLACES_ti-cmem-module += "ti-cmemk-module"
+
+#run-time dependencies - note for kernel module we can only use RRECOMMENDS, since modules might be built into the kernel
+#and dependence on recipe version, so that we ensure apps and modules stay syncd
+RRECOMMENDS_ti-dsplink-apps += "ti-dsplink-module (>= ${PV}-${PR})"
+RRECOMMENDS_ti-codec-engine-apps += "ti-dsplink-module (>= ${PV}-${PR}) ti-lpm-module (>= ${PV}-${PR}) ti-cmem-module (>= ${PV}-${PR}) ti-sdma-module (>= ${PV}-${PR})"
+
+
diff --git a/recipes/dsplink/ti-dmai_svn.bb b/recipes/dsplink/ti-dmai_svn.bb
index 8ce6659012..bcbaea8f65 100644
--- a/recipes/dsplink/ti-dmai_svn.bb
+++ b/recipes/dsplink/ti-dmai_svn.bb
@@ -19,6 +19,9 @@ PR = "r16"
TARGET = "all"
TARGET_neuros-osd2 = " dm6446_al dm6446_db"
+
+TARGET_armv7a = " o3530_al"
+
TARGET_beagleboard = " o3530_al"
TARGET_omap3evm = " o3530_al"
diff --git a/recipes/dsplink/ti-paths.inc b/recipes/dsplink/ti-paths.inc
index e5b3373fe5..2f1a0e5005 100644
--- a/recipes/dsplink/ti-paths.inc
+++ b/recipes/dsplink/ti-paths.inc
@@ -37,6 +37,10 @@ export LINUXKERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR}
# This tells codec engine which targets to build
DEVICES ?= "DM6446"
DEVICES_omap5912osk = "fixme-ti-paths.inc"
+
+# Set a default for armv7a now, change this when omap4 and friends become available
+DEVICES_armv7a = "OMAP3530"
+
DEVICES_omap3evm = "OMAP3530"
DEVICES_beagleboard = "OMAP3530"
DEVICES_davinci-sffsdr = "DM6446"
@@ -44,6 +48,10 @@ DEVICES_davinci-dvevm = "DM6446"
DSPLINKPLATFORM ?= "DAVINCI"
DSPLINKPLATFORM_omap5912osk = "OMAP"
+
+# Set a default for armv7a now, change this when omap4 and friends become available
+DSPLINKPLATFORM_armv7a = "OMAP3530"
+
DSPLINKPLATFORM_beagleboard = "OMAP3530"
DSPLINKPLATFORM_omap3evm = "OMAP3530"
DSPLINKPLATFORM_davinci-sffsdr = "DAVINCI"
@@ -51,6 +59,10 @@ DSPLINKPLATFORM_davinci-dvevm = "DAVINCI"
PLATFORM ?= "dm6446"
PLATFORM_omap5912osk = "OMAP"
+
+# Set a default for armv7a now, change this when omap4 and friends become available
+PLATFORM_armv7a = "omap3530"
+
PLATFORM_beagleboard = "omap3530"
PLATFORM_omap3evm = "omap3530"
PLATFORM_davinci-sffsdr = "dm6446"
@@ -58,15 +70,26 @@ PLATFORM_davinci-dvevm = "dm6446"
DSPLINKDSP ?= "C64XX"
+# Set a default for armv7a now, change this when omap4 and friends become available
+DSPLINKSOC_armv7a = "3530"
+
DSPLINKSOC ?= "DM6446"
DSPLINKSOC_beagleboard = "3530"
DSPLINKSOC_omap3evm = "3530"
DSPCFG ?= "DM6446GEMSHMEM"
+
+# Set a default for armv7a now, change this when omap4 and friends become available
+DSPCFG_armv7a ?= "OMAP3530SHMEM"
+
DSPCFG_beagleboard ?= "OMAP3530SHMEM"
DSPCFG_omap3evm ?= "OMAP3530SHMEM"
GPPOS ?= "MVL5G"
+
+# Set a default for armv7a now, change this when omap4 and friends become available
+GPPOS_armv7a = "OMAPLSP"
+
GPPOS_beagleboard = "OMAPLSP"
GPPOS_omap3evm = "OMAPLSP"
@@ -78,6 +101,9 @@ export DSPCFG
export GPPOS
export PLATFORM
+# Set a default for armv7a now, change this when omap4 and friends become available
+DSPPOWERSOC_armv7a = "omap3530"
+
DSPPOWERSOC ?= "dm6446"
DSPPOWERSOC_beagleboard = "omap3530"
DSPPOWERSOC_omap3evm = "omap3530"
diff --git a/recipes/e17/places/fix-api.diff b/recipes/e17/places/fix-api.diff
new file mode 100644
index 0000000000..ef09d2598d
--- /dev/null
+++ b/recipes/e17/places/fix-api.diff
@@ -0,0 +1,53 @@
+Index: trunk/E-MODULES-EXTRA/places/src/e_mod_places.c
+===================================================================
+--- trunk/E-MODULES-EXTRA/places/src/e_mod_places.c (revision 39774)
++++ trunk/E-MODULES-EXTRA/places/src/e_mod_places.c (revision 39830)
+@@ -371,5 +371,5 @@
+ e_menu_item_label_set(mi, alias ? alias :
+ ecore_file_file_get(uri->path));
+- e_util_menu_item_icon_theme_set(mi, "folder");
++ e_util_menu_item_theme_icon_set(mi, "folder");
+ e_menu_item_callback_set(mi, _places_run_fm, strdup(uri->path)); //TODO free somewhere
+ }
+@@ -398,5 +398,5 @@
+ mi = e_menu_item_new(em);
+ e_menu_item_label_set(mi, D_("Home"));
+- e_util_menu_item_icon_theme_set(mi, "user-home");
++ e_util_menu_item_theme_icon_set(mi, "user-home");
+ e_menu_item_callback_set(mi, _places_run_fm, (char*)e_user_homedir_get());
+ }
+@@ -407,5 +407,5 @@
+ mi = e_menu_item_new(em);
+ e_menu_item_label_set(mi, D_("Desktop"));
+- e_util_menu_item_icon_theme_set(mi, "user-desktop");
++ e_util_menu_item_theme_icon_set(mi, "user-desktop");
+ snprintf(buf, sizeof(buf), "%s/Desktop", (char*)e_user_homedir_get());
+ e_menu_item_callback_set(mi, _places_run_fm, strdup(buf)); //TODO free somewhere
+@@ -417,5 +417,5 @@
+ mi = e_menu_item_new(em);
+ e_menu_item_label_set(mi, D_("Trash"));
+- e_util_menu_item_icon_theme_set(mi, "folder");
++ e_util_menu_item_theme_icon_set(mi, "folder");
+ e_menu_item_callback_set(mi, _places_run_fm, "trash:///");
+ }
+@@ -426,5 +426,5 @@
+ mi = e_menu_item_new(em);
+ e_menu_item_label_set(mi, D_("Filesystem"));
+- e_util_menu_item_icon_theme_set(mi, "drive-harddisk");
++ e_util_menu_item_theme_icon_set(mi, "drive-harddisk");
+ e_menu_item_callback_set(mi, _places_run_fm, "/");
+ }
+@@ -435,5 +435,5 @@
+ mi = e_menu_item_new(em);
+ e_menu_item_label_set(mi, D_("Temp"));
+- e_util_menu_item_icon_theme_set(mi, "user-temp");
++ e_util_menu_item_theme_icon_set(mi, "user-temp");
+ e_menu_item_callback_set(mi, _places_run_fm, "/tmp");
+ }
+@@ -498,5 +498,5 @@
+ mi = e_menu_item_new(em);
+ e_menu_item_label_set(mi, D_("Places"));
+- e_util_menu_item_icon_theme_set(mi, "system-file-manager");
++ e_util_menu_item_theme_icon_set(mi, "system-file-manager");
+
+ m = e_menu_new();
diff --git a/recipes/e17/places_svn.bb b/recipes/e17/places_svn.bb
index 9d0090dd36..4aeaed2339 100644
--- a/recipes/e17/places_svn.bb
+++ b/recipes/e17/places_svn.bb
@@ -1,10 +1,12 @@
LICENSE = "GPLv3 LGPLv3"
PV = "0.1.0+svnr${SRCREV}"
-PR = "r1"
+PR = "r3"
require e-module.inc
+SRC_URI += "file://fix-api.diff;patch=1;maxrev=39830;pnum=3"
+
# Calls /usr/bin/eject for media
RRECOMMENDS_${PN} += "eject"
diff --git a/recipes/eds/eds-dbus_svn.bb b/recipes/eds/eds-dbus_svn.bb
index 4e40528747..751f0a5afa 100644
--- a/recipes/eds/eds-dbus_svn.bb
+++ b/recipes/eds/eds-dbus_svn.bb
@@ -7,9 +7,9 @@ PV = "1.4.0+svnr${SRCREV}"
PR = "r7"
SRC_URI = "svn://svn.o-hand.com/repos/${PN};module=trunk;proto=http \
- file://no_libdb.patch;patch=1 \
+ file://no_libdb.patch;patch=1;maxrev=659 \
file://no_iconv_test.patch;patch=1 \
- file://no_libedataserverui.patch;patch=1 \
+ file://no_libedataserverui.patch;patch=1;maxrev=659 \
file://iconv-detect.h"
S = "${WORKDIR}/trunk"
diff --git a/recipes/eel/eel_2.12.2.bb b/recipes/eel/eel_2.12.2.bb
index 92bfc88f46..88682b5b35 100644
--- a/recipes/eel/eel_2.12.2.bb
+++ b/recipes/eel/eel_2.12.2.bb
@@ -3,11 +3,12 @@
# Released under the MIT license (see packages/COPYING)
inherit gnome
+PR = "r2"
LICENSE="GPL"
SRC_URI += "file://configure.patch;patch=1"
-DEPENDS = "gnome-vfs gnome-desktop gnome-menus libgnomeui gail"
+DEPENDS = "gnome-vfs gnome-desktop gnome-menus libgnomeui virtual/gail"
EXTRA_OECONF = "--disable-gtk-doc"
diff --git a/recipes/eel/eel_2.22.2.bb b/recipes/eel/eel_2.22.2.bb
index 04353795c3..0c7a6de42c 100644
--- a/recipes/eel/eel_2.22.2.bb
+++ b/recipes/eel/eel_2.22.2.bb
@@ -3,12 +3,13 @@
# Released under the MIT license (see packages/COPYING)
inherit gnome
+PR = "r2"
LICENSE="GPL"
SRC_URI += "file://eel-no-strftime.patch;patch=1"
-DEPENDS = "gnome-vfs gnome-desktop gnome-menus libgnomeui gail"
+DEPENDS = "gnome-vfs gnome-desktop gnome-menus libgnomeui virtual/gail"
EXTRA_OECONF = "--disable-gtk-doc"
do_stage() {
diff --git a/recipes/eel/eel_2.24.1.bb b/recipes/eel/eel_2.24.1.bb
index 04353795c3..0c7a6de42c 100644
--- a/recipes/eel/eel_2.24.1.bb
+++ b/recipes/eel/eel_2.24.1.bb
@@ -3,12 +3,13 @@
# Released under the MIT license (see packages/COPYING)
inherit gnome
+PR = "r2"
LICENSE="GPL"
SRC_URI += "file://eel-no-strftime.patch;patch=1"
-DEPENDS = "gnome-vfs gnome-desktop gnome-menus libgnomeui gail"
+DEPENDS = "gnome-vfs gnome-desktop gnome-menus libgnomeui virtual/gail"
EXTRA_OECONF = "--disable-gtk-doc"
do_stage() {
diff --git a/recipes/eel/eel_2.6.1.bb b/recipes/eel/eel_2.6.1.bb
index f123a4aa93..d93aab1e61 100644
--- a/recipes/eel/eel_2.6.1.bb
+++ b/recipes/eel/eel_2.6.1.bb
@@ -3,11 +3,12 @@
# Released under the MIT license (see packages/COPYING)
inherit gnome
+PR = "r2"
LICENSE="GPL"
SRC_URI += "file://configure.patch;patch=1"
-DEPENDS="libgnomeui gail"
+DEPENDS="libgnomeui virtual/gail"
EXTRA_OECONF = "--disable-gtk-doc"
edir="${STAGING_INCDIR}/eel-2/eel"
diff --git a/recipes/efl1/ecore.inc b/recipes/efl1/ecore.inc
index a25cacc3e9..9c366f7c88 100644
--- a/recipes/efl1/ecore.inc
+++ b/recipes/efl1/ecore.inc
@@ -4,7 +4,7 @@ DEPENDS = "curl eet evas tslib libxtst libxcomposite libxinerama libxscrnsaver l
# optional
# DEPENDS += "directfb libsdl-x11 openssl virtual/libiconv"
PV = "0.9.9.050+svnr${SRCREV}"
-PR = "r1"
+PR = "r2"
inherit efl
@@ -25,6 +25,7 @@ PACKAGES += "\
${PN}-job \
${PN}-txt \
${PN}-x \
+ ${PN}-input \
"
FILES_${PN} = "${libdir}/libecore.so.*"
FILES_${PN}-con = "${libdir}/libecore_con.so.*"
@@ -41,3 +42,4 @@ FILES_${PN}-ipc = "${libdir}/libecore_ipc.so.*"
FILES_${PN}-job = "${libdir}/libecore_job.so.*"
FILES_${PN}-txt = "${libdir}/libecore_txt.so.*"
FILES_${PN}-x = "${libdir}/libecore_x.so.*"
+FILES_${PN}-input = "${libdir}/libecore_input.so.*"
diff --git a/recipes/efl1/ecore_svn.bb b/recipes/efl1/ecore_svn.bb
index a35111d308..566e6cc300 100644
--- a/recipes/efl1/ecore_svn.bb
+++ b/recipes/efl1/ecore_svn.bb
@@ -1,5 +1,5 @@
require ecore.inc
-PR = "r1"
+PR = "r2"
EXTRA_OECONF = "\
--x-includes=${STAGING_INCDIR}/X11 \
diff --git a/recipes/gcc/gcc-4.1.0.inc b/recipes/gcc/gcc-4.1.0.inc
index e12f93c800..5cf2687873 100644
--- a/recipes/gcc/gcc-4.1.0.inc
+++ b/recipes/gcc/gcc-4.1.0.inc
@@ -2,7 +2,7 @@ require gcc-common.inc
DEFAULT_PREFERENCE = "-1"
-SRC_URI = "http://ftp.gnu.org/pub/gnu/gcc/gcc-4.1.0/gcc-4.1.0.tar.bz2 \
+SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://arm-nolibfloat.patch;patch=1 \
file://arm-softfloat.patch;patch=1 \
file://zecke-xgcc-cpp.patch;patch=1 \
diff --git a/recipes/gcc/gcc-4.1.1.inc b/recipes/gcc/gcc-4.1.1.inc
index ac8a4a8a71..22c20ce9a2 100644
--- a/recipes/gcc/gcc-4.1.1.inc
+++ b/recipes/gcc/gcc-4.1.1.inc
@@ -2,7 +2,7 @@ require gcc-common.inc
DEPENDS = "mpfr gmp"
-SRC_URI = "http://ftp.gnu.org/pub/gnu/gcc/gcc-4.1.1/gcc-4.1.1.tar.bz2 \
+SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://100-uclibc-conf.patch;patch=1 \
file://110-arm-eabi.patch;patch=1 \
file://200-uclibc-locale.patch;patch=1 \
diff --git a/recipes/gcc/gcc-4.1.2.inc b/recipes/gcc/gcc-4.1.2.inc
index 614e2bb421..7ffb9ce738 100644
--- a/recipes/gcc/gcc-4.1.2.inc
+++ b/recipes/gcc/gcc-4.1.2.inc
@@ -2,7 +2,7 @@ require gcc-common.inc
DEPENDS = "mpfr gmp"
-SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.1.2/gcc-4.1.2.tar.bz2 \
+SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://100-uclibc-conf.patch;patch=1 \
file://110-arm-eabi.patch;patch=1 \
file://200-uclibc-locale.patch;patch=1 \
diff --git a/recipes/gcc/gcc-4.2.1.inc b/recipes/gcc/gcc-4.2.1.inc
index 16e5b8f5bc..920805bedc 100644
--- a/recipes/gcc/gcc-4.2.1.inc
+++ b/recipes/gcc/gcc-4.2.1.inc
@@ -2,7 +2,7 @@ require gcc-common.inc
DEPENDS = "mpfr gmp"
-SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
+SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://100-uclibc-conf.patch;patch=1 \
file://103-uclibc-conf-noupstream.patch;patch=1 \
file://200-uclibc-locale.patch;patch=1 \
diff --git a/recipes/gcc/gcc-4.2.2.inc b/recipes/gcc/gcc-4.2.2.inc
index 0f4de3cdc7..f5878123ed 100644
--- a/recipes/gcc/gcc-4.2.2.inc
+++ b/recipes/gcc/gcc-4.2.2.inc
@@ -2,7 +2,7 @@ require gcc-common.inc
DEPENDS = "mpfr gmp"
-SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
+SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://100-uclibc-conf.patch;patch=1 \
file://103-uclibc-conf-noupstream.patch;patch=1 \
file://200-uclibc-locale.patch;patch=1 \
diff --git a/recipes/gcc/gcc-4.2.3.inc b/recipes/gcc/gcc-4.2.3.inc
index 7726030f20..35d8cc6f1b 100644
--- a/recipes/gcc/gcc-4.2.3.inc
+++ b/recipes/gcc/gcc-4.2.3.inc
@@ -2,7 +2,7 @@ require gcc-common.inc
DEPENDS = "mpfr gmp"
-SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
+SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://100-uclibc-conf.patch;patch=1 \
file://103-uclibc-conf-noupstream.patch;patch=1 \
file://200-uclibc-locale.patch;patch=1 \
diff --git a/recipes/gcc/gcc-4.2.4.inc b/recipes/gcc/gcc-4.2.4.inc
index b21569b270..085f241558 100644
--- a/recipes/gcc/gcc-4.2.4.inc
+++ b/recipes/gcc/gcc-4.2.4.inc
@@ -2,7 +2,7 @@ require gcc-common.inc
DEPENDS = "mpfr gmp"
-SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
+SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://100-uclibc-conf.patch;patch=1 \
file://103-uclibc-conf-noupstream.patch;patch=1 \
file://200-uclibc-locale.patch;patch=1 \
diff --git a/recipes/gcc/gcc-4.3.1.inc b/recipes/gcc/gcc-4.3.1.inc
index 7f7f15e46a..132bbe788d 100644
--- a/recipes/gcc/gcc-4.3.1.inc
+++ b/recipes/gcc/gcc-4.3.1.inc
@@ -1,11 +1,12 @@
# No armeb and thumb patches - really needs checking
DEFAULT_PREFERENCE = "-99"
+ARM_INSTRUCTION_SET = "arm"
require gcc-common.inc
DEPENDS = "mpfr gmp"
-SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
+SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://fedora/gcc43-c++-builtin-redecl.patch;patch=1;pnum=0 \
file://fedora/gcc43-ia64-libunwind.patch;patch=1;pnum=0 \
file://fedora/gcc43-java-nomulti.patch;patch=1;pnum=0 \
diff --git a/recipes/gcc/gcc-4.3.2.inc b/recipes/gcc/gcc-4.3.2.inc
index 1fc05afcfb..e053ba2231 100644
--- a/recipes/gcc/gcc-4.3.2.inc
+++ b/recipes/gcc/gcc-4.3.2.inc
@@ -1,11 +1,12 @@
# No armeb and thumb patches - really needs checking
DEFAULT_PREFERENCE = "-999"
+ARM_INSTRUCTION_SET = "arm"
require gcc-common.inc
DEPENDS = "mpfr gmp"
-SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
+SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://fedora/gcc43-c++-builtin-redecl.patch;patch=1;pnum=0 \
file://fedora/gcc43-ia64-libunwind.patch;patch=1;pnum=0 \
file://fedora/gcc43-java-nomulti.patch;patch=1;pnum=0 \
diff --git a/recipes/gcc/gcc-4.3.3.inc b/recipes/gcc/gcc-4.3.3.inc
index d5d5db0c5e..860c96cadb 100644
--- a/recipes/gcc/gcc-4.3.3.inc
+++ b/recipes/gcc/gcc-4.3.3.inc
@@ -1,11 +1,12 @@
# No armeb and thumb patches - really needs checking
DEFAULT_PREFERENCE = "-999"
+ARM_INSTRUCTION_SET = "arm"
require gcc-common.inc
DEPENDS = "mpfr gmp"
-SRC_URI = "http://gcc.releasenotes.org/releases/gcc-${PV}/gcc-${PV}.tar.bz2 \
+SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://fedora/gcc43-c++-builtin-redecl.patch;patch=1;pnum=0 \
file://fedora/gcc43-ia64-libunwind.patch;patch=1;pnum=0 \
file://fedora/gcc43-java-nomulti.patch;patch=1;pnum=0 \
diff --git a/recipes/gimp/gimp_2.6.3.bb b/recipes/gimp/gimp_2.6.3.bb
index 8470b6d5a8..6bfbd1b5d1 100644
--- a/recipes/gimp/gimp_2.6.3.bb
+++ b/recipes/gimp/gimp_2.6.3.bb
@@ -1,6 +1,8 @@
require gimp.inc
-DEPENDS += "lcms gegl hal"
+PR = "r1"
+
+DEPENDS += "webkit-gtk lcms gegl hal"
SRC_URI = "ftp://ftp.gimp.org/pub/gimp/v2.6/gimp-${PV}.tar.bz2 \
"
diff --git a/recipes/gnome/cheese_2.26.0.bb b/recipes/gnome/cheese_2.26.0.bb
new file mode 100644
index 0000000000..6b780bdf3d
--- /dev/null
+++ b/recipes/gnome/cheese_2.26.0.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "Take photos and videos with your webcam, with fun graphical effects"
+LICENSE = "GPLv2"
+
+PR = "r1"
+
+DEPENDS = "gtk+ gstreamer hal librsvg gnome-desktop eds-dbus"
+RRECOMMENDS_${PN} = "gst-plugin-gconfelements gst-plugins-good-meta gst-plugins-base-meta"
+
+inherit gnome
+
+FILES_${PN} += "${datadir}/dbus-1"
+
diff --git a/recipes/gnome/epiphany_2.27.1.bb b/recipes/gnome/epiphany_2.27.1.bb
new file mode 100644
index 0000000000..0c3327d679
--- /dev/null
+++ b/recipes/gnome/epiphany_2.27.1.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "GNOME default webbrowser"
+DEPENDS = "libsoup-2.4 gnome-desktop gnome-vfs libgnomeui webkit-gtk iso-codes startup-notification"
+RDEPENDS = "gnome-vfs-plugin-http"
+
+inherit gnome
+
+EXTRA_OECONF = "--with-engine=webkit --with-distributor-name=${DISTRO}"
+
+do_configure_prepend() {
+ touch ${S}/gnome-doc-utils.make
+ sed -i -e s:help::g Makefile.am
+}
+
+FILES_${PN} += "${datadir}/icons ${datadir}/dbus-1"
+
+
diff --git a/recipes/gnome/gail_1.20.0.bb b/recipes/gnome/gail_1.20.0.bb
index 58168a04d5..13346f34b0 100644
--- a/recipes/gnome/gail_1.20.0.bb
+++ b/recipes/gnome/gail_1.20.0.bb
@@ -3,6 +3,7 @@ SECTION = "x11/libs"
PR = "r0"
DESCRIPTION = "GNOME Accessibility Implementation Library"
DEPENDS = "gtk+"
+PROVIDES = "virtual/gail"
inherit gnome
diff --git a/recipes/gnome/gnome-desktop_2.26.0.bb b/recipes/gnome/gnome-desktop_2.26.0.bb
new file mode 100644
index 0000000000..52c0e6d3e6
--- /dev/null
+++ b/recipes/gnome/gnome-desktop_2.26.0.bb
@@ -0,0 +1,8 @@
+require gnome-desktop.inc
+
+inherit gnome pkgconfig
+
+DEPENDS += "gnome-doc-utils gnome-vfs libxrandr"
+
+SRC_URI += " \
+ file://no-desktop-docs.patch;patch=1;pnum=0"
diff --git a/recipes/gnome/gnome-keyring_2.26.0.bb b/recipes/gnome/gnome-keyring_2.26.0.bb
index 8259ac96ce..fc756fec92 100644
--- a/recipes/gnome/gnome-keyring_2.26.0.bb
+++ b/recipes/gnome/gnome-keyring_2.26.0.bb
@@ -3,7 +3,7 @@ SECTION = "x11/gnome"
inherit autotools gnome pkgconfig
-DEPENDS = "gtk+ libtasn1 libgcrypt"
+DEPENDS = "gconf-dbus gtk+ libtasn1 libtasn1-native libgcrypt"
EXTRA_OECONF = "--disable-gtk-doc"
diff --git a/recipes/gnome/gnome-panel_2.26.0.bb b/recipes/gnome/gnome-panel_2.26.0.bb
new file mode 100644
index 0000000000..b2d615a750
--- /dev/null
+++ b/recipes/gnome/gnome-panel_2.26.0.bb
@@ -0,0 +1,24 @@
+LICENSE = "GPL"
+DEPENDS = "librsvg libgweather startup-notification libwnck orbit2 gtk+ libgnome libgnomeui gnome-desktop libglade gnome-menus orbit2-native"
+
+inherit gnome pkgconfig
+
+do_configure_prepend() {
+ sed -i -e s:help:: ${S}/Makefile.am
+}
+
+
+PACKAGES =+ "libpanel-applet"
+FILES_libpanel-applet = "${libdir}/libpanel-applet-2.so.*"
+
+FILES_${PN} =+ "${datadir}/gnome* \
+ ${datadir}/icons"
+
+EXTRA_OEMAKE = "ORBIT_IDL=${STAGING_BINDIR_NATIVE}/orbit-idl-2"
+EXTRA_OECONF = "--disable-scrollkeeper \
+ --disable-eds \
+ "
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/recipes/gnome/gnome-python-desktop_2.26.0.bb b/recipes/gnome/gnome-python-desktop_2.26.0.bb
new file mode 100644
index 0000000000..0ddc05e8e0
--- /dev/null
+++ b/recipes/gnome/gnome-python-desktop_2.26.0.bb
@@ -0,0 +1,28 @@
+LICENSE = "GPL/LGPL"
+DEPENDS = "librsvg libwnck totem-pl-parser libgtop gnome-panel gnome-desktop eds-dbus python-pygtk gnome-python libgnomeprint libgnomeprintui"
+
+PR = "r4"
+
+inherit gnome distutils-base
+
+SRC_URI += "file://acinclude.m4"
+
+EXTRA_OECONF += "--with-python-includes=${STAGING_INCDIR}/../"
+
+do_configure_prepend() {
+ install -m 0644 ${WORKDIR}/acinclude.m4 ${S}/
+}
+
+do_configure_prepend() {
+ sed -i -e s:'`$PKG_CONFIG --variable=defsdir pygtk-2.0`':\"${STAGING_DATADIR}/pygtk/2.0/defs\":g \
+ -e s:'`$PKG_CONFIG --variable=defsdir gnome-python-2.0`':\"${STAGING_DATADIR}/pygtk/2.0/defs\":g \
+ -e s:'`$PKG_CONFIG --variable=argtypesdir gnome-python-2.0`':\"${STAGING_DATADIR}/pygtk/2.0/argtypes\":g \
+ ${S}/configure.ac
+}
+
+AUTOTOOLS_STAGE_PKGCONFIG = "1"
+do_stage() {
+ autotools_stage_all
+}
+
+FILES_${PN}-dev += "${datadir}/pygtk"
diff --git a/recipes/gnome/libgnomecanvas_2.20.0.bb b/recipes/gnome/libgnomecanvas_2.20.0.bb
index 8e13c9562b..16391cb6f4 100644
--- a/recipes/gnome/libgnomecanvas_2.20.0.bb
+++ b/recipes/gnome/libgnomecanvas_2.20.0.bb
@@ -1,10 +1,11 @@
LICENSE = "GPL"
SECTION = "x11/gnome/libs"
DESCRIPTION = "A powerful object-oriented display"
+PR = "r2"
inherit gnome
-DEPENDS = "libglade libart-lgpl gail"
+DEPENDS = "libglade libart-lgpl virtual/gail"
EXTRA_OECONF = "--disable-gtk-doc"
diff --git a/recipes/gnome/libgweather_2.26.0.bb b/recipes/gnome/libgweather_2.26.0.bb
new file mode 100644
index 0000000000..f36dbbdec7
--- /dev/null
+++ b/recipes/gnome/libgweather_2.26.0.bb
@@ -0,0 +1,25 @@
+LICENSE = "LGPL"
+DEPENDS = "libgnome libsoup-2.4 gtk+"
+
+inherit gnome
+
+do_configure_prepend() {
+ sed -i -e s:help:: ${S}/Makefile.am
+}
+
+
+PACKAGES =+ "libpanel-applet"
+FILES_libpanel-applet = "${libdir}/libpanel-applet-2.so.*"
+
+FILES_${PN} =+ "${datadir}/gnome* \
+ ${datadir}/icons"
+
+do_configure_prepend() {
+ sed -i -e 's: doc : :g' ${S}/Makefile.am
+}
+
+EXTRA_OEMAKE = "ORBIT_IDL=${STAGING_BINDIR_NATIVE}/orbit-idl-2"
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/recipes/gnutls/libtasn1-native_1.7.bb b/recipes/gnutls/libtasn1-native_1.7.bb
new file mode 100644
index 0000000000..18f64a87e0
--- /dev/null
+++ b/recipes/gnutls/libtasn1-native_1.7.bb
@@ -0,0 +1,4 @@
+require libtasn1_${PV}.bb
+
+inherit native
+
diff --git a/recipes/gstreamer/gst-ffmpeg-0.10.7/configure-hack.diff b/recipes/gstreamer/gst-ffmpeg-0.10.7/configure-hack.diff
new file mode 100644
index 0000000000..874ba57777
--- /dev/null
+++ b/recipes/gstreamer/gst-ffmpeg-0.10.7/configure-hack.diff
@@ -0,0 +1,12 @@
+Index: gst-ffmpeg-0.10.7/configure.ac
+===================================================================
+--- gst-ffmpeg-0.10.7.orig/configure.ac 2009-03-21 00:44:01.000000000 +0000
++++ gst-ffmpeg-0.10.7/configure.ac 2009-03-30 20:45:05.000000000 +0000
+@@ -337,7 +337,6 @@
+ AC_SUBST(FFMPEG_SVN)
+ AC_SUBST(FFMPEG_REVISION)
+ AC_SUBST(FFMPEG_EXTERNALS_REVISION)
+- AC_CONFIG_SUBDIRS(gst-libs/ext/ffmpeg)
+ AC_MSG_NOTICE([Using included FFMpeg code])
+ fi
+
diff --git a/recipes/gstreamer/gst-ffmpeg_0.10.7.bb b/recipes/gstreamer/gst-ffmpeg_0.10.7.bb
new file mode 100644
index 0000000000..20cea128dd
--- /dev/null
+++ b/recipes/gstreamer/gst-ffmpeg_0.10.7.bb
@@ -0,0 +1,32 @@
+DESCRIPTION = "FFmpeg-based GStreamer plug-in"
+SECTION = "multimedia"
+PRIORITY = "optional"
+LICENSE = "LGPL"
+HOMEPAGE = "http://www.gstreamer.net/"
+DEPENDS = "ffmpeg gstreamer gst-plugins-base zlib"
+PR = "r1"
+
+inherit autotools pkgconfig
+
+SRC_URI = "http://gstreamer.freedesktop.org/src/${PN}/${PN}-${PV}.tar.bz2 \
+ file://configure-hack.diff;patch=1 \
+ file://lower-rank.diff;patch=1 \
+"
+
+FILES_${PN} += "${libdir}/gstreamer-0.10/*.so"
+FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug"
+FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la ${libdir}/gstreamer-0.10/*.a"
+
+EXTRA_OECONF = "--disable-sdltest --disable-ffplay --disable-freetypetest \
+ --disable-vorbis --disable-vorbistest --disable-encoders \
+ --disable-v4l --disable-audio-oss --disable-dv1394 \
+ --disable-vhook --with-system-ffmpeg --disable-ffserver \
+ --enable-pp --disable-decoder-vorbis"
+
+# We do this because the install program is called with -s which causes it to
+# call "strip" and it then mangles cross compiled stuff..
+PATH_prepend="${CROSS_DIR}/${TARGET_SYS}/bin:"
+
+# Hack to get STAGING_LIBDIR into the linker path when building ffmpeg
+CC = "${CCACHE} ${HOST_PREFIX}gcc ${TARGET_CC_ARCH} -L${STAGING_LIBDIR}"
+
diff --git a/recipes/gtk+/gtk+.inc b/recipes/gtk+/gtk+.inc
index 0e7dcf7299..c0b9ed5c80 100644
--- a/recipes/gtk+/gtk+.inc
+++ b/recipes/gtk+/gtk+.inc
@@ -21,15 +21,12 @@ FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \
FILES_${PN}-dev += " \
${datadir}/gtk-2.0/include \
${libdir}/gtk-2.0/include \
- ${libdir}/gtk-2.0/${LIBV}/loaders/*.la \
- ${libdir}/gtk-2.0/${LIBV}/immodules/*.la \
- ${libdir}/gtk-2.0/${LIBV}/engines/*.la \
- ${libdir}/gtk-2.0/${LIBV}/printbackends/*.la \
${bindir}/gdk-pixbuf-csource \
${bindir}/gtk-builder-convert"
FILES_${PN}-dbg += " \
- ${libdir}/gtk-2.0/${LIBV}/loaders/.debug/* \
+ ${libdir}/gtk-2.0/modules/.debug/* \
+ ${libdir}/gtk-2.0/${LIBV}/loaders/.debug/* \
${libdir}/gtk-2.0/${LIBV}/immodules/.debug/* \
${libdir}/gtk-2.0/${LIBV}/engines/.debug/* \
${libdir}/gtk-2.0/${LIBV}/printbackends/.debug/*"
@@ -47,6 +44,9 @@ do_stage () {
oe_libinstall -so -C gdk libgdk-x11-2.0 ${STAGING_LIBDIR}
oe_libinstall -so -C contrib/gdk-pixbuf-xlib libgdk_pixbuf_xlib-2.0 ${STAGING_LIBDIR}
oe_libinstall -so -C gdk-pixbuf libgdk_pixbuf-2.0 ${STAGING_LIBDIR}
+ if test -d modules/other/gail/libgail-util ; then
+ oe_libinstall -so -C modules/other/gail/libgail-util libgailutil ${STAGING_LIBDIR}
+ fi
autotools_stage_includes
@@ -60,6 +60,7 @@ do_stage () {
do_install_append () {
install -d ${D}${sysconfdir}/gtk-2.0
+ rm -f ${D}${libdir}/gtk-2.0/*/*.la ${D}${libdir}/gtk-2.0/${LIBV}/*/*.la
}
postinst_prologue() {
diff --git a/recipes/gtk+/gtk+_2.14.2.bb b/recipes/gtk+/gtk+_2.14.2.bb
index 88c40dd912..eb6cc536b9 100644
--- a/recipes/gtk+/gtk+_2.14.2.bb
+++ b/recipes/gtk+/gtk+_2.14.2.bb
@@ -1,6 +1,6 @@
require gtk+.inc
-PR = "r3"
+PR = "r4"
DEPENDS += "cairo jasper"
@@ -39,7 +39,18 @@ python populate_packages_prepend () {
bb.data.setVar('PKG_${PN}', 'libgtk-2.0', d)
}
+# gail is part of gtk+ since gtk+-2.13.0 (targetting >=GNOME 2.23):
+PROVIDES = "virtual/gail"
RPROVIDES_${PN} = "libgailutil18"
RCONFLICTS_${PN} = "libgailutil18"
RREPLACES_${PN} = "libgailutil18"
-
+RPROVIDES_${PN}-dev = "libgailutil-dev"
+RCONFLICTS_${PN}-dev = "libgailutil-dev"
+RREPLACES_${PN}-dev = "libgailutil-dev"
+RPROVIDES_${PN}-doc = "libgailutil-doc"
+RCONFLICTS_${PN}-doc = "libgailutil-doc"
+RREPLACES_${PN}-doc = "libgailutil-doc"
+RPROVIDES_${PN}-dbg = "libgailutil-dbg"
+RCONFLICTS_${PN}-dbg = "libgailutil-dbg"
+RREPLACES_${PN}-dbg = "libgailutil-dbg"
+# FIXME: replace locales as well
diff --git a/recipes/gtk+/gtk+_2.16.0.bb b/recipes/gtk+/gtk+_2.16.0.bb
index 7841354727..0b4e24eea7 100644
--- a/recipes/gtk+/gtk+_2.16.0.bb
+++ b/recipes/gtk+/gtk+_2.16.0.bb
@@ -1,6 +1,7 @@
require gtk+.inc
DEPENDS += "cairo jasper"
+PR = "r2"
# disabled per default - this uses as little patches as possible
DEFAULT_PREFERENCE = "-1"
@@ -39,7 +40,27 @@ python populate_packages_prepend () {
bb.data.setVar('PKG_${PN}', 'libgtk-2.0', d)
}
+# gail is part of gtk+ since gtk+-2.13.0 (targetting >=GNOME 2.23):
+PROVIDES = "virtual/gail"
RPROVIDES_${PN} = "libgailutil18"
RCONFLICTS_${PN} = "libgailutil18"
RREPLACES_${PN} = "libgailutil18"
+RPROVIDES_${PN}-dev = "libgailutil-dev"
+RCONFLICTS_${PN}-dev = "libgailutil-dev"
+RREPLACES_${PN}-dev = "libgailutil-dev"
+RPROVIDES_${PN}-doc = "libgailutil-doc"
+RCONFLICTS_${PN}-doc = "libgailutil-doc"
+RREPLACES_${PN}-doc = "libgailutil-doc"
+RPROVIDES_${PN}-dbg = "libgailutil-dbg"
+RCONFLICTS_${PN}-dbg = "libgailutil-dbg"
+RREPLACES_${PN}-dbg = "libgailutil-dbg"
+# FIXME: replace locales as well
+do_stage_append() {
+
+ # this tool is required by gnome-keyring 2.26.0 to get built
+ # it is written in Python and use only Python xml
+ install -d ${STAGING_BINDIR_NATIVE}
+ install -m 0755 ${S}/gtk/gtk-builder-convert ${STAGING_BINDIR_NATIVE}
+
+}
diff --git a/recipes/gtkhtml/gtkhtml-2.0_2.6.3.bb b/recipes/gtkhtml/gtkhtml-2.0_2.6.3.bb
index f44e8b57a6..21d1a6bab6 100644
--- a/recipes/gtkhtml/gtkhtml-2.0_2.6.3.bb
+++ b/recipes/gtkhtml/gtkhtml-2.0_2.6.3.bb
@@ -1,7 +1,7 @@
require gtkhtml.inc
-DEPENDS = "gtk+ gail libbonoboui libgnomeprintui libgnomeui gal-2.0"
-PR = "r0"
+DEPENDS = "gtk+ virtual/gail libbonoboui libgnomeprintui libgnomeui gal-2.0"
+PR = "r1"
SRC_URI = "http://ftp.debian.org/debian/pool/main/libg/libgtkhtml2/libgtkhtml2_2.6.3.orig.tar.gz"
diff --git a/recipes/gtkhtml/gtkhtml-3.0_3.0.10.bb b/recipes/gtkhtml/gtkhtml-3.0_3.0.10.bb
index 66993cec74..c45b9f7ade 100644
--- a/recipes/gtkhtml/gtkhtml-3.0_3.0.10.bb
+++ b/recipes/gtkhtml/gtkhtml-3.0_3.0.10.bb
@@ -1,7 +1,7 @@
require gtkhtml.inc
-DEPENDS = "gtk+ gail libbonoboui libgnomeprintui libgnomeui gal-2.0"
-PR = "r2"
+DEPENDS = "gtk+ virtual/gail libbonoboui libgnomeprintui libgnomeui gal-2.0"
+PR = "r3"
SRC_URI = "${GNOME_MIRROR}/gtkhtml/3.0/gtkhtml-${PV}.tar.bz2 \
file://fix-missing-colormap.patch;patch=1"
diff --git a/recipes/gtkhtml/gtkhtml-3.1_3.1.16.bb b/recipes/gtkhtml/gtkhtml-3.1_3.1.16.bb
index 1e389dabe0..18d77d8e49 100644
--- a/recipes/gtkhtml/gtkhtml-3.1_3.1.16.bb
+++ b/recipes/gtkhtml/gtkhtml-3.1_3.1.16.bb
@@ -1,6 +1,7 @@
require gtkhtml.inc
-DEPENDS = "gtk+ gail libbonoboui libgnomeprintui libgnomeui"
+DEPENDS = "gtk+ virtual/gail libbonoboui libgnomeprintui libgnomeui"
+PR = "r2"
SRC_URI = "${GNOME_MIRROR}/gtkhtml/3.1/gtkhtml-${PV}.tar.bz2"
FILES_${PN} += "${datadir}/gtkhtml-3.1"
diff --git a/recipes/gtkhtml/gtkhtml-3.6_3.6.2.bb b/recipes/gtkhtml/gtkhtml-3.6_3.6.2.bb
index cb2b8b2acc..e63bc4c72e 100644
--- a/recipes/gtkhtml/gtkhtml-3.6_3.6.2.bb
+++ b/recipes/gtkhtml/gtkhtml-3.6_3.6.2.bb
@@ -1,6 +1,7 @@
require gtkhtml.inc
-DEPENDS = "gtk+ gail libbonoboui libgnomeprintui libgnomeui"
+DEPENDS = "gtk+ virtual/gail libbonoboui libgnomeprintui libgnomeui"
+PR = "r2"
SRC_URI = "${GNOME_MIRROR}/gtkhtml/3.6/gtkhtml-${PV}.tar.bz2 \
file://cross-includedir.patch;patch=1"
diff --git a/recipes/gtkhtml/gtkhtml-3.8_3.12.3.bb b/recipes/gtkhtml/gtkhtml-3.8_3.12.3.bb
index e8727bd0dc..6a48e837a6 100644
--- a/recipes/gtkhtml/gtkhtml-3.8_3.12.3.bb
+++ b/recipes/gtkhtml/gtkhtml-3.8_3.12.3.bb
@@ -2,7 +2,8 @@ DESCRIPTION = "HTML rendering/editing library"
SECTION = "x11/libs"
PRIORITY = "optional"
LICENSE = "GPL"
-DEPENDS = "gtk+ gail libbonoboui libgnomeprintui libgnomeui"
+DEPENDS = "gtk+ virtual/gail libbonoboui libgnomeprintui libgnomeui"
+PR = "r2"
SRC_URI = "${GNOME_MIRROR}/gtkhtml/3.12/gtkhtml-${PV}.tar.bz2 \
file://60_glib-2.15-g-gnuc-function.patch;patch=1"
diff --git a/recipes/gtkhtml/gtkhtml-3.8_3.18.0.bb b/recipes/gtkhtml/gtkhtml-3.8_3.18.0.bb
index e678bc3134..6b8bffdf94 100644
--- a/recipes/gtkhtml/gtkhtml-3.8_3.18.0.bb
+++ b/recipes/gtkhtml/gtkhtml-3.8_3.18.0.bb
@@ -1,6 +1,7 @@
require gtkhtml.inc
-DEPENDS = "gtk+ gail libbonoboui libgnomeprintui libgnomeui"
+DEPENDS = "gtk+ virtual/gail libbonoboui libgnomeprintui libgnomeui"
+PR = "r2"
SRC_URI = "${GNOME_MIRROR}/gtkhtml/3.18/gtkhtml-${PV}.tar.bz2"
FILES_${PN} += "${datadir}/gtkhtml-3.8"
diff --git a/recipes/gtkhtml/gtkhtml-3.8_3.8.2.bb b/recipes/gtkhtml/gtkhtml-3.8_3.8.2.bb
index cc177de08f..204d925e3a 100644
--- a/recipes/gtkhtml/gtkhtml-3.8_3.8.2.bb
+++ b/recipes/gtkhtml/gtkhtml-3.8_3.8.2.bb
@@ -1,6 +1,7 @@
require gtkhtml.inc
-DEPENDS = "gtk+ gail libbonoboui libgnomeprintui libgnomeui"
+DEPENDS = "gtk+ virtual/gail libbonoboui libgnomeprintui libgnomeui"
+PR = "r2"
SRC_URI = "${GNOME_MIRROR}/gtkhtml/3.8/gtkhtml-${PV}.tar.bz2"
FILES_${PN} += "${datadir}/gtkhtml-3.8"
diff --git a/recipes/gtkhtml/gtkhtml-lite-3.0_3.0.10.bb b/recipes/gtkhtml/gtkhtml-lite-3.0_3.0.10.bb
index 44a96d6d64..cec898e7eb 100644
--- a/recipes/gtkhtml/gtkhtml-lite-3.0_3.0.10.bb
+++ b/recipes/gtkhtml/gtkhtml-lite-3.0_3.0.10.bb
@@ -1,7 +1,7 @@
require gtkhtml.inc
-DEPENDS = "gtk+ gail libgnomeprint orbit2-native"
-PR = "r1"
+DEPENDS = "gtk+ virtual/gail libgnomeprint orbit2-native"
+PR = "r2"
SRC_URI = "http://stag.mind.be/gtkhtml-lite-3.0.10.tar.bz2"
FILES_${PN} += "${datadir}/gtkhtml-3.0 ${libdir}/gtkhtml/*.so"
diff --git a/recipes/gxine/gxine_0.4.1.bb b/recipes/gxine/gxine_0.4.1.bb
index 9648e9ef0c..4b630303e2 100644
--- a/recipes/gxine/gxine_0.4.1.bb
+++ b/recipes/gxine/gxine_0.4.1.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "gxine is a front-end for libxine."
SECTION = "x11/multimedia"
LICENSE = "GPL"
-DEPENDS = "gtk+ libxine-x11"
+DEPENDS = "gtk+ libxine"
PR = "r2"
DEFAULT_PREFERENCE = "-1"
diff --git a/recipes/gxine/gxine_0.4.1enhanced.bb b/recipes/gxine/gxine_0.4.1enhanced.bb
index 96776645ab..46880ceee1 100644
--- a/recipes/gxine/gxine_0.4.1enhanced.bb
+++ b/recipes/gxine/gxine_0.4.1enhanced.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "gxine is a front-end for libxine."
SECTION = "x11/multimedia"
LICENSE = "GPL"
-DEPENDS = "gtk+ libxine-x11"
+DEPENDS = "gtk+ libxine"
PR = "r1"
# Long list of RDEPENDS required to playback mp3/ogg audio and mpeg/mpeg4 video
diff --git a/recipes/hostap/hostap-daemon_0.6.9.bb b/recipes/hostap/hostap-daemon_0.6.9.bb
index 0b7a1925b3..8e9aa5d328 100644
--- a/recipes/hostap/hostap-daemon_0.6.9.bb
+++ b/recipes/hostap/hostap-daemon_0.6.9.bb
@@ -3,32 +3,22 @@ HOMEPAGE = "http://hostap.epitest.fi"
SECTION = "kernel/userland"
PRIORITY = "optional"
LICENSE = "GPL"
-DEPENDS = "libnl openssl ${@base_contains("COMBINED_FEATURES", "pci", "madwifi-ng", "",d)}"
-PR = "r0"
+DEPENDS = "libnl openssl"
+PR = "r1"
DEFAULT_PREFERENCE = "-1"
-#we introduce MY_ARCH to get 'armv5te' as arch instead of the misleading 'arm' on armv5te builds
-MY_ARCH := "${PACKAGE_ARCH}"
-PACKAGE_ARCH = "${@base_contains('COMBINED_FEATURES', 'pci', '${MACHINE_ARCH}', '${MY_ARCH}', d)}"
-
SRC_URI = "http://hostap.epitest.fi/releases/hostapd-${PV}.tar.gz \
file://defconfig \
file://init"
S = "${WORKDIR}/hostapd-${PV}/hostapd"
-export HAS_PCI = "${@base_contains('COMBINED_FEATURES', 'pci', 1, 0,d)}"
-
inherit update-rc.d
INITSCRIPT_NAME=hostapd
do_configure() {
install -m 0644 ${WORKDIR}/defconfig ${S}/.config
- if [ "x$HAS_PCI" = "x1" ] ; then
- echo "CONFIG_DRIVER_MADWIFI=y" >> .config
- echo "CFLAGS += -I${STAGING_INCDIR}/madwifi-ng" >> .config
- fi
}
do_compile() {
diff --git a/recipes/images/minimal-image.bb b/recipes/images/minimal-image.bb
index f00c858312..e1635dcdf7 100644
--- a/recipes/images/minimal-image.bb
+++ b/recipes/images/minimal-image.bb
@@ -9,6 +9,7 @@ IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
IMAGE_INSTALL = "task-boot \
util-linux-mount util-linux-umount \
${DISTRO_SSH_DAEMON} \
+ ${ANGSTROM_EXTRA_INSTALL} \
angstrom-version \
"
diff --git a/recipes/images/neuros-osd-base-image.bb b/recipes/images/neuros-osd-base-image.bb
index 008bd67321..c9d54d4287 100644
--- a/recipes/images/neuros-osd-base-image.bb
+++ b/recipes/images/neuros-osd-base-image.bb
@@ -20,7 +20,7 @@ IMAGE_INSTALL = "task-boot \
e2fsprogs dosfstools \
wireless-tools zd1211-firmware \
${DISTRO_SSH_DAEMON} \
- qt-embedded dbus \
+ qt4-embedded dbus \
neuros-mainmenu \
neuros-nwm \
# vlc-davinci \
diff --git a/recipes/images/qtopia-core-console-image.bb b/recipes/images/qtopia-core-console-image.bb
deleted file mode 100644
index 62382cd11f..0000000000
--- a/recipes/images/qtopia-core-console-image.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-#QtopiaCore 'console' image
-#gives you a small images with ssh access
-
-ANGSTROM_EXTRA_INSTALL ?= ""
-DISTRO_SSH_DAEMON ?= "dropbear"
-DEPENDS = "task-boot"
-
-IMAGE_INSTALL = "task-boot \
- util-linux-mount util-linux-umount \
- ${DISTRO_SSH_DAEMON} \
- angstrom-version \
- task-qtopia-core-console \
- "
-
-export IMAGE_BASENAME = "trolltech-qtopia-core-console-image"
-IMAGE_LINGUAS = ""
-
-inherit image
-
diff --git a/recipes/images/qtopia-core-gui-image.bb b/recipes/images/qtopia-core-gui-image.bb
deleted file mode 100644
index 6f3e594e62..0000000000
--- a/recipes/images/qtopia-core-gui-image.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-#QtopiaCore 'console' image
-#gives you a small images with ssh access
-
-ANGSTROM_EXTRA_INSTALL ?= ""
-DISTRO_SSH_DAEMON ?= "dropbear"
-DEPENDS = "task-boot task-qtopia-core-gui task-qtopia-core-gui"
-
-IMAGE_INSTALL = "task-boot \
- util-linux-mount util-linux-umount \
- ${DISTRO_SSH_DAEMON} \
- angstrom-version \
- task-qtopia-core-console \
- task-qtopia-core-gui \
- "
-
-export IMAGE_BASENAME = "trolltech-qtopia-core-gui-image"
-IMAGE_LINGUAS = ""
-
-inherit image
-
diff --git a/recipes/initscripts/files/arm/alignment.sh b/recipes/initscripts/files/arm/alignment.sh
index 32a9eaace2..1082908a12 100644
--- a/recipes/initscripts/files/arm/alignment.sh
+++ b/recipes/initscripts/files/arm/alignment.sh
@@ -1,6 +1,10 @@
#!/bin/sh
-if [ -e /proc/cpu/alignment ] && ! [ $(uname -m) = "armv7l" ]; then
- echo "3" > /proc/cpu/alignment
+if [ -e /proc/cpu/alignment ] ; then
+ if [ $(uname -m) = "armv7l" ]; then
+ echo "0" > /proc/cpu/alignment
+ else
+ echo "3" > /proc/cpu/alignment
+ fi
fi
diff --git a/recipes/initscripts/initscripts_1.0.bb b/recipes/initscripts/initscripts_1.0.bb
index b497576036..556fbe46b7 100644
--- a/recipes/initscripts/initscripts_1.0.bb
+++ b/recipes/initscripts/initscripts_1.0.bb
@@ -4,7 +4,7 @@ PRIORITY = "required"
DEPENDS = "makedevs"
RDEPENDS = "makedevs"
LICENSE = "GPL"
-PR = "r112"
+PR = "r113"
SRC_URI = "file://functions \
file://halt \
diff --git a/recipes/kexecboot/device_table-oldmmc.txt b/recipes/kexecboot/device_table-oldmmc.txt
index 5c7097cbdb..4decc8dfb4 100644
--- a/recipes/kexecboot/device_table-oldmmc.txt
+++ b/recipes/kexecboot/device_table-oldmmc.txt
@@ -32,5 +32,5 @@
# mmc numbers are assigned dynamicly so if you have other dynamic assigned block devices it may be wrong
/dev/mmcblk0 b 660 0 6 254 0 - - -
-/dev/mmcblk0p b 660 0 6 254 1 1 1 7
+/dev/mmcblk0p b 660 0 6 254 1 1 1 8
/dev/event0 c 660 0 0 13 64 - - -
diff --git a/recipes/kexecboot/kexecboot_0.4.bb b/recipes/kexecboot/kexecboot_0.4.bb
index c38b2b402c..da93aeb34e 100644
--- a/recipes/kexecboot/kexecboot_0.4.bb
+++ b/recipes/kexecboot/kexecboot_0.4.bb
@@ -1,6 +1,6 @@
-PR = "r5"
+PR = "r6"
-SRC_URI = "http://projects.linuxtogo.org/~jay7/kexecboot-${PV}.tar.gz \
+SRC_URI = "http://projects.linuxtogo.org/frs/?group_id=50/kexecboot-${PV}.tar.gz \
file://add-reboot-option.patch;patch=1 \
file://scan_devices-top.patch;patch=1 \
file://graphical-no-devices.patch;patch=1 \
@@ -10,6 +10,4 @@ SRC_URI = "http://projects.linuxtogo.org/~jay7/kexecboot-${PV}.tar.gz \
file://kexecboot-tosa.patch;patch=1 \
file://fb-render-16bit.patch;patch=1"
-S = "${WORKDIR}/kexecboot-${PV}"
-
require kexecboot.inc
diff --git a/recipes/kexecboot/kexecboot_0.5.bb b/recipes/kexecboot/kexecboot_0.5.bb
index b901903a2a..f4474f7136 100644
--- a/recipes/kexecboot/kexecboot_0.5.bb
+++ b/recipes/kexecboot/kexecboot_0.5.bb
@@ -1,4 +1,5 @@
-SRC_URI = "http://projects.linuxtogo.org/frs/download.php/226/kexecboot-${PV}.tar.gz \
- "
+PR = "r1"
+
+SRC_URI = "http://projects.linuxtogo.org/frs/?group_id=50/kexecboot-${PV}.tar.gz "
require kexecboot.inc
diff --git a/recipes/kexecboot/kexecboot_git.bb b/recipes/kexecboot/kexecboot_git.bb
index 97a3f27512..c5e91f080e 100644
--- a/recipes/kexecboot/kexecboot_git.bb
+++ b/recipes/kexecboot/kexecboot_git.bb
@@ -1,14 +1,17 @@
-PR = "r0"
+PR = "r1"
DEFAULT_PREFERENCE = "-1"
-SRC_URI = "git://git.linuxtogo.org/home/thesing/kexecboot.git;protocol=git "
-SRCREV = "8823a939a38a8a3287f90dee062e8ab8569f884f"
+SRC_URI = "git://git.linuxtogo.org/home/groups/kexecboot/kexecboot.git;protocol=git "
+SRCREV = "c5f17845f0f620adff854c2239a8aaa5d9942255"
-# v0.5
-#tag=8823a939a38a8a3287f90dee062e8ab8569f884f
+# v0.51 (pre cfg-files)
+#SRCREV = "c5f17845f0f620adff854c2239a8aaa5d9942255"
-# v0.4
-#tag=d7af5356df4f25203831403c69f1a263c163f31a
+# v0.5 (add rescan / reboot)
+#SRCREV = "8823a939a38a8a3287f90dee062e8ab8569f884f"
+
+# v0.4 (add bootlogo)
+#SRCREV = "d7af5356df4f25203831403c69f1a263c163f31a"
S = "${WORKDIR}/git"
diff --git a/recipes/lesstif/lesstif_0.95.0.bb b/recipes/lesstif/lesstif_0.95.0.bb
index bfc41b8f50..cb348e70db 100644
--- a/recipes/lesstif/lesstif_0.95.0.bb
+++ b/recipes/lesstif/lesstif_0.95.0.bb
@@ -1,7 +1,7 @@
SECTION = "libs"
DESCRIPTION = "Free OSM/Motif implementation."
LICENSE = "LGPL"
-PR = "r0"
+PR = "r1"
SRC_URI = "\
${SOURCEFORGE_MIRROR}/lesstif/${BP}.tar.bz2 \
@@ -48,3 +48,6 @@ PACKAGES += "${PN}-bin"
FILES_${PN} = "${libdir}"
FILES_${PN}-bin = "${bindir}"
+do_stage() {
+ autotools_stage_all
+}
diff --git a/recipes/libgsm/libgsm-1.0.12/01_makefile.patch b/recipes/libgsm/libgsm-1.0.12/01_makefile.patch
new file mode 100644
index 0000000000..947db37bfc
--- /dev/null
+++ b/recipes/libgsm/libgsm-1.0.12/01_makefile.patch
@@ -0,0 +1,71 @@
+diff -urNad libgsm-1.0.12~/Makefile libgsm-1.0.12/Makefile
+--- libgsm-1.0.12~/Makefile 2007-11-01 15:37:52.000000000 +0100
++++ libgsm-1.0.12/Makefile 2007-11-01 15:43:06.000000000 +0100
+@@ -96,7 +96,7 @@
+ # Other tools
+
+ SHELL = /bin/sh
+-LN = ln
++LN = ln -s
+ BASENAME = basename
+ AR = ar
+ ARFLAGS = cr
+@@ -140,6 +140,7 @@
+ # Targets
+
+ LIBGSM = $(LIB)/libgsm.a
++LIBGSMSO= $(LIB)/libgsm.so
+
+ TOAST = $(BIN)/toast
+ UNTOAST = $(BIN)/untoast
+@@ -279,7 +280,7 @@
+
+ # Target rules
+
+-all: $(LIBGSM) $(TOAST) $(TCAT) $(UNTOAST)
++all: $(LIBGSM) $(LIBGSMSO) $(TOAST) $(TCAT) $(UNTOAST)
+ @-echo $(ROOT): Done.
+
+ tst: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result
+@@ -299,6 +300,11 @@
+
+ # The basic API: libgsm
+
++$(LIBGSMSO): $(LIB) $(GSM_OBJECTS)
++ $(LD) -o $@.1.0.12 -shared -Xlinker -soname -Xlinker libgsm.so.1 $(GSM_OBJECTS) -lc $(LDFLAGS)
++ ln -fs libgsm.so.1.0.12 lib/libgsm.so.1
++ ln -fs libgsm.so.1.0.12 lib/libgsm.so
++
+ $(LIBGSM): $(LIB) $(GSM_OBJECTS)
+ -rm $(RMFLAGS) $(LIBGSM)
+ $(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS)
+@@ -308,15 +314,15 @@
+ # Toast, Untoast and Tcat -- the compress-like frontends to gsm.
+
+ $(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSM)
+- $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSM) $(LDLIB)
++ $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSMSO) $(LDLIB)
+
+ $(UNTOAST): $(BIN) $(TOAST)
+ -rm $(RMFLAGS) $(UNTOAST)
+- $(LN) $(TOAST) $(UNTOAST)
++ $(LN) toast $(UNTOAST)
+
+ $(TCAT): $(BIN) $(TOAST)
+ -rm $(RMFLAGS) $(TCAT)
+- $(LN) $(TOAST) $(TCAT)
++ $(LN) toast $(TCAT)
+
+
+ # The local bin and lib directories
+@@ -426,7 +432,9 @@
+
+ clean: semi-clean
+ -rm $(RMFLAGS) $(LIBGSM) $(ADDTST)/add \
+- $(TOAST) $(TCAT) $(UNTOAST) \
++ $(LIBGSMSO) $(LIB)/libgsm.so.1.0.12 \
++ $(LIB)libgsm.so.1 \
++ $(TOAST) $(TCAT) $(UNTOAST) \
+ $(ROOT)/gsm-1.0.tar.Z
+
+
diff --git a/recipes/libgsm/libgsm-1.0.12/02_cplusplus.patch b/recipes/libgsm/libgsm-1.0.12/02_cplusplus.patch
new file mode 100644
index 0000000000..a4bbb40674
--- /dev/null
+++ b/recipes/libgsm/libgsm-1.0.12/02_cplusplus.patch
@@ -0,0 +1,25 @@
+diff -urNad libgsm-1.0.10~/inc/gsm.h libgsm-1.0.10/inc/gsm.h
+--- libgsm-1.0.10~/inc/gsm.h 2007-11-01 15:37:52.000000000 +0100
++++ libgsm-1.0.10/inc/gsm.h 2007-11-01 15:44:52.000000000 +0100
+@@ -54,6 +54,10 @@
+ #define GSM_OPT_FRAME_INDEX 5
+ #define GSM_OPT_FRAME_CHAIN 6
+
++#ifdef __cplusplus
++extern "C" {
++#endif
++
+ extern gsm gsm_create GSM_P((void));
+ extern void gsm_destroy GSM_P((gsm));
+
+@@ -66,6 +70,10 @@
+ extern int gsm_explode GSM_P((gsm, gsm_byte *, gsm_signal *));
+ extern void gsm_implode GSM_P((gsm, gsm_signal *, gsm_byte *));
+
++#ifdef __cplusplus
++}
++#endif
++
+ #undef GSM_P
+
+ #endif /* GSM_H */
diff --git a/recipes/libgsm/libgsm-1.0.12/03_config.patch b/recipes/libgsm/libgsm-1.0.12/03_config.patch
new file mode 100644
index 0000000000..dad241e2bd
--- /dev/null
+++ b/recipes/libgsm/libgsm-1.0.12/03_config.patch
@@ -0,0 +1,154 @@
+diff -urNad libgsm-1.0.10~/Makefile libgsm-1.0.10/Makefile
+--- libgsm-1.0.10~/Makefile 2007-11-01 15:37:52.000000000 +0100
++++ libgsm-1.0.10/Makefile 2007-11-01 15:48:02.000000000 +0100
+@@ -151,7 +151,7 @@
+
+ HEADERS = $(INC)/proto.h \
+ $(INC)/unproto.h \
+- $(INC)/config.h \
++ $(INC)/gsm_config.h \
+ $(INC)/private.h \
+ $(INC)/gsm.h \
+ $(INC)/toast.h \
+diff -urNad libgsm-1.0.10~/inc/config.h libgsm-1.0.10/inc/config.h
+--- libgsm-1.0.10~/inc/config.h 2007-11-01 15:37:52.000000000 +0100
++++ libgsm-1.0.10/inc/config.h 1970-01-01 01:00:00.000000000 +0100
+@@ -1,37 +0,0 @@
+-/*
+- * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
+- * Universitaet Berlin. See the accompanying file "COPYRIGHT" for
+- * details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
+- */
+-
+-/*$Header: /tmp_amd/presto/export/kbs/jutta/src/gsm/RCS/config.h,v 1.5 1996/07/02 11:26:20 jutta Exp $*/
+-
+-#ifndef CONFIG_H
+-#define CONFIG_H
+-
+-/*efine SIGHANDLER_T int /* signal handlers are void */
+-/*efine HAS_SYSV_SIGNAL 1 /* sigs not blocked/reset? */
+-
+-#define HAS_STDLIB_H 1 /* /usr/include/stdlib.h */
+-#define HAS_LIMITS_H 1 /* /usr/include/limits.h */
+-#define HAS_FCNTL_H 1 /* /usr/include/fcntl.h */
+-#define HAS_ERRNO_DECL 1 /* errno.h declares errno */
+-
+-#define HAS_FSTAT 1 /* fstat syscall */
+-#define HAS_FCHMOD 1 /* fchmod syscall */
+-#define HAS_CHMOD 1 /* chmod syscall */
+-#define HAS_FCHOWN 1 /* fchown syscall */
+-#define HAS_CHOWN 1 /* chown syscall */
+-/*efine HAS__FSETMODE 1 /* _fsetmode -- set file mode */
+-
+-#define HAS_STRING_H 1 /* /usr/include/string.h */
+-/*efine HAS_STRINGS_H 1 /* /usr/include/strings.h */
+-
+-#define HAS_UNISTD_H 1 /* /usr/include/unistd.h */
+-#define HAS_UTIME 1 /* POSIX utime(path, times) */
+-/*efine HAS_UTIMES 1 /* use utimes() syscall instead */
+-#define HAS_UTIME_H 1 /* UTIME header file */
+-#define HAS_UTIMBUF 1 /* struct utimbuf */
+-/*efine HAS_UTIMEUSEC 1 /* microseconds in utimbuf? */
+-
+-#endif /* CONFIG_H */
+diff -urNad libgsm-1.0.10~/inc/gsm_config.h libgsm-1.0.10/inc/gsm_config.h
+--- libgsm-1.0.10~/inc/gsm_config.h 1970-01-01 01:00:00.000000000 +0100
++++ libgsm-1.0.10/inc/gsm_config.h 2007-11-01 15:46:19.000000000 +0100
+@@ -0,0 +1,37 @@
++/*
++ * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
++ * Universitaet Berlin. See the accompanying file "COPYRIGHT" for
++ * details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
++ */
++
++/*$Header: /tmp_amd/presto/export/kbs/jutta/src/gsm/RCS/config.h,v 1.5 1996/07/02 11:26:20 jutta Exp $*/
++
++#ifndef CONFIG_H
++#define CONFIG_H
++
++/*efine SIGHANDLER_T int -* signal handlers are void */
++/*efine HAS_SYSV_SIGNAL 1 -* sigs not blocked/reset? */
++
++#define HAS_STDLIB_H 1 /* /usr/include/stdlib.h */
++#define HAS_STDIO_H 1 /* /usr/include/stdio.h */
++/*efine HAS_LIMITS_H 1 -* /usr/include/limits.h */
++#define HAS_FCNTL_H 1 /* /usr/include/fcntl.h */
++
++#define HAS_FSTAT 1 /* fstat syscall */
++#define HAS_FCHMOD 1 /* fchmod syscall */
++#define HAS_CHMOD 1 /* chmod syscall */
++#define HAS_FCHOWN 1 /* fchown syscall */
++#define HAS_CHOWN 1 /* chown syscall */
++/*efine HAS__FSETMODE 1 -* _fsetmode -- set file mode */
++
++#define HAS_STRING_H 1 /* /usr/include/string.h */
++/*efine HAS_STRINGS_H 1 -* /usr/include/strings.h */
++
++#define HAS_UNISTD_H 1 /* /usr/include/unistd.h */
++#define HAS_UTIME 1 /* POSIX utime(path, times) */
++/*efine HAS_UTIMES 1 -* use utimes() syscall instead */
++#define HAS_UTIME_H 1 /* UTIME header file */
++/*efine HAS_UTIMBUF 1 -* struct utimbuf */
++/*efine HAS_UTIMEUSEC 1 -* microseconds in utimbuf? */
++
++#endif /* CONFIG_H */
+diff -urNad libgsm-1.0.10~/inc/toast.h libgsm-1.0.10/inc/toast.h
+--- libgsm-1.0.10~/inc/toast.h 2007-11-01 15:37:52.000000000 +0100
++++ libgsm-1.0.10/inc/toast.h 2007-11-01 15:48:17.000000000 +0100
+@@ -9,7 +9,7 @@
+ #ifndef TOAST_H
+ #define TOAST_H /* Guard against multiple includes */
+
+-#include "config.h"
++#include "gsm_config.h"
+
+ #include <sys/types.h>
+ #include <sys/stat.h>
+diff -urNad libgsm-1.0.10~/src/code.c libgsm-1.0.10/src/code.c
+--- libgsm-1.0.10~/src/code.c 2007-11-01 15:37:52.000000000 +0100
++++ libgsm-1.0.10/src/code.c 2007-11-01 15:48:34.000000000 +0100
+@@ -6,7 +6,7 @@
+
+ /* $Header: /tmp_amd/presto/export/kbs/jutta/src/gsm/RCS/code.c,v 1.3 1996/07/02 09:59:05 jutta Exp $ */
+
+-#include "config.h"
++#include "gsm_config.h"
+
+
+ #ifdef HAS_STDLIB_H
+diff -urNad libgsm-1.0.10~/src/gsm_create.c libgsm-1.0.10/src/gsm_create.c
+--- libgsm-1.0.10~/src/gsm_create.c 1996-07-02 16:32:44.000000000 +0200
++++ libgsm-1.0.10/src/gsm_create.c 2007-11-01 15:48:48.000000000 +0100
+@@ -6,7 +6,7 @@
+
+ static char const ident[] = "$Header: /tmp_amd/presto/export/kbs/jutta/src/gsm/RCS/gsm_create.c,v 1.4 1996/07/02 09:59:05 jutta Exp $";
+
+-#include "config.h"
++#include "gsm_config.h"
+
+ #ifdef HAS_STRING_H
+ #include <string.h>
+diff -urNad libgsm-1.0.10~/src/gsm_destroy.c libgsm-1.0.10/src/gsm_destroy.c
+--- libgsm-1.0.10~/src/gsm_destroy.c 1996-07-02 16:32:39.000000000 +0200
++++ libgsm-1.0.10/src/gsm_destroy.c 2007-11-01 15:48:57.000000000 +0100
+@@ -7,7 +7,7 @@
+ /* $Header: /tmp_amd/presto/export/kbs/jutta/src/gsm/RCS/gsm_destroy.c,v 1.3 1994/11/28 19:52:25 jutta Exp $ */
+
+ #include "gsm.h"
+-#include "config.h"
++#include "gsm_config.h"
+ #include "proto.h"
+
+ #ifdef HAS_STDLIB_H
+diff -urNad libgsm-1.0.10~/tls/taste.c libgsm-1.0.10/tls/taste.c
+--- libgsm-1.0.10~/tls/taste.c 1996-07-02 16:33:05.000000000 +0200
++++ libgsm-1.0.10/tls/taste.c 2007-11-01 15:49:54.000000000 +0100
+@@ -10,7 +10,7 @@
+ #include <string.h>
+ #include <memory.h>
+
+-#include "config.h"
++#include "gsm_config.h"
+
+ #ifdef HAS_STDLIB_H
+ # include <stdlib.h>
diff --git a/recipes/libgsm/libgsm-1.0.12/04_includes.patch b/recipes/libgsm/libgsm-1.0.12/04_includes.patch
new file mode 100644
index 0000000000..2769b40b05
--- /dev/null
+++ b/recipes/libgsm/libgsm-1.0.12/04_includes.patch
@@ -0,0 +1,43 @@
+diff -urNad libgsm-1.0.10~/inc/toast.h libgsm-1.0.10/inc/toast.h
+--- libgsm-1.0.10~/inc/toast.h 2007-11-01 15:37:52.000000000 +0100
++++ libgsm-1.0.10/inc/toast.h 2007-11-01 15:52:33.000000000 +0100
+@@ -16,11 +16,12 @@
+
+ #include <stdio.h>
+ #include <ctype.h>
++#include <pthread.h>
+ #include <signal.h>
+
+ #include <errno.h>
+-#ifndef HAS_ERRNO_DECL
+- extern int errno;
++#ifndef errno
++ extern int errno;
+ #endif
+
+ #ifdef HAS_LIMITS_H
+@@ -37,6 +38,10 @@
+ # endif
+ #endif
+
++#ifdef HAS_STDIO_H
++# include <stdio.h>
++#endif
++
+ #include "gsm.h"
+
+ #ifndef S_ISREG
+diff -urNad libgsm-1.0.10~/src/code.c libgsm-1.0.10/src/code.c
+--- libgsm-1.0.10~/src/code.c 2007-11-01 15:37:52.000000000 +0100
++++ libgsm-1.0.10/src/code.c 2007-11-01 15:52:33.000000000 +0100
+@@ -9,8 +9,8 @@
+ #include "config.h"
+
+
+-#ifdef HAS_STDLIB_H
+-#include <stdlib.h>
++#ifdef HAS_STRING_H
++#include <string.h>
+ #else
+ # include "proto.h"
+ extern char * memcpy P((char *, char *, int));
diff --git a/recipes/libgsm/libgsm-1.0.12/05_compiler_warnings.patch b/recipes/libgsm/libgsm-1.0.12/05_compiler_warnings.patch
new file mode 100644
index 0000000000..c40100c922
--- /dev/null
+++ b/recipes/libgsm/libgsm-1.0.12/05_compiler_warnings.patch
@@ -0,0 +1,98 @@
+diff -urNad libgsm-1.0.10~/src/debug.c libgsm-1.0.10/src/debug.c
+--- libgsm-1.0.10~/src/debug.c 2007-11-01 15:37:52.000000000 +0100
++++ libgsm-1.0.10/src/debug.c 2007-11-01 15:53:42.000000000 +0100
+@@ -49,7 +49,7 @@
+ fprintf( stderr, "%s [%d .. %d]: ", name, from, to );
+ while (from <= to) {
+
+- fprintf(stderr, "%d ", ptr[ from ] );
++ fprintf(stderr, "%ld ", ptr[ from ] );
+ from++;
+ if (nprinted++ >= 7) {
+ nprinted = 0;
+@@ -63,14 +63,14 @@
+ char * name,
+ longword value )
+ {
+- fprintf(stderr, "%s: %d\n", name, (long)value );
++ fprintf(stderr, "%s: %ld\n", name, (long)value );
+ }
+
+ void gsm_debug_word P2( (name, value),
+ char * name,
+ word value )
+ {
+- fprintf(stderr, "%s: %d\n", name, (long)value);
++ fprintf(stderr, "%s: %ld\n", name, (long)value);
+ }
+
+ #endif
+diff -urNad libgsm-1.0.10~/src/toast.c libgsm-1.0.10/src/toast.c
+--- libgsm-1.0.10~/src/toast.c 2007-11-01 15:37:52.000000000 +0100
++++ libgsm-1.0.10/src/toast.c 2007-11-01 15:53:42.000000000 +0100
+@@ -251,8 +251,8 @@
+ {
+ char * s;
+ if (!(s = malloc(len))) {
+- fprintf(stderr, "%s: failed to malloc %d bytes -- abort\n",
+- progname, len);
++ fprintf(stderr, "%s: failed to malloc %ld bytes -- abort\n",
++ progname, (long) len);
+ onintr();
+ exit(1);
+ }
+@@ -270,7 +270,7 @@
+ maxlen = strlen(name) + 1 + strlen(want) + strlen(cut);
+ p = strcpy(emalloc(maxlen), name);
+
+- if (s = suffix(p, cut)) strcpy(s, want);
++ if ((s = suffix(p, cut))) strcpy(s, want);
+ else if (*want && !suffix(p, want)) strcat(p, want);
+
+ return p;
+@@ -386,7 +386,7 @@
+ ut[0] = instat.st_atime;
+ ut[1] = instat.st_mtime;
+
+- (void) utime(outname, ut);
++ (void) utime(outname, (struct utimbuf *)ut);
+
+ #endif /* UTIMBUF */
+ }
+@@ -416,7 +416,7 @@
+ }
+ if (st->st_nlink > 1 && !f_cat && !f_precious) {
+ fprintf(stderr,
+- "%s: \"%s\" has %s other link%s -- unchanged.\n",
++ "%s: \"%s\" has %d other link%s -- unchanged.\n",
+ progname,name,st->st_nlink - 1,"s" + (st->st_nlink<=2));
+ return 0;
+ }
+@@ -585,8 +585,8 @@
+
+ if (cc != sizeof(s)) {
+ if (cc >= 0) fprintf(stderr,
+- "%s: incomplete frame (%d byte%s missing) from %s\n",
+- progname, sizeof(s) - cc,
++ "%s: incomplete frame (%ld byte%s missing) from %s\n",
++ progname, (long) sizeof(s) - cc,
+ "s" + (sizeof(s) - cc == 1),
+ inname ? inname : "stdin" );
+ gsm_destroy(r);
+@@ -624,8 +624,6 @@
+
+ static int process P1((name), char * name)
+ {
+- int step = 0;
+-
+ out = (FILE *)0;
+ in = (FILE *)0;
+
+@@ -779,7 +777,6 @@
+ case 'h': help(); exit(0);
+
+ default:
+- usage:
+ fprintf(stderr,
+ "Usage: %s [-fcpdhvuaslFC] [files...] (-h for help)\n",
+ progname);
diff --git a/recipes/libgsm/libgsm_1.0.12.bb b/recipes/libgsm/libgsm_1.0.12.bb
new file mode 100644
index 0000000000..9c96f4d39f
--- /dev/null
+++ b/recipes/libgsm/libgsm_1.0.12.bb
@@ -0,0 +1,45 @@
+DESCRIPTION = "GSM Audio Library"
+SECTION = "libs"
+PRIORITY = "optional"
+#DEPENDS = ""
+LICENSE = "libgsm"
+
+PR = "r0"
+
+SRC_URI = "http://user.cs.tu-berlin.de/~jutta/gsm/gsm-${PV}.tar.gz \
+ file://01_makefile.patch;patch=1 \
+ file://02_cplusplus.patch;patch=1 \
+ file://03_config.patch;patch=1 \
+ file://04_includes.patch;patch=1 \
+ file://05_compiler_warnings.patch;patch=1 \
+ "
+
+S = "${WORKDIR}/gsm-1.0-pl12/"
+
+CFLAGS += "-c -g -fPIC -Wall -D_GNU_SOURCE -D_REENTRANT -DNeedFunctionPrototypes=1 -DWAV49 -I./inc"
+
+PARALLEL_MAKE = ""
+
+do_compile() {
+ unset LD
+ oe_runmake CCFLAGS="${CFLAGS}"
+}
+
+do_install() {
+ oe_libinstall -a -C lib libgsm ${D}${libdir}
+ oe_libinstall -so -C lib libgsm ${D}${libdir}
+ install -d ${D}/usr/include/gsm
+ install -m 0644 ${S}/inc/gsm.h ${D}/usr/include/gsm/
+ cd ${D}/usr/include/
+ ln -s gsm/gsm.h gsm.h
+}
+
+do_stage () {
+ oe_libinstall -a -C lib libgsm ${STAGING_LIBDIR}
+ oe_libinstall -so -C lib libgsm ${STAGING_LIBDIR}
+ install -d ${STAGING_INCDIR}/gsm
+ install -m 0644 ${S}/inc/gsm.h ${STAGING_INCDIR}/gsm/
+ rm -f ${STAGING_INCDIR}/gsm.h
+ ln -s ${STAGING_INCDIR}/gsm/gsm.h ${STAGING_INCDIR}/gsm.h
+}
+
diff --git a/recipes/libmikmod/libmikmod/ldflags.patch b/recipes/libmikmod/libmikmod/ldflags.patch
new file mode 100644
index 0000000000..4261379ee4
--- /dev/null
+++ b/recipes/libmikmod/libmikmod/ldflags.patch
@@ -0,0 +1,12 @@
+diff -urN libmikmod-3.1.12.orig/libmikmod/Makefile.in libmikmod-3.1.12/libmikmod/Makefile.in
+--- libmikmod-3.1.12.orig/libmikmod/Makefile.in 2004-01-21 17:43:52.000000000 +0000
++++ libmikmod-3.1.12/libmikmod/Makefile.in 2009-04-02 11:28:01.000000000 +0000
+@@ -72,7 +72,7 @@
+ rm -f Makefile
+
+ $(LIB): $(OBJ)
+- $(LIBTOOL) --mode=link $(CC) -version-info 2:4:0 -o $@ $(OBJ) $(LIBRARY_LIB) -rpath $(DESTDIR)$(libdir)
++ $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -version-info 2:4:0 -o $@ $(OBJ) $(LIBRARY_LIB) -rpath $(DESTDIR)$(libdir)
+
+ dl_hpux.lo: $(top_srcdir)/dlapi/dl_hpux.c \
+ $(top_srcdir)/dlapi/dlfcn.h
diff --git a/recipes/libmikmod/libmikmod_3.1.12.bb b/recipes/libmikmod/libmikmod_3.1.12.bb
index f1ed9d672c..eabdad4b3e 100644
--- a/recipes/libmikmod/libmikmod_3.1.12.bb
+++ b/recipes/libmikmod/libmikmod_3.1.12.bb
@@ -2,12 +2,13 @@ DESCRIPTION = "libmikmod is a module player library supporting many formats, inc
SECTION = "libs"
PRIORITY = "optional"
LICENSE = "LGPL"
-PR = "r1"
+PR = "r2"
SRC_URI = "\
${SOURCEFORGE_MIRROR}/mikmod/libmikmod-${PV}.tar.gz \
file://m4.patch;patch=1 \
file://autofoo.patch;patch=1 \
+ file://ldflags.patch;patch=1 \
"
inherit autotools binconfig
diff --git a/recipes/libogg/libtheora-1.0/libtheora-1.0-no-docs.patch b/recipes/libogg/libtheora-1.0/libtheora-1.0-no-docs.patch
new file mode 100644
index 0000000000..ce1fa70940
--- /dev/null
+++ b/recipes/libogg/libtheora-1.0/libtheora-1.0-no-docs.patch
@@ -0,0 +1,33 @@
+diff -urN libtheora-1.0-0rig/Makefile.am libtheora-1.0/Makefile.am
+--- libtheora-1.0-0rig//Makefile.am 2008-10-21 05:36:32.000000000 +0200
++++ libtheora-1.0/Makefile.am 2009-03-16 18:16:32.000000000 +0100
+@@ -8,7 +8,7 @@
+ EXAMPLES_DIR =
+ endif
+
+-SUBDIRS = lib include doc tests m4 $(EXAMPLES_DIR)
++SUBDIRS = lib include m4 $(EXAMPLES_DIR)
+
+
+ # we include the whole debian/ dir in EXTRA_DIST because there's a problem
+diff -urN libtheora-1.0-0rig//Makefile.in libtheora-1.0/Makefile.in
+--- libtheora-1.0-0rig//Makefile.in 2008-10-29 11:36:48.000000000 +0100
++++ libtheora-1.0/Makefile.in 2009-03-16 18:16:51.000000000 +0100
+@@ -80,7 +80,7 @@
+ DATA = $(pkgconfig_DATA)
+ ETAGS = etags
+ CTAGS = ctags
+-DIST_SUBDIRS = lib include doc tests m4 examples
++DIST_SUBDIRS = lib include m4 examples
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ distdir = $(PACKAGE)-$(VERSION)
+ top_distdir = $(distdir)
+@@ -262,7 +262,7 @@
+ AUTOMAKE_OPTIONS = foreign 1.6 dist-zip dist-bzip2
+ @THEORA_ENABLE_EXAMPLES_FALSE@EXAMPLES_DIR =
+ @THEORA_ENABLE_EXAMPLES_TRUE@EXAMPLES_DIR = examples
+-SUBDIRS = lib include doc tests m4 $(EXAMPLES_DIR)
++SUBDIRS = lib include m4 $(EXAMPLES_DIR)
+
+ # we include the whole debian/ dir in EXTRA_DIST because there's a problem
+ # with autotools and HFS+ MacOSX file systems that caused debian/Makefile.am
diff --git a/recipes/libogg/libtheora_1.0.bb b/recipes/libogg/libtheora_1.0.bb
index 0d858cdbbe..431ed39525 100644
--- a/recipes/libogg/libtheora_1.0.bb
+++ b/recipes/libogg/libtheora_1.0.bb
@@ -1,9 +1,10 @@
DEPENDS = "libogg libvorbis"
-PR = "r1"
+PR = "r3"
-SRC_URI = "http://downloads.xiph.org/releases/theora/libtheora-${PV}.tar.bz2"
+SRC_URI = "http://downloads.xiph.org/releases/theora/libtheora-${PV}.tar.bz2 \
+ file://libtheora-1.0-no-docs.patch;patch=1"
inherit autotools lib_package
@@ -17,3 +18,6 @@ do_configure_append() {
AUTOTOOLS_STAGE_PKGCONFIG = "1"
+do_stage() {
+ autotools_stage_all
+}
diff --git a/recipes/libpcap/libpcap-1.0.0/ldflags.patch b/recipes/libpcap/libpcap-1.0.0/ldflags.patch
new file mode 100644
index 0000000000..66ab5f725f
--- /dev/null
+++ b/recipes/libpcap/libpcap-1.0.0/ldflags.patch
@@ -0,0 +1,12 @@
+diff -urN libpcap-1.0.0.orig/Makefile.in libpcap-1.0.0/Makefile.in
+--- libpcap-1.0.0.orig/Makefile.in 2008-10-28 01:26:13.000000000 +0000
++++ libpcap-1.0.0/Makefile.in 2009-04-02 13:54:20.000000000 +0000
+@@ -326,7 +326,7 @@
+ #
+ libpcap.so: $(OBJ)
+ @rm -f $@
+- $(CC) -shared -Wl,-soname,$@.1 -o $@.`cat $(srcdir)/VERSION` $(OBJ) $(DAGLIBS)
++ $(CC) $(LDFLAGS) -shared -Wl,-soname,$@.1 -o $@.`cat $(srcdir)/VERSION` $(OBJ) $(DAGLIBS)
+
+ #
+ # The following rule succeeds, but the result is untested.
diff --git a/recipes/libpcap/libpcap_1.0.0.bb b/recipes/libpcap/libpcap_1.0.0.bb
index b85bf4c5d4..6dfc056930 100644
--- a/recipes/libpcap/libpcap_1.0.0.bb
+++ b/recipes/libpcap/libpcap_1.0.0.bb
@@ -1,9 +1,10 @@
require libpcap.inc
-PR = "r5"
+PR = "r6"
SRC_URI = "http://www.tcpdump.org/release/libpcap-${PV}.tar.gz"
SRC_URI += "file://aclocal.patch;patch=1"
SRC_URI += "file://ieee80215-arphrd.patch;patch=1"
+SRC_URI += "file://ldflags.patch;patch=1"
do_compile () {
oe_runmake
diff --git a/recipes/libxine/files/configure-1.0.patch b/recipes/libxine/files/configure-1.0.patch
deleted file mode 100644
index c25d41988d..0000000000
--- a/recipes/libxine/files/configure-1.0.patch
+++ /dev/null
@@ -1,177 +0,0 @@
---- xine-lib-1-rc6a/configure.ac.orig 2004-09-16 22:28:33.762843408 -0400
-+++ xine-lib-1-rc6a/configure.ac 2004-09-16 22:29:00.969707336 -0400
-@@ -622,7 +622,7 @@
- dnl ---------------------------------------------
-
- AM_PATH_AALIB(1.4,, AC_MSG_RESULT([*** All of AALIB dependent parts will be disabled ***]))
--AM_CONDITIONAL(HAVE_AA, test x$no_aalib != "xyes")
-+AM_CONDITIONAL(HAVE_AA, [test x"$enable_aalib" = "xyes" && test x$no_aalib != "xyes"])
-
-
- dnl ---------------------------------------------
-@@ -735,10 +735,7 @@
- dnl check for SDL
- dnl ---------------------------------------------
-
--AM_PATH_SDL(1.1.5,
-- AC_DEFINE(HAVE_SDL,1,[Define this if you have SDL library installed]),
-- [])
--AM_CONDITIONAL(HAVE_SDL, [test x"$no_sdl" != x"yes"])
-+AM_CONDITIONAL(HAVE_SDL, 0)
-
-
- dnl ---------------------------------------------
-@@ -868,61 +865,29 @@
- dnl Ogg/Theora libs.
- dnl ---------------------------------------------
-
--AM_PATH_OGG(
-- [ AM_PATH_THEORA(AC_DEFINE(HAVE_THEORA,1,[Define this if you have theora]),
-- AC_MSG_RESULT([*** All OGG/THEORA dependent parts will be disabled ***]))
-- ],
-- AC_MSG_RESULT([*** All of OGG/Theora dependent parts will be disabled ***]))
--AM_CONDITIONAL(HAVE_THEORA, [test x"$no_ogg" != "xyes" -a x"$no_theora" != "xyes"])
-+AM_CONDITIONAL(HAVE_THEORA, 0)
-
-
- dnl ---------------------------------------------
- dnl Ogg/Speex libs.
- dnl ---------------------------------------------
-
--PKG_CHECK_MODULES(SPEEX, speex, no_speex="no", no_speex="yes")
--
--if test "x$no_speex" = "xyes" ; then
-- AM_PATH_OGG([ AM_PATH_SPEEX(no_speex="no")])
--fi
--
--if test "x$no_speex" = "xyes" ; then
-- AC_MSG_RESULT([*** All OGG/SPEEX dependent parts will be disabled ***])
--else
-- AC_DEFINE(HAVE_SPEEX,1,[Define this if you have speex])
--
-- dnl Test whether Speex headers are eg. <speex.h> or <speex/speex.h>
-- dnl Speex headers were moved in mid-2004; 1.0.x has backwards compatible headers, 1.1.x does not
-- AC_CHECK_HEADER([speex/speex.h],
-- AC_DEFINE(HAVE_SPEEX_SUBDIR, [1], [Define to 1 if speex headers are eg. <speex/speex.h>])
-- )
--
-- AC_SUBST(SPEEX_CFLAGS)
-- AC_SUBST(SPEEX_LIBS)
--fi
--AM_CONDITIONAL(HAVE_SPEEX, [test x"$no_ogg" != "xyes" -a x"$no_speex" != "xyes"])
-+AM_CONDITIONAL(HAVE_SPEEX, 0)
-
-
- dnl ---------------------------------------------
- dnl check for libFLAC
- dnl ---------------------------------------------
-
--AM_PATH_LIBFLAC([],
-- AC_MSG_RESULT([*** All FLAC dependent parts will be disabled ***]))
--AM_CONDITIONAL(HAVE_FLAC, [test x"$no_libFLAC" != "xyes"])
-+AM_CONDITIONAL(HAVE_FLAC, 0)
-
-
- dnl ---------------------------------------------
- dnl MNG libs.
- dnl ---------------------------------------------
-
--AC_CHECK_LIB(mng, mng_initialize,
-- [ AC_CHECK_HEADER(libmng.h,
-- [ have_libmng=yes
-- MNG_LIBS="-lmng" ],
-- AC_MSG_RESULT([*** All libmng dependent parts will be disabled ***]))],
-- AC_MSG_RESULT([*** All libmng dependent parts will be disabled ***]))
--AM_CONDITIONAL(HAVE_LIBMNG, test x"$have_libmng" = "xyes")
-+MNG_LIBS=""
-+AM_CONDITIONAL(HAVE_LIBMNG, 0)
- AC_SUBST(MNG_LIBS)
-
-
-@@ -952,7 +917,7 @@
- dnl freetype2 lib.
- dnl ---------------------------------------------
-
--AM_PATH_FREETYPE2()
-+AM_CONDITIONAL(HAVE_FT2, 0)
-
-
- dnl ---------------------------------------------
-@@ -995,37 +960,21 @@
- dnl ESD support
- dnl ---------------------------------------------
-
--AM_PATH_ESD(0.2.8,
-- AC_DEFINE(HAVE_ESD,1,[Define this if you have ESD (libesd) installed]),
-- AC_MSG_RESULT(*** All of ESD dependent parts will be disabled ***))
--AM_CONDITIONAL(HAVE_ESD, test x"$no_esd" != "xyes")
-+AM_CONDITIONAL(HAVE_ESD, 0)
-
-
- dnl ---------------------------------------------
- dnl ARTS support
- dnl ---------------------------------------------
-
--AM_PATH_ARTS(0.9.5,
-- AC_DEFINE(HAVE_ARTS,1,[Define this if you have ARTS (libartsc) installed]),
-- AC_MSG_RESULT(*** All of ARTS dependent parts will be disabled ***))
--AM_CONDITIONAL(HAVE_ARTS, test x"$no_arts" != "xyes")
-+AM_CONDITIONAL(HAVE_ARTS, 0)
-
-
- dnl ---------------------------------------------
- dnl gnome-vfs support
- dnl ---------------------------------------------
-
--PKG_CHECK_MODULES(GNOME_VFS, gnome-vfs-2.0,
-- no_gnome_vfs=no,
-- no_gnome_vfs=yes)
--AC_SUBST(GNOME_VFS_CFLAGS)
--AC_SUBST(GNOME_VFS_LIBS)
--if test x"$no_gnome_vfs" != "xyes"; then
--AC_DEFINE(HAVE_GNOME_VFS,1,[Define this if you have gnome-vfs installed])
--else
--AC_MSG_RESULT(*** All of the gnome-vfs dependent parts will be disabled ***)
--fi
--AM_CONDITIONAL(HAVE_GNOME_VFS, test x"$no_gnome_vfs" != "xyes")
-+AM_CONDITIONAL(HAVE_GNOME_VFS, 0)
-
-
- dnl ---------------------------------------------
-@@ -1188,35 +1137,7 @@
- ],ISOC99_PRAGMA=no)
- AC_MSG_RESULT($ISOC99_PRAGMA)
-
-- dnl bitfield order
-- AC_MSG_CHECKING(bitfield ordering in structs)
-- AC_TRY_RUN([
--int
-- main() {
-- struct { char bit_0:1, bit_12:2, bit_345:3, bit_67:2; }
--#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
-- __attribute__((packed))
--#endif
-- bf = { 1,1,1,1 };
-- if (sizeof (bf) != 1) return 1;
-- return *((unsigned char*) &bf) != 0x4b; }
--], bf_lsbf=1, AC_TRY_RUN([
--int
--main() {
-- struct { char bit_0:1, bit_12:2, bit_345:3, bit_67:2; }
--#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
-- __attribute__((packed))
--#endif
-- bf = { 1,1,1,1 };
-- if (sizeof (bf) != 1) return 1;
-- return *((unsigned char*) &bf) != 0xa5; }
--], bf_lsbf=0, AC_MSG_ERROR([unsupported bitfield ordering])))
-- if test "x$bf_lsbf" = "x1"; then
-- AC_MSG_RESULT(LSBF)
-- AC_DEFINE(BITFIELD_LSBF, [], [compiler does lsbf in struct bitfields])
-- else
-- AC_MSG_RESULT(MSBF)
-- fi
-+ AC_DEFINE(BITFIELD_LSBF, [], [compiler does lsbf in struct bitfields])
-
- AC_HAVE_HEADERS( errno.h fcntl.h \
- stdbool.h stdlib.h stdint.h stdio.h string.h \
diff --git a/recipes/libxine/files/cpu-1.0.patch b/recipes/libxine/files/cpu-1.0.patch
deleted file mode 100644
index a7ccdbbfa9..0000000000
--- a/recipes/libxine/files/cpu-1.0.patch
+++ /dev/null
@@ -1,112 +0,0 @@
---- xine-lib-1-rc6a/src/post/goom/xmmx.c.orig 2004-09-16 21:53:34.040049792 -0400
-+++ xine-lib-1-rc6a/src/post/goom/xmmx.c 2004-09-16 21:59:24.407785800 -0400
-@@ -112,23 +112,23 @@
- * post : mm3 & mm4 : coefs for this position
- * mm1 : X vector [0|X]
- *
-- * modif : eax,ebx
-+ * modif : eax,ecx
- */
- __asm__ __volatile__ (
-- "movd %%mm0,%%ebx\n"
-+ "movd %%mm0,%%ecx\n"
- "movq %%mm0,%%mm1\n"
-
-- "andl $15,%%ebx\n"
-+ "andl $15,%%ecx\n"
- "psrlq $32,%%mm1\n"
-
-- "shll $6,%%ebx\n"
-+ "shll $6,%%ecx\n"
- "movd %%mm1,%%eax\n"
-
-- "addl %0,%%ebx\n"
-+ "addl %0,%%ecx\n"
- "andl $15,%%eax\n"
-
-- "movd (%%ebx,%%eax,4),%%mm3\n"
-- ::"g"(precalCoef):"eax","ebx");
-+ "movd (%%ecx,%%eax,4),%%mm3\n"
-+ ::"g"(precalCoef):"eax","ecx");
-
- /*
- * extraction des coefficients...
-@@ -158,7 +158,7 @@
- * post : mm0 : expix1[position]
- * mm2 : expix1[position+largeur]
- *
-- * modif : eax,ebx
-+ * modif : eax,ecx
- */
- psrld_i2r (PERTEDEC,mm0);
- psrld_i2r (PERTEDEC,mm1);
-@@ -167,23 +167,23 @@
- /*^*/ "movq %%mm3,%%mm5\n" /*^*/
-
- "mull %1\n"
-- "movd %%mm0,%%ebx\n"
-+ "movd %%mm0,%%ecx\n"
- /*^*/ "punpcklbw %%mm5, %%mm3\n" /*^*/
-
-- "addl %%ebx,%%eax\n"
-+ "addl %%ecx,%%eax\n"
- /*^*/ "movq %%mm3,%%mm4\n" /*^*/
- /*^*/ "movq %%mm3,%%mm5\n" /*^*/
-
-- "movl %0,%%ebx\n"
-+ "movl %0,%%ecx\n"
- /*^*/ "punpcklbw %%mm5,%%mm3\n" /*^*/
-
-- "movq (%%ebx,%%eax,4),%%mm0\n"
-+ "movq (%%ecx,%%eax,4),%%mm0\n"
- /*^*/ "punpckhbw %%mm5,%%mm4\n" /*^*/
-
- "addl %1,%%eax\n"
-- "movq (%%ebx,%%eax,4),%%mm2\n"
-+ "movq (%%ecx,%%eax,4),%%mm2\n"
-
-- : : "X"(expix1), "X"(prevX):"eax","ebx"
-+ : : "X"(expix1), "X"(prevX):"eax","ecx"
- );
-
- /*
---- xine-lib-1-rc7/src/post/goom/mmx.h 2004-09-12 05:17:26.000000000 -0700
-+++ xine-lib-1-rc7.new/src/post/goom/mmx.h 2004-11-09 16:08:17.777667856 -0700
-@@ -71,13 +71,15 @@
- */
- register int rval = 0;
-
-+ /* Maybe if I yell it will help: DON'T CLOBBER EBX! */
-+
- __asm__ __volatile__ (
- /* See if CPUID instruction is supported ... */
- /* ... Get copies of EFLAGS into eax and ecx */
- "pushf\n\t"
- "popl %%eax\n\t"
- "movl %%eax, %%ecx\n\t"
--
-+
- /* ... Toggle the ID bit in one copy and store */
- /* to the EFLAGS reg */
- "xorl $0x200000, %%eax\n\t"
-@@ -97,6 +99,8 @@
- /* Get standard CPUID information, and
- go to a specific vendor section */
- "movl $0, %%eax\n\t"
-+
-+ "pushl %%ebx\n\t"
- "cpuid\n\t"
-
- /* Check for Intel */
-@@ -214,9 +218,10 @@
- "movl $0, %0\n\n\t"
-
- "Return:\n\t"
-+ "popl %%ebx\n\t"
- : "=X" (rval)
- : /* no input */
-- : "eax", "ebx", "ecx", "edx"
-+ : "eax", "ecx", "edx"
- );
-
- /* Return */
diff --git a/recipes/libxine/files/libxine-cut-memusage.patch b/recipes/libxine/files/libxine-cut-memusage.patch
deleted file mode 100644
index 696b479db2..0000000000
--- a/recipes/libxine/files/libxine-cut-memusage.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
-Index: xine-lib-1.0/src/xine-engine/audio_out.c
-===================================================================
---- xine-lib-1.0.orig/src/xine-engine/audio_out.c 2004-12-19 21:24:30.000000000 +0100
-+++ xine-lib-1.0/src/xine-engine/audio_out.c 2005-02-16 22:19:25.836765770 +0100
-@@ -95,10 +95,10 @@
- #include "metronom.h"
-
-
--#define NUM_AUDIO_BUFFERS 32
--#define AUDIO_BUF_SIZE 32768
-+#define NUM_AUDIO_BUFFERS 16
-+#define AUDIO_BUF_SIZE 8192
-
--#define ZERO_BUF_SIZE 5000
-+#define ZERO_BUF_SIZE 2048
-
- /* By adding gap errors (difference between reported and expected
- * sound card clock) into metronom's vpts_offset we can use its
-Index: xine-lib-1.0/src/xine-engine/video_decoder.c
-===================================================================
---- xine-lib-1.0.orig/src/xine-engine/video_decoder.c 2004-12-16 14:59:06.000000000 +0100
-+++ xine-lib-1.0/src/xine-engine/video_decoder.c 2005-02-16 22:20:47.104487350 +0100
-@@ -479,7 +479,7 @@
-
- num_buffers = stream->xine->config->register_num (stream->xine->config,
- "engine.buffers.video_num_buffers",
-- 500,
-+ 250,
- _("number of video buffers"),
- _("The number of video buffers (each is 8k in size) "
- "xine uses in its internal queue. Higher values "
-@@ -487,7 +487,7 @@
- "also increased latency and memory consumption."),
- 20, NULL, NULL);
-
-- stream->video_fifo = _x_fifo_buffer_new (num_buffers, 8192);
-+ stream->video_fifo = _x_fifo_buffer_new (num_buffers, 4096);
- stream->spu_track_map_entries = 0;
-
- pthread_attr_init(&pth_attrs);
-Index: xine-lib-1.0/src/xine-engine/video_overlay.h
-===================================================================
---- xine-lib-1.0.orig/src/xine-engine/video_overlay.h 2004-12-08 19:18:24.000000000 +0100
-+++ xine-lib-1.0/src/xine-engine/video_overlay.h 2005-02-16 22:19:25.837765631 +0100
-@@ -36,7 +36,7 @@
- #define CLUT_Y_CR_CB_INIT(_y,_cr,_cb) { (_cb), (_cr), (_y) }
- #endif
-
--#define MAX_OBJECTS 50
-+#define MAX_OBJECTS 5
- #define MAX_EVENTS 50
- #define MAX_SHOWING 16
-
-Index: xine-lib-1.0/src/xine-engine/audio_decoder.c
-===================================================================
---- xine-lib-1.0.orig/src/xine-engine/audio_decoder.c 2004-12-16 14:59:06.000000000 +0100
-+++ xine-lib-1.0/src/xine-engine/audio_decoder.c 2005-02-16 22:21:42.846730591 +0100
-@@ -462,7 +462,7 @@
-
- num_buffers = stream->xine->config->register_num (stream->xine->config,
- "engine.buffers.audio_num_buffers",
-- 230,
-+ 100,
- _("number of audio buffers"),
- _("The number of audio buffers (each is 8k in size) "
- "xine uses in its internal queue. Higher values "
diff --git a/recipes/libxine/files/libxine-ffmpeg-enable-arm.patch b/recipes/libxine/files/libxine-ffmpeg-enable-arm.patch
deleted file mode 100644
index f89d2baa4e..0000000000
--- a/recipes/libxine/files/libxine-ffmpeg-enable-arm.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- xine-lib-1-rc7/src/libffmpeg/libavcodec/armv4l/Makefile.am~libxine-ffmpeg-enable-arm
-+++ xine-lib-1-rc7/src/libffmpeg/libavcodec/armv4l/Makefile.am
-@@ -9,9 +9,8 @@
- libavcodec_armv4l_dummy = libavcodec_armv4l_dummy.c
- EXTRA_DIST = $(libavcodec_armv4l_src) $(libavcodec_armv4l_dummy)
-
--#if HAVE_ARMV4L
--#armv4l_modules = $(libavcodec_armv4l_src)
--#endif
--armv4l_modules =
-+if HAVE_ARMV4L
-+armv4l_modules = $(libavcodec_armv4l_src)
-+endif
-
- libavcodec_armv4l_la_SOURCES = $(armv4l_modules) $(libavcodec_armv4l_dummy)
diff --git a/recipes/libxine/files/libxine-gcc4.patch b/recipes/libxine/files/libxine-gcc4.patch
deleted file mode 100644
index 0a370b9579..0000000000
--- a/recipes/libxine/files/libxine-gcc4.patch
+++ /dev/null
@@ -1,138 +0,0 @@
---- xine-lib-1.0.orig/src/xine-engine/post.c 2004-10-17 22:14:30.000000000 +0300
-+++ xine-lib-1.0/src/xine-engine/post.c 2006-02-09 22:15:08.000000000 +0200
-@@ -241,7 +241,7 @@
- if (!*input) return port;
- (*input)->xine_in.name = "video in";
- (*input)->xine_in.type = XINE_POST_DATA_VIDEO;
-- (xine_video_port_t *)(*input)->xine_in.data = &port->new_port;
-+ (*input)->xine_in.data = &port->new_port;
- (*input)->post = post;
- xine_list_append_content(post->input, *input);
- }
-@@ -251,7 +251,7 @@
- if (!*output) return port;
- (*output)->xine_out.name = "video out";
- (*output)->xine_out.type = XINE_POST_DATA_VIDEO;
-- (xine_video_port_t **)(*output)->xine_out.data = &port->original_port;
-+ (*output)->xine_out.data = &port->original_port;
- (*output)->xine_out.rewire = post_video_rewire;
- (*output)->post = post;
- (*output)->user_data = port;
-@@ -718,7 +718,7 @@
- if (!*input) return port;
- (*input)->xine_in.name = "audio in";
- (*input)->xine_in.type = XINE_POST_DATA_AUDIO;
-- (xine_audio_port_t *)(*input)->xine_in.data = &port->new_port;
-+ (*input)->xine_in.data = &port->new_port;
- (*input)->post = post;
- xine_list_append_content(post->input, *input);
- }
-@@ -728,7 +728,7 @@
- if (!*output) return port;
- (*output)->xine_out.name = "audio out";
- (*output)->xine_out.type = XINE_POST_DATA_AUDIO;
-- (xine_audio_port_t **)(*output)->xine_out.data = &port->original_port;
-+ (*output)->xine_out.data = &port->original_port;
- (*output)->xine_out.rewire = post_audio_rewire;
- (*output)->post = post;
- (*output)->user_data = port;
---- xine-lib-1.0.orig/src/xine-utils/color.c 2003-12-09 02:02:38.000000000 +0200
-+++ xine-lib-1.0/src/xine-utils/color.c 2006-02-09 22:13:36.000000000 +0200
-@@ -495,8 +495,10 @@
-
- /* process blocks of 4 pixels */
- for (x=0; x < (width / 4); x++) {
-- n1 = *(((unsigned int *) src1)++);
-- n2 = *(((unsigned int *) src2)++);
-+ n1 = *((unsigned int *) src1);
-+ src1+=sizeof(unsigned int);
-+ n2 = *((unsigned int *) src2);
-+ src2+=sizeof(unsigned int);
- n3 = (n1 & 0xFF00FF00) >> 8;
- n4 = (n2 & 0xFF00FF00) >> 8;
- n1 &= 0x00FF00FF;
---- xine-lib-1.0.orig/src/libffmpeg/libavcodec/avcodec.h 2004-05-30 22:24:19.000000000 +0300
-+++ xine-lib-1.0/src/libffmpeg/libavcodec/avcodec.h 2006-02-09 22:33:27.000000000 +0200
-@@ -1639,6 +1639,13 @@
- #define FF_OPT_MAX_DEPTH 10
- } AVOption;
-
-+#ifdef HAVE_MMX
-+extern const struct AVOption avoptions_common[3 + 5];
-+#else
-+extern const struct AVOption avoptions_common[3];
-+#endif
-+extern const struct AVOption avoptions_workaround_bug[11];
-+
- /**
- * Parse option(s) and sets fields in passed structure
- * @param strct structure where the parsed results will be written
---- xine-lib-1.0.orig/src/libffmpeg/libavcodec/common.h 2004-05-30 22:24:19.000000000 +0300
-+++ xine-lib-1.0/src/libffmpeg/libavcodec/common.h 2006-02-09 22:32:56.000000000 +0200
-@@ -66,13 +66,13 @@
- #define AVOPTION_SUB(ptr) { .name = NULL, .help = (const char*)ptr }
- #define AVOPTION_END() AVOPTION_SUB(NULL)
-
--struct AVOption;
-+/*struct AVOption;
- #ifdef HAVE_MMX
- extern const struct AVOption avoptions_common[3 + 5];
- #else
- extern const struct AVOption avoptions_common[3];
- #endif
--extern const struct AVOption avoptions_workaround_bug[11];
-+extern const struct AVOption avoptions_workaround_bug[11];*/
-
- #endif /* HAVE_AV_CONFIG_H */
-
---- xine-lib-1.0.orig/src/libffmpeg/libavcodec/mpegvideo.h 2004-05-30 22:24:22.000000000 +0300
-+++ xine-lib-1.0/src/libffmpeg/libavcodec/mpegvideo.h 2006-02-09 22:35:54.000000000 +0200
-@@ -904,7 +904,7 @@
- int ff_h263_resync(MpegEncContext *s);
- int ff_h263_get_gob_height(MpegEncContext *s);
- int ff_mpeg4_set_direct_mv(MpegEncContext *s, int mx, int my);
--int ff_h263_round_chroma(int x);
-+/*int ff_h263_round_chroma(int x);*/
- void ff_h263_encode_motion(MpegEncContext * s, int val, int f_code);
- int ff_mpeg4_find_frame_end(ParseContext *pc, const uint8_t *buf, int buf_size);
-
---- xine-lib-1.0.orig/src/libxineadec/nosefart/nes_apu.c 2004-12-12 08:55:59.000000000 +0200
-+++ xine-lib-1.0/src/libxineadec/nosefart/nes_apu.c 2006-02-11 22:42:29.000000000 +0200
-@@ -1012,9 +1012,15 @@
-
- /* signed 16-bit output, unsigned 8-bit */
- if (16 == apu->sample_bits)
-- *((int16 *) buffer)++ = (int16) accum;
-+ {
-+ *((int16 *) buffer) = (int16) accum;
-+ buffer=((int16 *)buffer)+1;
-+ }
- else
-- *((uint8 *) buffer)++ = (accum >> 8) ^ 0x80;
-+ {
-+ *((uint8 *) buffer) = (accum >> 8) ^ 0x80;
-+ buffer=((int8 *)buffer)+1;
-+ }
- }
-
- /* resync cycle counter */
---- xine-lib-1.0.orig/src/post/audio/stretch.c 2004-10-30 02:11:38.000000000 +0300
-+++ xine-lib-1.0/src/post/audio/stretch.c 2006-02-11 22:45:14.000000000 +0200
-@@ -476,7 +476,7 @@
- memcpy( outbuf->mem, data_out,
- outbuf->num_frames * this->bytes_per_frame );
- num_frames_out -= outbuf->num_frames;
-- (uint8_t *)data_out += outbuf->num_frames * this->bytes_per_frame;
-+ data_out = (uint8_t *)data_out + outbuf->num_frames * this->bytes_per_frame;
-
- outbuf->vpts = this->pts;
- this->pts = 0;
-@@ -587,7 +587,7 @@
- memcpy( (uint8_t *)this->audiofrag + this->num_frames * this->bytes_per_frame,
- data_in, frames_to_copy * this->bytes_per_frame );
-
-- (uint8_t *)data_in += frames_to_copy * this->bytes_per_frame;
-+ data_in = (uint8_t *)data_in + frames_to_copy * this->bytes_per_frame;
- this->num_frames += frames_to_copy;
- buf->num_frames -= frames_to_copy;
-
diff --git a/recipes/libxine/files/libxine-libavcodec.patch b/recipes/libxine/files/libxine-libavcodec.patch
deleted file mode 100644
index 6dde9913c8..0000000000
--- a/recipes/libxine/files/libxine-libavcodec.patch
+++ /dev/null
@@ -1,926 +0,0 @@
-TO be MERGED!!!
-
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- xine-lib-1-rc7/src/libffmpeg/libavcodec/Makefile.am~libxine-libavcodec
-+++ xine-lib-1-rc7/src/libffmpeg/libavcodec/Makefile.am
-@@ -9,9 +9,14 @@
- # we need to compile everything in debug mode, including the encoders,
- # otherwise we get unresolved symbols, because some unsatisfied function calls
- # are not optimized away with debug optimization
--AM_CFLAGS = $(LIBFFMPEG_CFLAGS) `test "$(CFLAGS)" = "$(DEBUG_CFLAGS)" && echo -DCONFIG_ENCODERS`
-+#AM_CFLAGS = $(LIBFFMPEG_CFLAGS) `test "$(CFLAGS)" = "$(DEBUG_CFLAGS)" && echo -DCONFIG_ENCODERS`
- ASFLAGS =
-
-+if HAVE_ARMV4L
-+AM_CFLAGS = -DARCH_ARMV4L $(LIBFFMPEG_CFLAGS)
-+else
-+AM_CFLAGS = $(LIBFFMPEG_CFLAGS)
-+endif
- noinst_LTLIBRARIES = libavcodec.la
-
- libavcodec_la_SOURCES = \
---- xine-lib-1-rc7/src/libffmpeg/libavcodec/dsputil.h~libxine-libavcodec
-+++ xine-lib-1-rc7/src/libffmpeg/libavcodec/dsputil.h
-@@ -45,6 +45,7 @@
- void ff_fdct248_islow (DCTELEM *data);
-
- void j_rev_dct (DCTELEM *data);
-+void j_rev_dct_ARM ( DCTELEM *data );
-
- void ff_fdct_mmx(DCTELEM *block);
- void ff_fdct_mmx2(DCTELEM *block);
---- xine-lib-1-rc7/src/libffmpeg/libavcodec/mpegvideo.c~libxine-libavcodec
-+++ xine-lib-1-rc7/src/libffmpeg/libavcodec/mpegvideo.c
-@@ -218,6 +218,25 @@
- }
- #endif //CONFIG_ENCODERS
-
-+
-+#ifdef ARCH_ARMV4L
-+
-+static void ff_jref_idct_put_armv4l(UINT8 *dest, int line_size, DCTELEM *block)
-+{
-+// fprintf(stderr, "src/libffmpeg/libavcodec/mpegvideo.c : ff_jref_idct_put_armv4l utilisant l'iDCT ARMv4l en ASM\n");
-+ j_rev_dct_ARM (block);
-+ ff_put_pixels_clamped(block, dest, line_size);
-+}
-+static void ff_jref_idct_add_armv4l(UINT8 *dest, int line_size, DCTELEM *block)
-+{
-+// fprintf(stderr, "src/libffmpeg/libavcodec/mpegvideo.c : ff_jref_idct_add_armv4l utilisant l'iDCT ARMv4l en ASM\n");
-+ j_rev_dct_ARM (block);
-+ ff_add_pixels_clamped(block, dest, line_size);
-+}
-+
-+#endif
-+
-+
- /* init common dct for both encoder and decoder */
- int DCT_common_init(MpegEncContext *s)
- {
-@@ -246,7 +265,11 @@
- MPV_common_init_mmi(s);
- #endif
- #ifdef ARCH_ARMV4L
-- MPV_common_init_armv4l(s);
-+/* MPV_common_init_armv4l(s); */
-+/* Methode bourrine, mais bon, c'est pour pas trop se prendre la tete a tout changer ce soir, a ameliorer plus tard*/
-+ s->idct_put= ff_jref_idct_put_armv4l;
-+ s->idct_add= ff_jref_idct_add_armv4l;
-+ s->idct_permutation_type= FF_NO_IDCT_PERM;
- #endif
- #ifdef ARCH_POWERPC
- MPV_common_init_ppc(s);
---- xine-lib-1-rc7/src/libffmpeg/libavcodec/armv4l/jrevdct_arm.S~libxine-libavcodec
-+++ xine-lib-1-rc7/src/libffmpeg/libavcodec/armv4l/jrevdct_arm.S
-@@ -1,386 +1,491 @@
- /*
-- C-like prototype :
-- void j_rev_dct_ARM(DCTBLOCK data)
-+ * jrevdct_arm.S
-+ * Copyright (C) 2002 Frederic 'dilb' Boulay.
-+ * All Rights Reserved.
-+ *
-+ * Author: Frederic Boulay <dilb@handhelds.org>
-+ *
-+ * you can redistribute this file and/or modify
-+ * it under the terms of the GNU General Public License (version 2)
-+ * as published by the Free Software Foundation.
-+ *
-+ * This file 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
-+ *
-+ *
-+ * The function defined in this file, is derived from the simple_idct function from
-+ * the libavcodec library part of the ffmpeg project.
-+ */
-
-- With DCTBLOCK being a pointer to an array of 64 'signed shorts'
-
-- Copyright (c) 2001 Lionel Ulmer (lionel.ulmer@free.fr / bbrox@bbrox.org)
-
-- Permission is hereby granted, free of charge, to any person obtaining a copy
-- of this software and associated documentation files (the "Software"), to deal
-- in the Software without restriction, including without limitation the rights
-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-- copies of the Software, and to permit persons to whom the Software is
-- furnished to do so, subject to the following conditions:
-
-- The above copyright notice and this permission notice shall be included in
-- all copies or substantial portions of the Software.
-+/* useful constants for the algorithm, they are save in __constant_ptr__ at the end of the source code.*/
-+#define W1 22725
-+#define W2 21407
-+#define W3 19266
-+#define W4 16383
-+#define W5 12873
-+#define W6 8867
-+#define W7 4520
-+#define MASK_MSHW 0xFFFF0000
-+
-+/* offsets of the constants in the vector*/
-+#define offW1 0
-+#define offW2 4
-+#define offW3 8
-+#define offW4 12
-+#define offW5 16
-+#define offW6 20
-+#define offW7 24
-+#define offMASK_MSHW 28
-+
-+#define ROW_SHIFT 11
-+#define ROW_SHIFT2MSHW (16-11)
-+#define COL_SHIFT 20
-+#define ROW_SHIFTED_1 1024 /* 1<< (ROW_SHIFT-1)*/
-+#define COL_SHIFTED_1 524288 /* 1<< (COL_SHIFT-1)*/
-+
-
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-- COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-- IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--
--*/
--#define FIX_0_298631336 2446
--#define FIX_0_541196100 4433
--#define FIX_0_765366865 6270
--#define FIX_1_175875602 9633
--#define FIX_1_501321110 12299
--#define FIX_2_053119869 16819
--#define FIX_3_072711026 25172
--#define FIX_M_0_390180644 -3196
--#define FIX_M_0_899976223 -7373
--#define FIX_M_1_847759065 -15137
--#define FIX_M_1_961570560 -16069
--#define FIX_M_2_562915447 -20995
--#define FIX_0xFFFF 0xFFFF
--
--#define FIX_0_298631336_ID 0
--#define FIX_0_541196100_ID 4
--#define FIX_0_765366865_ID 8
--#define FIX_1_175875602_ID 12
--#define FIX_1_501321110_ID 16
--#define FIX_2_053119869_ID 20
--#define FIX_3_072711026_ID 24
--#define FIX_M_0_390180644_ID 28
--#define FIX_M_0_899976223_ID 32
--#define FIX_M_1_847759065_ID 36
--#define FIX_M_1_961570560_ID 40
--#define FIX_M_2_562915447_ID 44
--#define FIX_0xFFFF_ID 48
- .text
- .align
--
- .global j_rev_dct_ARM
-+
- j_rev_dct_ARM:
-- stmdb sp!, { r4 - r12, lr } @ all callee saved regs
-+simple_idct3:
-+simple_idct_ARM:
-+ @@ void simple_idct_ARM(int16_t *block)
-+ @@ save stack for reg needed (take all of them),
-+ @@ R0-R3 are scratch regs, so no need to save them, but R0 contains the pointer to block
-+ @@ so it must not be overwritten, if it is not saved!!
-+ @@ R12 is another scratch register, so it should not be saved too
-+ @@ save all registers
-+ stmfd sp!, {r4-r11, r14} @ R14 is also called LR
-+ @@ at this point, R0=block, other registers are free.
-+ add r14, r0, #112 @ R14=&block[8*7], better start from the last row, and decrease the value until row=0, i.e. R12=block.
-+ add r12, pc, #(__constant_ptr__-.-8) @ R12=__constant_ptr__, the vector containing the constants, probably not necessary to reserve a register for it
-+ @@ add 2 temporary variables in the stack: R0 and R14
-+ sub sp, sp, #8 @ allow 2 local variables
-+ str r0, [sp, #0] @ save block in sp[0]
-+ @@ stack status
-+ @@ sp+4 free
-+ @@ sp+0 R0 (block)
-
-- sub sp, sp, #4 @ reserve some space on the stack
-- str r0, [ sp ] @ save the DCT pointer to the stack
-
-- mov lr, r0 @ lr = pointer to the current row
-- mov r12, #8 @ r12 = row-counter
-- add r11, pc, #(const_array-.-8) @ r11 = base pointer to the constants array
--row_loop:
-- ldrsh r0, [lr, # 0] @ r0 = 'd0'
-- ldrsh r1, [lr, # 8] @ r1 = 'd1'
-+ @@ at this point, R0=block, R14=&block[56], R12=__const_ptr_, R1-R11 free
-
-- @ Optimization for row that have all items except the first set to 0
-- @ (this works as the DCTELEMS are always 4-byte aligned)
-- ldr r5, [lr, # 0]
-- ldr r2, [lr, # 4]
-- ldr r3, [lr, # 8]
-- ldr r4, [lr, #12]
-- orr r3, r3, r4
-- orr r3, r3, r2
-- orrs r5, r3, r5
-- beq end_of_row_loop @ nothing to be done as ALL of them are '0'
-- orrs r2, r3, r1
-- beq empty_row
--
-- ldrsh r2, [lr, # 2] @ r2 = 'd2'
-- ldrsh r4, [lr, # 4] @ r4 = 'd4'
-- ldrsh r6, [lr, # 6] @ r6 = 'd6'
--
-- ldr r3, [r11, #FIX_0_541196100_ID]
-- add r7, r2, r6
-- ldr r5, [r11, #FIX_M_1_847759065_ID]
-- mul r7, r3, r7 @ r7 = z1
-- ldr r3, [r11, #FIX_0_765366865_ID]
-- mla r6, r5, r6, r7 @ r6 = tmp2
-- add r5, r0, r4 @ r5 = tmp0
-- mla r2, r3, r2, r7 @ r2 = tmp3
-- sub r3, r0, r4 @ r3 = tmp1
-
-- add r0, r2, r5, lsl #13 @ r0 = tmp10
-- rsb r2, r2, r5, lsl #13 @ r2 = tmp13
-- add r4, r6, r3, lsl #13 @ r4 = tmp11
-- rsb r3, r6, r3, lsl #13 @ r3 = tmp12
-+__row_loop:
-+ @@ read the row and check if it is null, almost null, or not, according to strongarm specs, it is not necessary to optimise ldr accesses (i.e. split 32bits in 2 16bits words), at least it gives more usable registers :)
-+ ldr r1, [r14, #0] @ R1=(int32)(R12)[0]=ROWr32[0] (relative row cast to a 32b pointer)
-+ ldr r2, [r14, #4] @ R2=(int32)(R12)[1]=ROWr32[1]
-+ ldr r3, [r14, #8] @ R3=ROWr32[2]
-+ ldr r4, [r14, #12] @ R4=ROWr32[3]
-+ @@ check if the words are null, if all of them are null, then proceed with next row (branch __end_row_loop),
-+ @@ if ROWr16[0] is the only one not null, then proceed with this special case (branch __almost_empty_row)
-+ @@ else follow the complete algorithm.
-+ @@ at this point, R0=block, R14=&block[n], R12=__const_ptr_, R1=ROWr32[0], R2=ROWr32[1],
-+ @@ R3=ROWr32[2], R4=ROWr32[3], R5-R11 free
-+ orr r5, r4, r3 @ R5=R4 | R3
-+ orr r5, r5, r2 @ R5=R4 | R3 | R2
-+ orrs r6, r5, r1 @ Test R5 | R1 (the aim is to check if everything is null)
-+ beq __end_row_loop
-+ mov r7, r1, asr #16 @ R7=R1>>16=ROWr16[1] (evaluate it now, as it could be useful later)
-+ ldrsh r6, [r14, #0] @ R6=ROWr16[0]
-+ orrs r5, r5, r7 @ R5=R4 | R3 | R2 | R7
-+ beq __almost_empty_row
-
-- stmdb sp!, { r0, r2, r3, r4 } @ save on the stack tmp10, tmp13, tmp12, tmp11
--
-- ldrsh r3, [lr, #10] @ r3 = 'd3'
-- ldrsh r5, [lr, #12] @ r5 = 'd5'
-- ldrsh r7, [lr, #14] @ r7 = 'd7'
-+__b_evaluation:
-+ @@ at this point, R0=block (temp), R1(free), R2=ROWr32[1], R3=ROWr32[2], R4=ROWr32[3],
-+ @@ R5=(temp), R6=ROWr16[0], R7=ROWr16[1], R8-R11 free,
-+ @@ R12=__const_ptr_, R14=&block[n]
-+ @@ to save some registers/calls, proceed with b0-b3 first, followed by a0-a3
-
-- add r0, r3, r5 @ r0 = 'z2'
-- add r2, r1, r7 @ r2 = 'z1'
-- add r4, r3, r7 @ r4 = 'z3'
-- add r6, r1, r5 @ r6 = 'z4'
-- ldr r9, [r11, #FIX_1_175875602_ID]
-- add r8, r4, r6 @ r8 = z3 + z4
-- ldr r10, [r11, #FIX_M_0_899976223_ID]
-- mul r8, r9, r8 @ r8 = 'z5'
-- ldr r9, [r11, #FIX_M_2_562915447_ID]
-- mul r2, r10, r2 @ r2 = 'z1'
-- ldr r10, [r11, #FIX_M_1_961570560_ID]
-- mul r0, r9, r0 @ r0 = 'z2'
-- ldr r9, [r11, #FIX_M_0_390180644_ID]
-- mla r4, r10, r4, r8 @ r4 = 'z3'
-- ldr r10, [r11, #FIX_0_298631336_ID]
-- mla r6, r9, r6, r8 @ r6 = 'z4'
-- ldr r9, [r11, #FIX_2_053119869_ID]
-- mla r7, r10, r7, r2 @ r7 = tmp0 + z1
-- ldr r10, [r11, #FIX_3_072711026_ID]
-- mla r5, r9, r5, r0 @ r5 = tmp1 + z2
-- ldr r9, [r11, #FIX_1_501321110_ID]
-- mla r3, r10, r3, r0 @ r3 = tmp2 + z2
-- add r7, r7, r4 @ r7 = tmp0
-- mla r1, r9, r1, r2 @ r1 = tmp3 + z1
-- add r5, r5, r6 @ r5 = tmp1
-- add r3, r3, r4 @ r3 = tmp2
-- add r1, r1, r6 @ r1 = tmp3
-+ @@ MUL16(b0, W1, row[1]);
-+ @@ MUL16(b1, W3, row[1]);
-+ @@ MUL16(b2, W5, row[1]);
-+ @@ MUL16(b3, W7, row[1]);
-+ @@ MAC16(b0, W3, row[3]);
-+ @@ MAC16(b1, -W7, row[3]);
-+ @@ MAC16(b2, -W1, row[3]);
-+ @@ MAC16(b3, -W5, row[3]);
-+ ldr r8, [r12, #offW1] @ R8=W1
-+ mov r2, r2, asr #16 @ R2=ROWr16[3]
-+ mul r0, r8, r7 @ R0=W1*ROWr16[1]=b0 (ROWr16[1] must be the second arg, to have the possibility to save 1 cycle)
-+ ldr r9, [r12, #offW3] @ R9=W3
-+ ldr r10, [r12, #offW5] @ R10=W5
-+ mul r1, r9, r7 @ R1=W3*ROWr16[1]=b1 (ROWr16[1] must be the second arg, to have the possibility to save 1 cycle)
-+ ldr r11, [r12, #offW7] @ R11=W7
-+ mul r5, r10, r7 @ R5=W5*ROWr16[1]=b2 (ROWr16[1] must be the second arg, to have the possibility to save 1 cycle)
-+ mul r7, r11, r7 @ R7=W7*ROWr16[1]=b3 (ROWr16[1] must be the second arg, to have the possibility to save 1 cycle)
-+ teq r2, #0 @ if null avoid muls
-+ mlane r0, r9, r2, r0 @ R0+=W3*ROWr16[3]=b0 (ROWr16[3] must be the second arg, to have the possibility to save 1 cycle)
-+ rsbne r2, r2, #0 @ R2=-ROWr16[3]
-+ mlane r1, r11, r2, r1 @ R1-=W7*ROWr16[3]=b1 (ROWr16[3] must be the second arg, to have the possibility to save 1 cycle)
-+ mlane r5, r8, r2, r5 @ R5-=W1*ROWr16[3]=b2 (ROWr16[3] must be the second arg, to have the possibility to save 1 cycle)
-+ mlane r7, r10, r2, r7 @ R7-=W5*ROWr16[3]=b3 (ROWr16[3] must be the second arg, to have the possibility to save 1 cycle)
-
-- ldmia sp!, { r0, r2, r4, r6 } @ r0 = tmp10 / r2 = tmp13 / r4 = tmp12 / r6 = tmp11
-- @ r1 = tmp3 / r3 = tmp2 / r5 = tmp1 / r7 = tmp0
--
-- @ Compute DESCALE(tmp10 + tmp3, CONST_BITS-PASS1_BITS)
-- add r8, r0, r1
-- add r8, r8, #(1<<10)
-- mov r8, r8, asr #11
-- strh r8, [lr, # 0]
--
-- @ Compute DESCALE(tmp10 - tmp3, CONST_BITS-PASS1_BITS)
-- sub r8, r0, r1
-- add r8, r8, #(1<<10)
-- mov r8, r8, asr #11
-- strh r8, [lr, #14]
--
-- @ Compute DESCALE(tmp11 + tmp2, CONST_BITS-PASS1_BITS)
-- add r8, r6, r3
-- add r8, r8, #(1<<10)
-- mov r8, r8, asr #11
-- strh r8, [lr, # 2]
--
-- @ Compute DESCALE(tmp11 - tmp2, CONST_BITS-PASS1_BITS)
-- sub r8, r6, r3
-- add r8, r8, #(1<<10)
-- mov r8, r8, asr #11
-- strh r8, [lr, #12]
--
-- @ Compute DESCALE(tmp12 + tmp1, CONST_BITS-PASS1_BITS)
-- add r8, r4, r5
-- add r8, r8, #(1<<10)
-- mov r8, r8, asr #11
-- strh r8, [lr, # 4]
--
-- @ Compute DESCALE(tmp12 - tmp1, CONST_BITS-PASS1_BITS)
-- sub r8, r4, r5
-- add r8, r8, #(1<<10)
-- mov r8, r8, asr #11
-- strh r8, [lr, #10]
--
-- @ Compute DESCALE(tmp13 + tmp0, CONST_BITS-PASS1_BITS)
-- add r8, r2, r7
-- add r8, r8, #(1<<10)
-- mov r8, r8, asr #11
-- strh r8, [lr, # 6]
--
-- @ Compute DESCALE(tmp13 - tmp0, CONST_BITS-PASS1_BITS)
-- sub r8, r2, r7
-- add r8, r8, #(1<<10)
-- mov r8, r8, asr #11
-- strh r8, [lr, # 8]
-+ @@ at this point, R0=b0, R1=b1, R2 (free), R3=ROWr32[2], R4=ROWr32[3],
-+ @@ R5=b2, R6=ROWr16[0], R7=b3, R8=W1, R9=W3, R10=W5, R11=W7,
-+ @@ R12=__const_ptr_, R14=&block[n]
-+ @@ temp = ((uint32_t*)row)[2] | ((uint32_t*)row)[3];
-+ @@ if (temp != 0) {}
-+ orrs r2, r3, r4 @ R2=ROWr32[2] | ROWr32[3]
-+ beq __end_b_evaluation
-
-- @ End of row loop
-- add lr, lr, #16
-- subs r12, r12, #1
-- bne row_loop
-- beq start_column_loop
--
--empty_row:
-- ldr r1, [r11, #FIX_0xFFFF_ID]
-- mov r0, r0, lsl #2
-- and r0, r0, r1
-- add r0, r0, r0, lsl #16
-- str r0, [lr, # 0]
-- str r0, [lr, # 4]
-- str r0, [lr, # 8]
-- str r0, [lr, #12]
-+ @@ at this point, R0=b0, R1=b1, R2 (free), R3=ROWr32[2], R4=ROWr32[3],
-+ @@ R5=b2, R6=ROWr16[0], R7=b3, R8=W1, R9=W3, R10=W5, R11=W7,
-+ @@ R12=__const_ptr_, R14=&block[n]
-+ @@ MAC16(b0, W5, row[5]);
-+ @@ MAC16(b2, W7, row[5]);
-+ @@ MAC16(b3, W3, row[5]);
-+ @@ MAC16(b1, -W1, row[5]);
-+ @@ MAC16(b0, W7, row[7]);
-+ @@ MAC16(b2, W3, row[7]);
-+ @@ MAC16(b3, -W1, row[7]);
-+ @@ MAC16(b1, -W5, row[7]);
-+ mov r3, r3, asr #16 @ R3=ROWr16[5]
-+ teq r3, #0 @ if null avoid muls
-+ mlane r0, r10, r3, r0 @ R0+=W5*ROWr16[5]=b0
-+ mov r4, r4, asr #16 @ R4=ROWr16[7]
-+ mlane r5, r11, r3, r5 @ R5+=W7*ROWr16[5]=b2
-+ mlane r7, r9, r3, r7 @ R7+=W3*ROWr16[5]=b3
-+ rsbne r3, r3, #0 @ R3=-ROWr16[5]
-+ mlane r1, r8, r3, r1 @ R7-=W1*ROWr16[5]=b1
-+ @@ R3 is free now
-+ teq r4, #0 @ if null avoid muls
-+ mlane r0, r11, r4, r0 @ R0+=W7*ROWr16[7]=b0
-+ mlane r5, r9, r4, r5 @ R5+=W3*ROWr16[7]=b2
-+ rsbne r4, r4, #0 @ R4=-ROWr16[7]
-+ mlane r7, r8, r4, r7 @ R7-=W1*ROWr16[7]=b3
-+ mlane r1, r10, r4, r1 @ R1-=W5*ROWr16[7]=b1
-+ @@ R4 is free now
-+__end_b_evaluation:
-+ @@ at this point, R0=b0, R1=b1, R2=ROWr32[2] | ROWr32[3] (tmp), R3 (free), R4 (free),
-+ @@ R5=b2, R6=ROWr16[0], R7=b3, R8 (free), R9 (free), R10 (free), R11 (free),
-+ @@ R12=__const_ptr_, R14=&block[n]
-
--end_of_row_loop:
-- @ End of loop
-- add lr, lr, #16
-- subs r12, r12, #1
-- bne row_loop
-+__a_evaluation:
-+ @@ a0 = (W4 * row[0]) + (1 << (ROW_SHIFT - 1));
-+ @@ a1 = a0 + W6 * row[2];
-+ @@ a2 = a0 - W6 * row[2];
-+ @@ a3 = a0 - W2 * row[2];
-+ @@ a0 = a0 + W2 * row[2];
-+ ldr r9, [r12, #offW4] @ R9=W4
-+ mul r6, r9, r6 @ R6=W4*ROWr16[0]
-+ ldr r10, [r12, #offW6] @ R10=W6
-+ ldrsh r4, [r14, #4] @ R4=ROWr16[2] (a3 not defined yet)
-+ add r6, r6, #ROW_SHIFTED_1 @ R6=W4*ROWr16[0] + 1<<(ROW_SHIFT-1) (a0)
-
--start_column_loop:
-- @ Start of column loop
-- ldr lr, [ sp ]
-- mov r12, #8
--column_loop:
-- ldrsh r0, [lr, #( 0*8)] @ r0 = 'd0'
-- ldrsh r2, [lr, #( 4*8)] @ r2 = 'd2'
-- ldrsh r4, [lr, #( 8*8)] @ r4 = 'd4'
-- ldrsh r6, [lr, #(12*8)] @ r6 = 'd6'
-+ mul r11, r10, r4 @ R11=W6*ROWr16[2]
-+ ldr r8, [r12, #offW2] @ R8=W2
-+ sub r3, r6, r11 @ R3=a0-W6*ROWr16[2] (a2)
-+ @@ temp = ((uint32_t*)row)[2] | ((uint32_t*)row)[3];
-+ @@ if (temp != 0) {}
-+ teq r2, #0
-+ beq __end_bef_a_evaluation
-
-- ldr r3, [r11, #FIX_0_541196100_ID]
-- add r1, r2, r6
-- ldr r5, [r11, #FIX_M_1_847759065_ID]
-- mul r1, r3, r1 @ r1 = z1
-- ldr r3, [r11, #FIX_0_765366865_ID]
-- mla r6, r5, r6, r1 @ r6 = tmp2
-- add r5, r0, r4 @ r5 = tmp0
-- mla r2, r3, r2, r1 @ r2 = tmp3
-- sub r3, r0, r4 @ r3 = tmp1
-+ add r2, r6, r11 @ R2=a0+W6*ROWr16[2] (a1)
-+ mul r11, r8, r4 @ R11=W2*ROWr16[2]
-+ sub r4, r6, r11 @ R4=a0-W2*ROWr16[2] (a3)
-+ add r6, r6, r11 @ R6=a0+W2*ROWr16[2] (a0)
-
-- add r0, r2, r5, lsl #13 @ r0 = tmp10
-- rsb r2, r2, r5, lsl #13 @ r2 = tmp13
-- add r4, r6, r3, lsl #13 @ r4 = tmp11
-- rsb r6, r6, r3, lsl #13 @ r6 = tmp12
-
-- ldrsh r1, [lr, #( 2*8)] @ r1 = 'd1'
-- ldrsh r3, [lr, #( 6*8)] @ r3 = 'd3'
-- ldrsh r5, [lr, #(10*8)] @ r5 = 'd5'
-- ldrsh r7, [lr, #(14*8)] @ r7 = 'd7'
-+ @@ at this point, R0=b0, R1=b1, R2=a1, R3=a2, R4=a3,
-+ @@ R5=b2, R6=a0, R7=b3, R8=W2, R9=W4, R10=W6, R11 (free),
-+ @@ R12=__const_ptr_, R14=&block[n]
-
-- @ Check for empty odd column (happens about 20 to 25 % of the time according to my stats)
-- orr r9, r1, r3
-- orr r10, r5, r7
-- orrs r10, r9, r10
-- beq empty_odd_column
-
-- stmdb sp!, { r0, r2, r4, r6 } @ save on the stack tmp10, tmp13, tmp12, tmp11
--
-- add r0, r3, r5 @ r0 = 'z2'
-- add r2, r1, r7 @ r2 = 'z1'
-- add r4, r3, r7 @ r4 = 'z3'
-- add r6, r1, r5 @ r6 = 'z4'
-- ldr r9, [r11, #FIX_1_175875602_ID]
-- add r8, r4, r6
-- ldr r10, [r11, #FIX_M_0_899976223_ID]
-- mul r8, r9, r8 @ r8 = 'z5'
-- ldr r9, [r11, #FIX_M_2_562915447_ID]
-- mul r2, r10, r2 @ r2 = 'z1'
-- ldr r10, [r11, #FIX_M_1_961570560_ID]
-- mul r0, r9, r0 @ r0 = 'z2'
-- ldr r9, [r11, #FIX_M_0_390180644_ID]
-- mla r4, r10, r4, r8 @ r4 = 'z3'
-- ldr r10, [r11, #FIX_0_298631336_ID]
-- mla r6, r9, r6, r8 @ r6 = 'z4'
-- ldr r9, [r11, #FIX_2_053119869_ID]
-- mla r7, r10, r7, r2 @ r7 = tmp0 + z1
-- ldr r10, [r11, #FIX_3_072711026_ID]
-- mla r5, r9, r5, r0 @ r5 = tmp1 + z2
-- ldr r9, [r11, #FIX_1_501321110_ID]
-- mla r3, r10, r3, r0 @ r3 = tmp2 + z2
-- add r7, r7, r4 @ r7 = tmp0
-- mla r1, r9, r1, r2 @ r1 = tmp3 + z1
-- add r5, r5, r6 @ r5 = tmp1
-- add r3, r3, r4 @ r3 = tmp2
-- add r1, r1, r6 @ r1 = tmp3
--
-- ldmia sp!, { r0, r2, r4, r6 } @ r0 = tmp10 / r2 = tmp13 / r4 = tmp11 / r6 = tmp12
-- @ r1 = tmp3 / r3 = tmp2 / r5 = tmp1 / r7 = tmp0
-+ @@ a0 += W4*row[4]
-+ @@ a1 -= W4*row[4]
-+ @@ a2 -= W4*row[4]
-+ @@ a3 += W4*row[4]
-+ ldrsh r11, [r14, #8] @ R11=ROWr16[4]
-+ teq r11, #0 @ if null avoid muls
-+ mulne r11, r9, r11 @ R11=W4*ROWr16[4]
-+ @@ R9 is free now
-+ ldrsh r9, [r14, #12] @ R9=ROWr16[6]
-+ addne r6, r6, r11 @ R6+=W4*ROWr16[4] (a0)
-+ subne r2, r2, r11 @ R2-=W4*ROWr16[4] (a1)
-+ subne r3, r3, r11 @ R3-=W4*ROWr16[4] (a2)
-+ addne r4, r4, r11 @ R4+=W4*ROWr16[4] (a3)
-+ @@ W6 alone is no more useful, save W2*ROWr16[6] in it instead
-+ teq r9, #0 @ if null avoid muls
-+ mulne r11, r10, r9 @ R11=W6*ROWr16[6]
-+ addne r6, r6, r11 @ R6+=W6*ROWr16[6] (a0)
-+ mulne r10, r8, r9 @ R10=W2*ROWr16[6]
-+ @@ a0 += W6*row[6];
-+ @@ a3 -= W6*row[6];
-+ @@ a1 -= W2*row[6];
-+ @@ a2 += W2*row[6];
-+ subne r4, r4, r11 @ R4-=W6*ROWr16[6] (a3)
-+ subne r2, r2, r10 @ R2-=W2*ROWr16[6] (a1)
-+ addne r3, r3, r10 @ R3+=W2*ROWr16[6] (a2)
-
-- @ Compute DESCALE(tmp10 + tmp3, CONST_BITS+PASS1_BITS+3)
-- add r8, r0, r1
-- add r8, r8, #(1<<17)
-- mov r8, r8, asr #18
-- strh r8, [lr, #( 0*8)]
--
-- @ Compute DESCALE(tmp10 - tmp3, CONST_BITS+PASS1_BITS+3)
-- sub r8, r0, r1
-- add r8, r8, #(1<<17)
-- mov r8, r8, asr #18
-- strh r8, [lr, #(14*8)]
--
-- @ Compute DESCALE(tmp11 + tmp2, CONST_BITS+PASS1_BITS+3)
-- add r8, r4, r3
-- add r8, r8, #(1<<17)
-- mov r8, r8, asr #18
-- strh r8, [lr, #( 2*8)]
--
-- @ Compute DESCALE(tmp11 - tmp2, CONST_BITS+PASS1_BITS+3)
-- sub r8, r4, r3
-- add r8, r8, #(1<<17)
-- mov r8, r8, asr #18
-- strh r8, [lr, #(12*8)]
--
-- @ Compute DESCALE(tmp12 + tmp1, CONST_BITS+PASS1_BITS+3)
-- add r8, r6, r5
-- add r8, r8, #(1<<17)
-- mov r8, r8, asr #18
-- strh r8, [lr, #( 4*8)]
--
-- @ Compute DESCALE(tmp12 - tmp1, CONST_BITS+PASS1_BITS+3)
-- sub r8, r6, r5
-- add r8, r8, #(1<<17)
-- mov r8, r8, asr #18
-- strh r8, [lr, #(10*8)]
--
-- @ Compute DESCALE(tmp13 + tmp0, CONST_BITS+PASS1_BITS+3)
-- add r8, r2, r7
-- add r8, r8, #(1<<17)
-- mov r8, r8, asr #18
-- strh r8, [lr, #( 6*8)]
--
-- @ Compute DESCALE(tmp13 - tmp0, CONST_BITS+PASS1_BITS+3)
-- sub r8, r2, r7
-- add r8, r8, #(1<<17)
-- mov r8, r8, asr #18
-- strh r8, [lr, #( 8*8)]
-+__end_a_evaluation:
-+ @@ at this point, R0=b0, R1=b1, R2=a1, R3=a2, R4=a3,
-+ @@ R5=b2, R6=a0, R7=b3, R8 (free), R9 (free), R10 (free), R11 (free),
-+ @@ R12=__const_ptr_, R14=&block[n]
-+ @@ row[0] = (a0 + b0) >> ROW_SHIFT;
-+ @@ row[1] = (a1 + b1) >> ROW_SHIFT;
-+ @@ row[2] = (a2 + b2) >> ROW_SHIFT;
-+ @@ row[3] = (a3 + b3) >> ROW_SHIFT;
-+ @@ row[4] = (a3 - b3) >> ROW_SHIFT;
-+ @@ row[5] = (a2 - b2) >> ROW_SHIFT;
-+ @@ row[6] = (a1 - b1) >> ROW_SHIFT;
-+ @@ row[7] = (a0 - b0) >> ROW_SHIFT;
-+ add r8, r6, r0 @ R8=a0+b0
-+ add r9, r2, r1 @ R9=a1+b1
-+ @@ put 2 16 bits half-words in a 32bits word
-+ @@ ROWr32[0]=ROWr16[0] | (ROWr16[1]<<16) (only Little Endian compliant then!!!)
-+ ldr r10, [r12, #offMASK_MSHW] @ R10=0xFFFF0000
-+ and r9, r10, r9, lsl #ROW_SHIFT2MSHW @ R9=0xFFFF0000 & ((a1+b1)<<5)
-+ mvn r11, r10 @ R11= NOT R10= 0x0000FFFF
-+ and r8, r11, r8, asr #ROW_SHIFT @ R8=0x0000FFFF & ((a0+b0)>>11)
-+ orr r8, r8, r9
-+ str r8, [r14, #0]
-
-- @ End of row loop
-- add lr, lr, #2
-- subs r12, r12, #1
-- bne column_loop
-- beq the_end
--
--empty_odd_column:
-- @ Compute DESCALE(tmp10 + tmp3, CONST_BITS+PASS1_BITS+3)
-- @ Compute DESCALE(tmp10 - tmp3, CONST_BITS+PASS1_BITS+3)
-- add r0, r0, #(1<<17)
-- mov r0, r0, asr #18
-- strh r0, [lr, #( 0*8)]
-- strh r0, [lr, #(14*8)]
--
-- @ Compute DESCALE(tmp11 + tmp2, CONST_BITS+PASS1_BITS+3)
-- @ Compute DESCALE(tmp11 - tmp2, CONST_BITS+PASS1_BITS+3)
-- add r4, r4, #(1<<17)
-- mov r4, r4, asr #18
-- strh r4, [lr, #( 2*8)]
-- strh r4, [lr, #(12*8)]
--
-- @ Compute DESCALE(tmp12 + tmp1, CONST_BITS+PASS1_BITS+3)
-- @ Compute DESCALE(tmp12 - tmp1, CONST_BITS+PASS1_BITS+3)
-- add r6, r6, #(1<<17)
-- mov r6, r6, asr #18
-- strh r6, [lr, #( 4*8)]
-- strh r6, [lr, #(10*8)]
--
-- @ Compute DESCALE(tmp13 + tmp0, CONST_BITS+PASS1_BITS+3)
-- @ Compute DESCALE(tmp13 - tmp0, CONST_BITS+PASS1_BITS+3)
-- add r2, r2, #(1<<17)
-- mov r2, r2, asr #18
-- strh r2, [lr, #( 6*8)]
-- strh r2, [lr, #( 8*8)]
-+ add r8, r3, r5 @ R8=a2+b2
-+ add r9, r4, r7 @ R9=a3+b3
-+ and r9, r10, r9, lsl #ROW_SHIFT2MSHW @ R9=0xFFFF0000 & ((a3+b3)<<5)
-+ and r8, r11, r8, asr #ROW_SHIFT @ R8=0x0000FFFF & ((a2+b2)>>11)
-+ orr r8, r8, r9
-+ str r8, [r14, #4]
-
-- @ End of row loop
-- add lr, lr, #2
-- subs r12, r12, #1
-- bne column_loop
--
--the_end:
-- @ The end....
-- add sp, sp, #4
-- ldmia sp!, { r4 - r12, pc } @ restore callee saved regs and return
-+ sub r8, r4, r7 @ R8=a3-b3
-+ sub r9, r3, r5 @ R9=a2-b2
-+ and r9, r10, r9, lsl #ROW_SHIFT2MSHW @ R9=0xFFFF0000 & ((a2-b2)<<5)
-+ and r8, r11, r8, asr #ROW_SHIFT @ R8=0x0000FFFF & ((a3-b3)>>11)
-+ orr r8, r8, r9
-+ str r8, [r14, #8]
-
--const_array:
-+ sub r8, r2, r1 @ R8=a1-b1
-+ sub r9, r6, r0 @ R9=a0-b0
-+ and r9, r10, r9, lsl #ROW_SHIFT2MSHW @ R9=0xFFFF0000 & ((a0-b0)<<5)
-+ and r8, r11, r8, asr #ROW_SHIFT @ R8=0x0000FFFF & ((a1-b1)>>11)
-+ orr r8, r8, r9
-+ str r8, [r14, #12]
-+
-+ bal __end_row_loop
-+
-+__almost_empty_row:
-+ @@ the row was empty, except ROWr16[0], now, management of this special case
-+ @@ at this point, R0=block, R14=&block[n], R12=__const_ptr_, R1=ROWr32[0], R2=ROWr32[1],
-+ @@ R3=ROWr32[2], R4=ROWr32[3], R5=(temp), R6=ROWr16[0], R7=ROWr16[1],
-+ @@ R8=0xFFFF (temp), R9-R11 free
-+ mov r8, #0x10000 @ R8=0xFFFF (2 steps needed!) it saves a ldr call (because of delay run).
-+ sub r8, r8, #1 @ R8 is now ready.
-+ and r5, r8, r6, lsl #3 @ R5=R8 & (R6<<3)= (ROWr16[0]<<3) & 0xFFFF
-+ orr r5, r5, r5, lsl #16 @ R5=R5 | (R5<<16)
-+ str r5, [r14, #0] @ R14[0]=ROWr32[0]=R5
-+ str r5, [r14, #4] @ R14[4]=ROWr32[1]=R5
-+ str r5, [r14, #8] @ R14[8]=ROWr32[2]=R5
-+ str r5, [r14, #12] @ R14[12]=ROWr32[3]=R5
-+
-+__end_row_loop:
-+ @@ at this point, R0-R11 (free)
-+ @@ R12=__const_ptr_, R14=&block[n]
-+ ldr r0, [sp, #0] @ R0=block
-+ teq r0, r14 @ compare current &block[8*n] to block, when block is reached, the loop is finished.
-+ sub r14, r14, #16
-+ bne __row_loop
-+
-+
-+
-+ @@ at this point, R0=block, R1-R11 (free)
-+ @@ R12=__const_ptr_, R14=&block[n]
-+ add r14, r0, #14 @ R14=&block[7], better start from the last col, and decrease the value until col=0, i.e. R14=block.
-+__col_loop:
-+
-+__b_evaluation2:
-+ @@ at this point, R0=block (temp), R1-R11 (free)
-+ @@ R12=__const_ptr_, R14=&block[n]
-+ @@ proceed with b0-b3 first, followed by a0-a3
-+ @@ MUL16(b0, W1, col[8x1]);
-+ @@ MUL16(b1, W3, col[8x1]);
-+ @@ MUL16(b2, W5, col[8x1]);
-+ @@ MUL16(b3, W7, col[8x1]);
-+ @@ MAC16(b0, W3, col[8x3]);
-+ @@ MAC16(b1, -W7, col[8x3]);
-+ @@ MAC16(b2, -W1, col[8x3]);
-+ @@ MAC16(b3, -W5, col[8x3]);
-+ ldr r8, [r12, #offW1] @ R8=W1
-+ ldrsh r7, [r14, #16]
-+ mul r0, r8, r7 @ R0=W1*ROWr16[1]=b0 (ROWr16[1] must be the second arg, to have the possibility to save 1 cycle)
-+ ldr r9, [r12, #offW3] @ R9=W3
-+ ldr r10, [r12, #offW5] @ R10=W5
-+ mul r1, r9, r7 @ R1=W3*ROWr16[1]=b1 (ROWr16[1] must be the second arg, to have the possibility to save 1 cycle)
-+ ldr r11, [r12, #offW7] @ R11=W7
-+ mul r5, r10, r7 @ R5=W5*ROWr16[1]=b2 (ROWr16[1] must be the second arg, to have the possibility to save 1 cycle)
-+ ldrsh r2, [r14, #48]
-+ mul r7, r11, r7 @ R7=W7*ROWr16[1]=b3 (ROWr16[1] must be the second arg, to have the possibility to save 1 cycle)
-+ teq r2, #0 @ if 0, then avoid muls
-+ mlane r0, r9, r2, r0 @ R0+=W3*ROWr16[3]=b0 (ROWr16[3] must be the second arg, to have the possibility to save 1 cycle)
-+ rsbne r2, r2, #0 @ R2=-ROWr16[3]
-+ mlane r1, r11, r2, r1 @ R1-=W7*ROWr16[3]=b1 (ROWr16[3] must be the second arg, to have the possibility to save 1 cycle)
-+ mlane r5, r8, r2, r5 @ R5-=W1*ROWr16[3]=b2 (ROWr16[3] must be the second arg, to have the possibility to save 1 cycle)
-+ mlane r7, r10, r2, r7 @ R7-=W5*ROWr16[3]=b3 (ROWr16[3] must be the second arg, to have the possibility to save 1 cycle)
-+
-+ @@ at this point, R0=b0, R1=b1, R2 (free), R3 (free), R4 (free),
-+ @@ R5=b2, R6 (free), R7=b3, R8=W1, R9=W3, R10=W5, R11=W7,
-+ @@ R12=__const_ptr_, R14=&block[n]
-+ @@ MAC16(b0, W5, col[5x8]);
-+ @@ MAC16(b2, W7, col[5x8]);
-+ @@ MAC16(b3, W3, col[5x8]);
-+ @@ MAC16(b1, -W1, col[5x8]);
-+ @@ MAC16(b0, W7, col[7x8]);
-+ @@ MAC16(b2, W3, col[7x8]);
-+ @@ MAC16(b3, -W1, col[7x8]);
-+ @@ MAC16(b1, -W5, col[7x8]);
-+ ldrsh r3, [r14, #80] @ R3=COLr16[5x8]
-+ teq r3, #0 @ if 0 then avoid muls
-+ mlane r0, r10, r3, r0 @ R0+=W5*ROWr16[5x8]=b0
-+ mlane r5, r11, r3, r5 @ R5+=W7*ROWr16[5x8]=b2
-+ mlane r7, r9, r3, r7 @ R7+=W3*ROWr16[5x8]=b3
-+ rsbne r3, r3, #0 @ R3=-ROWr16[5x8]
-+ ldrsh r4, [r14, #112] @ R4=COLr16[7x8]
-+ mlane r1, r8, r3, r1 @ R7-=W1*ROWr16[5x8]=b1
-+ @@ R3 is free now
-+ teq r4, #0 @ if 0 then avoid muls
-+ mlane r0, r11, r4, r0 @ R0+=W7*ROWr16[7x8]=b0
-+ mlane r5, r9, r4, r5 @ R5+=W3*ROWr16[7x8]=b2
-+ rsbne r4, r4, #0 @ R4=-ROWr16[7x8]
-+ mlane r7, r8, r4, r7 @ R7-=W1*ROWr16[7x8]=b3
-+ mlane r1, r10, r4, r1 @ R1-=W5*ROWr16[7x8]=b1
-+ @@ R4 is free now
-+__end_b_evaluation2:
-+ @@ at this point, R0=b0, R1=b1, R2 (free), R3 (free), R4 (free),
-+ @@ R5=b2, R6 (free), R7=b3, R8 (free), R9 (free), R10 (free), R11 (free),
-+ @@ R12=__const_ptr_, R14=&block[n]
-+
-+__a_evaluation2:
-+ @@ a0 = (W4 * col[8x0]) + (1 << (COL_SHIFT - 1));
-+ @@ a1 = a0 + W6 * row[2];
-+ @@ a2 = a0 - W6 * row[2];
-+ @@ a3 = a0 - W2 * row[2];
-+ @@ a0 = a0 + W2 * row[2];
-+ ldrsh r6, [r14, #0]
-+ ldr r9, [r12, #offW4] @ R9=W4
-+ mul r6, r9, r6 @ R6=W4*ROWr16[0]
-+ ldr r10, [r12, #offW6] @ R10=W6
-+ ldrsh r4, [r14, #32] @ R4=ROWr16[2] (a3 not defined yet)
-+ add r6, r6, #COL_SHIFTED_1 @ R6=W4*ROWr16[0] + 1<<(COL_SHIFT-1) (a0)
-+ mul r11, r10, r4 @ R11=W6*ROWr16[2]
-+ ldr r8, [r12, #offW2] @ R8=W2
-+ add r2, r6, r11 @ R2=a0+W6*ROWr16[2] (a1)
-+ sub r3, r6, r11 @ R3=a0-W6*ROWr16[2] (a2)
-+ mul r11, r8, r4 @ R11=W2*ROWr16[2]
-+ sub r4, r6, r11 @ R4=a0-W2*ROWr16[2] (a3)
-+ add r6, r6, r11 @ R6=a0+W2*ROWr16[2] (a0)
-+
-+ @@ at this point, R0=b0, R1=b1, R2=a1, R3=a2, R4=a3,
-+ @@ R5=b2, R6=a0, R7=b3, R8=W2, R9=W4, R10=W6, R11 (free),
-+ @@ R12=__const_ptr_, R14=&block[n]
-+ @@ a0 += W4*row[4]
-+ @@ a1 -= W4*row[4]
-+ @@ a2 -= W4*row[4]
-+ @@ a3 += W4*row[4]
-+ ldrsh r11, [r14, #64] @ R11=ROWr16[4]
-+ teq r11, #0 @ if null avoid muls
-+ mulne r11, r9, r11 @ R11=W4*ROWr16[4]
-+ @@ R9 is free now
-+ addne r6, r6, r11 @ R6+=W4*ROWr16[4] (a0)
-+ subne r2, r2, r11 @ R2-=W4*ROWr16[4] (a1)
-+ subne r3, r3, r11 @ R3-=W4*ROWr16[4] (a2)
-+ ldrsh r9, [r14, #96] @ R9=ROWr16[6]
-+ addne r4, r4, r11 @ R4+=W4*ROWr16[4] (a3)
-+ @@ W6 alone is no more useful, save W2*ROWr16[6] in it instead
-+ teq r9, #0 @ if null avoid muls
-+ mulne r11, r10, r9 @ R11=W6*ROWr16[6]
-+ addne r6, r6, r11 @ R6+=W6*ROWr16[6] (a0)
-+ mulne r10, r8, r9 @ R10=W2*ROWr16[6]
-+ @@ a0 += W6*row[6];
-+ @@ a3 -= W6*row[6];
-+ @@ a1 -= W2*row[6];
-+ @@ a2 += W2*row[6];
-+ subne r4, r4, r11 @ R4-=W6*ROWr16[6] (a3)
-+ subne r2, r2, r10 @ R2-=W2*ROWr16[6] (a1)
-+ addne r3, r3, r10 @ R3+=W2*ROWr16[6] (a2)
-+__end_a_evaluation2:
-+ @@ at this point, R0=b0, R1=b1, R2=a1, R3=a2, R4=a3,
-+ @@ R5=b2, R6=a0, R7=b3, R8 (free), R9 (free), R10 (free), R11 (free),
-+ @@ R12=__const_ptr_, R14=&block[n]
-+ @@ col[0 ] = ((a0 + b0) >> COL_SHIFT);
-+ @@ col[8 ] = ((a1 + b1) >> COL_SHIFT);
-+ @@ col[16] = ((a2 + b2) >> COL_SHIFT);
-+ @@ col[24] = ((a3 + b3) >> COL_SHIFT);
-+ @@ col[32] = ((a3 - b3) >> COL_SHIFT);
-+ @@ col[40] = ((a2 - b2) >> COL_SHIFT);
-+ @@ col[48] = ((a1 - b1) >> COL_SHIFT);
-+ @@ col[56] = ((a0 - b0) >> COL_SHIFT);
-+ @@@@@ no optimisation here @@@@@
-+ add r8, r6, r0 @ R8=a0+b0
-+ add r9, r2, r1 @ R9=a1+b1
-+ mov r8, r8, asr #COL_SHIFT
-+ mov r9, r9, asr #COL_SHIFT
-+ strh r8, [r14, #0]
-+ strh r9, [r14, #16]
-+ add r8, r3, r5 @ R8=a2+b2
-+ add r9, r4, r7 @ R9=a3+b3
-+ mov r8, r8, asr #COL_SHIFT
-+ mov r9, r9, asr #COL_SHIFT
-+ strh r8, [r14, #32]
-+ strh r9, [r14, #48]
-+ sub r8, r4, r7 @ R8=a3-b3
-+ sub r9, r3, r5 @ R9=a2-b2
-+ mov r8, r8, asr #COL_SHIFT
-+ mov r9, r9, asr #COL_SHIFT
-+ strh r8, [r14, #64]
-+ strh r9, [r14, #80]
-+ sub r8, r2, r1 @ R8=a1-b1
-+ sub r9, r6, r0 @ R9=a0-b0
-+ mov r8, r8, asr #COL_SHIFT
-+ mov r9, r9, asr #COL_SHIFT
-+ strh r8, [r14, #96]
-+ strh r9, [r14, #112]
-+
-+__end_col_loop:
-+ @@ at this point, R0-R11 (free)
-+ @@ R12=__const_ptr_, R14=&block[n]
-+ ldr r0, [sp, #0] @ R0=block
-+ teq r0, r14 @ compare current &block[n] to block, when block is reached, the loop is finished.
-+ sub r14, r14, #2
-+ bne __col_loop
-+
-+
-+
-+
-+__end_simple_idct_ARM:
-+ @@ restore registers to previous status!
-+ add sp, sp, #8 @@ the local variables!
-+ ldmfd sp!, {r4-r11, r15} @@ update PC with LR content.
-+
-+
-+
-+@@ kind of sub-function, here not to overload the common case.
-+__end_bef_a_evaluation:
-+ add r2, r6, r11 @ R2=a0+W6*ROWr16[2] (a1)
-+ mul r11, r8, r4 @ R11=W2*ROWr16[2]
-+ sub r4, r6, r11 @ R4=a0-W2*ROWr16[2] (a3)
-+ add r6, r6, r11 @ R6=a0+W2*ROWr16[2] (a0)
-+ bal __end_a_evaluation
-+
-+
-+__constant_ptr__: @@ see #defines at the beginning of the source code for values.
- .align
-- .word FIX_0_298631336
-- .word FIX_0_541196100
-- .word FIX_0_765366865
-- .word FIX_1_175875602
-- .word FIX_1_501321110
-- .word FIX_2_053119869
-- .word FIX_3_072711026
-- .word FIX_M_0_390180644
-- .word FIX_M_0_899976223
-- .word FIX_M_1_847759065
-- .word FIX_M_1_961570560
-- .word FIX_M_2_562915447
-- .word FIX_0xFFFF
-+ .word W1
-+ .word W2
-+ .word W3
-+ .word W4
-+ .word W5
-+ .word W6
-+ .word W7
-+ .word MASK_MSHW
-+
-+
diff --git a/recipes/libxine/files/libxine-libvorbis.patch b/recipes/libxine/files/libxine-libvorbis.patch
deleted file mode 100644
index 81bcbd5468..0000000000
--- a/recipes/libxine/files/libxine-libvorbis.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
-Index: xine-lib-1.0/src/libvorbis/xine_decoder.c
-===================================================================
---- xine-lib-1.0.orig/src/libvorbis/xine_decoder.c 2005-02-20 18:21:57.924625900 +0100
-+++ xine-lib-1.0/src/libvorbis/xine_decoder.c 2005-02-20 18:52:02.016033646 +0100
-@@ -40,7 +40,7 @@
- #include "buffer.h"
-
- #include <ogg/ogg.h>
--#include <vorbis/codec.h>
-+#include <tremor/ivorbiscodec.h>
-
- #define MAX_NUM_SAMPLES 4096
-
-@@ -216,7 +216,7 @@
-
- } else if (this->output_open) {
-
-- float **pcm;
-+ int **pcm;
- int samples;
-
- if(vorbis_synthesis(&this->vb,&this->op,1)==0)
-@@ -245,9 +245,9 @@
- interleave */
- for(i=0;i<this->vi.channels;i++){
- ogg_int16_t *ptr=audio_buffer->mem+i;
-- float *mono=pcm[i];
-+ int *mono=pcm[i];
- for(j=0;j<bout;j++){
-- int val=mono[j]*32767.f;
-+ int val=mono[j]>>9;
- /* might as well guard against clipping */
- if(val>32767){
- val=32767;
diff --git a/recipes/libxine/files/libxine-tremor-autoconf.patch b/recipes/libxine/files/libxine-tremor-autoconf.patch
deleted file mode 100644
index bbedc81de3..0000000000
--- a/recipes/libxine/files/libxine-tremor-autoconf.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- xine-lib-1-rc7/m4/vorbis.m4~libxine-tremor-autoconf
-+++ xine-lib-1-rc7/m4/vorbis.m4
-@@ -18,7 +18,7 @@
- VORBIS_LIBDIR="-L$vorbis_prefix/$XINE_LIBNAME"
- fi
-
-- VORBIS_LIBS="$VORBIS_LIBDIR -lvorbis -lm"
-+ VORBIS_LIBS="$VORBIS_LIBDIR -lvorbisidec -lm"
- VORBISFILE_LIBS="-lvorbisfile"
- VORBISENC_LIBS="-lvorbisenc"
-
diff --git a/recipes/libxine/files/mpegvideo-static-inlinine.patch b/recipes/libxine/files/mpegvideo-static-inlinine.patch
deleted file mode 100644
index 81160b1c81..0000000000
--- a/recipes/libxine/files/mpegvideo-static-inlinine.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- xine-lib-1-rc7/src/libffmpeg/libavcodec/mpegvideo.c~mpegvideo-static-inlininf.patch
-+++ xine-lib-1-rc7/src/libffmpeg/libavcodec/mpegvideo.c
-@@ -2757,7 +2757,7 @@
- }
- }
-
--inline int ff_h263_round_chroma(int x){
-+static inline int ff_h263_round_chroma(int x){
- if (x >= 0)
- return (h263_chroma_roundtab[x & 0xf] + ((x >> 3) & ~1));
- else {
diff --git a/recipes/libxine/libxine-1.1.0/configure.patch b/recipes/libxine/libxine-1.1.0/configure.patch
deleted file mode 100644
index a0078a72f3..0000000000
--- a/recipes/libxine/libxine-1.1.0/configure.patch
+++ /dev/null
@@ -1,244 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
-Index: xine-lib-1.1.0/configure.ac
-===================================================================
---- xine-lib-1.1.0.orig/configure.ac 2005-07-21 21:10:10.000000000 +0000
-+++ xine-lib-1.1.0/configure.ac 2006-01-11 14:30:05.965735856 +0000
-@@ -715,6 +715,7 @@
- LIBS="$saved_libs"
- fi
- AM_CONDITIONAL(HAVE_XVMC, test x$ac_have_xvmc = "xyes")
-+AM_CONDITIONAL(HAVE_XV, test x$ac_have_xvfoo = "xyes")
- AC_SUBST(XVMC_LIB)
-
-
-@@ -743,7 +744,7 @@
- AM_PATH_AALIB(1.4,, AC_MSG_RESULT([*** All of AALIB dependent parts will be disabled ***]))
- fi
-
--AM_CONDITIONAL(HAVE_AA, test x$no_aalib != "xyes")
-+AM_CONDITIONAL(HAVE_AA, [test x"$enable_aalib" = "xyes" && test x$no_aalib != "xyes"])
-
- dnl ---------------------------------------------
- dnl Checks for Color AsCii Art library
-@@ -855,10 +856,7 @@
- dnl check for SDL
- dnl ---------------------------------------------
-
--AM_PATH_SDL(1.1.5,
-- AC_DEFINE(HAVE_SDL,1,[Define this if you have SDL library installed]),
-- [])
--AM_CONDITIONAL(HAVE_SDL, [test x"$no_sdl" != x"yes"])
-+AM_CONDITIONAL(HAVE_SDL, 0)
-
-
- dnl ---------------------------------------------
-@@ -1013,48 +1011,22 @@
- dnl Ogg/Theora libs.
- dnl ---------------------------------------------
-
--AM_PATH_OGG(
-- [ AM_PATH_THEORA(AC_DEFINE(HAVE_THEORA,1,[Define this if you have theora]),
-- AC_MSG_RESULT([*** All OGG/THEORA dependent parts will be disabled ***]))
-- ],
-- AC_MSG_RESULT([*** All of OGG/Theora dependent parts will be disabled ***]))
--AM_CONDITIONAL(HAVE_THEORA, [test x"$no_ogg" != "xyes" -a x"$no_theora" != "xyes"])
-+AM_CONDITIONAL(HAVE_THEORA, 0)
-
-
- dnl ---------------------------------------------
- dnl Ogg/Speex libs.
- dnl ---------------------------------------------
-
--PKG_CHECK_MODULES(SPEEX, speex, no_speex="no", no_speex="yes")
--
--if test "x$no_speex" = "xyes" ; then
-- AM_PATH_OGG([ AM_PATH_SPEEX(no_speex="no")])
--fi
--
--if test "x$no_speex" = "xyes" ; then
-- AC_MSG_RESULT([*** All OGG/SPEEX dependent parts will be disabled ***])
--else
-- AC_DEFINE(HAVE_SPEEX,1,[Define this if you have speex])
--
-- dnl Test whether Speex headers are eg. <speex.h> or <speex/speex.h>
-- dnl Speex headers were moved in mid-2004; 1.0.x has backwards compatible headers, 1.1.x does not
-- AC_CHECK_HEADER([speex/speex.h],
-- AC_DEFINE(HAVE_SPEEX_SUBDIR, [1], [Define to 1 if speex headers are eg. <speex/speex.h>])
-- )
--
-- AC_SUBST(SPEEX_CFLAGS)
-- AC_SUBST(SPEEX_LIBS)
--fi
--AM_CONDITIONAL(HAVE_SPEEX, [test x"$no_ogg" != "xyes" -a x"$no_speex" != "xyes"])
-+AM_CONDITIONAL(HAVE_SPEEX, 0)
-
-
- dnl ---------------------------------------------
- dnl check for libFLAC
- dnl ---------------------------------------------
-
--AM_PATH_LIBFLAC([],
-- AC_MSG_RESULT([*** All FLAC dependent parts will be disabled ***]))
--AM_CONDITIONAL(HAVE_FLAC, [test x"$no_libFLAC" != "xyes"])
-+AM_CONDITIONAL(HAVE_FLAC, 0)
-+
-
- dnl ---------------------------------------------
- dnl External version of a52dec
-@@ -1120,13 +1092,8 @@
- dnl MNG libs.
- dnl ---------------------------------------------
-
--AC_CHECK_LIB(mng, mng_initialize,
-- [ AC_CHECK_HEADER(libmng.h,
-- [ have_libmng=yes
-- MNG_LIBS="-lmng" ],
-- AC_MSG_RESULT([*** All libmng dependent parts will be disabled ***]))],
-- AC_MSG_RESULT([*** All libmng dependent parts will be disabled ***]))
--AM_CONDITIONAL(HAVE_LIBMNG, test x"$have_libmng" = "xyes")
-+MNG_LIBS=""
-+AM_CONDITIONAL(HAVE_LIBMNG, 0)
- AC_SUBST(MNG_LIBS)
-
- dnl ---------------------------------------------
-@@ -1134,6 +1101,9 @@
- dnl ---------------------------------------------
-
- AC_PATH_PROG(WAND_CONFIG, Wand-config, no)
-+if ( ! test -f "$WAND_CONFIG" ) && ( ! test -x "$WAND_CONFIG" ) ; then
-+ WAND_CONFIG="no"
-+fi
- if test "$WAND_CONFIG" = "no" ; then
- AC_MSG_RESULT([*** All Imagemagick dependent parts will be disabled, Wand-config not found. ***])
- else
-@@ -1153,7 +1123,7 @@
- dnl freetype2 lib.
- dnl ---------------------------------------------
-
--AM_PATH_FREETYPE2()
-+AM_CONDITIONAL(HAVE_FT2, 0)
-
-
- dnl ---------------------------------------------
-@@ -1196,37 +1166,21 @@
- dnl ESD support
- dnl ---------------------------------------------
-
--AM_PATH_ESD(0.2.8,
-- AC_DEFINE(HAVE_ESD,1,[Define this if you have ESD (libesd) installed]),
-- AC_MSG_RESULT(*** All of ESD dependent parts will be disabled ***))
--AM_CONDITIONAL(HAVE_ESD, test x"$no_esd" != "xyes")
-+AM_CONDITIONAL(HAVE_ESD, 0)
-
-
- dnl ---------------------------------------------
- dnl ARTS support
- dnl ---------------------------------------------
-
--AM_PATH_ARTS(0.9.5,
-- AC_DEFINE(HAVE_ARTS,1,[Define this if you have ARTS (libartsc) installed]),
-- AC_MSG_RESULT(*** All of ARTS dependent parts will be disabled ***))
--AM_CONDITIONAL(HAVE_ARTS, test x"$no_arts" != "xyes")
-+AM_CONDITIONAL(HAVE_ARTS, 0)
-
-
- dnl ---------------------------------------------
- dnl gnome-vfs support
- dnl ---------------------------------------------
-
--PKG_CHECK_MODULES(GNOME_VFS, gnome-vfs-2.0,
-- no_gnome_vfs=no,
-- no_gnome_vfs=yes)
--AC_SUBST(GNOME_VFS_CFLAGS)
--AC_SUBST(GNOME_VFS_LIBS)
--if test x"$no_gnome_vfs" != "xyes"; then
--AC_DEFINE(HAVE_GNOME_VFS,1,[Define this if you have gnome-vfs installed])
--else
--AC_MSG_RESULT(*** All of the gnome-vfs dependent parts will be disabled ***)
--fi
--AM_CONDITIONAL(HAVE_GNOME_VFS, test x"$no_gnome_vfs" != "xyes")
-+AM_CONDITIONAL(HAVE_GNOME_VFS, 0)
-
-
- dnl ---------------------------------------------
-@@ -1403,75 +1357,7 @@
- ],ISOC99_PRAGMA=no)
- AC_MSG_RESULT($ISOC99_PRAGMA)
-
-- dnl
-- dnl bitfield order
-- dnl
-- AC_MSG_CHECKING([bitfield ordering in structs])
--
-- dnl basic compile test for all platforms
-- AC_COMPILE_IFELSE([
--int main() {
-- struct { char bit_0:1, bit_12:2, bit_345:3, bit_67:2; }
--#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
-- __attribute__((packed))
--#endif
-- bf = { 1,1,1,1 };
-- switch (0) case 0: case sizeof(bf) == 1:;
-- return 0;
--}
--], [], AC_MSG_ERROR([compiler doesn't support bitfield structs]))
--
--
-- dnl run test
-- AC_RUN_IFELSE([
--int main() {
-- struct { char bit_0:1, bit_12:2, bit_345:3, bit_67:2; }
--#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
-- __attribute__((packed))
--#endif
-- bf = { 1,1,1,1 };
-- if (sizeof (bf) != 1) return 1;
-- return *((unsigned char*) &bf) != 0x4b; }
--], bf_lsbf=1, [
-- AC_RUN_IFELSE([
--int main() {
-- struct { char bit_0:1, bit_12:2, bit_345:3, bit_67:2; }
--#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
-- __attribute__((packed))
--#endif
-- bf = { 1,1,1,1 };
-- if (sizeof (bf) != 1) return 1;
-- return *((unsigned char*) &bf) != 0xa5; }
--], bf_lsbf=0, AC_MSG_ERROR([unsupported bitfield ordering]))
-- ],
-- [case "$host" in
-- *-*-mingw32* | *-*-cygwin*)
-- bf_lsbf=1
-- ;;
-- *)
-- AC_MSG_RESULT([unknown])
-- AC_MSG_ERROR([value of bitfield test isn't known for $host
--*********************************************************************
--Value of bitfield test can't be found out for cross-compiling and we
--don't know its value for host "$host".
--
--Because it's needed for VCD plugin, disable VCD by configure option
----disable-vcd or use external VCD library.
--*********************************************************************])
-- esac]
--)
--
-- if test "x$cross_compiling" = "xyes"; then
-- TEXT=" (guessed)"
-- else
-- TEXT=""
-- fi
-- if test "x$bf_lsbf" = "x1"; then
-- AC_MSG_RESULT(LSBF${TEXT})
-- AC_DEFINE(BITFIELD_LSBF, [], [compiler does lsbf in struct bitfields])
-- else
-- AC_MSG_RESULT(MSBF${TEXT})
-- fi
-+ AC_DEFINE(BITFIELD_LSBF, [], [compiler does lsbf in struct bitfields])
-
- AC_HAVE_HEADERS( errno.h fcntl.h \
- stdbool.h stdlib.h stdint.h stdio.h string.h \
diff --git a/recipes/libxine/libxine-1.1.0/cpuid.patch b/recipes/libxine/libxine-1.1.0/cpuid.patch
deleted file mode 100644
index deea9159cb..0000000000
--- a/recipes/libxine/libxine-1.1.0/cpuid.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- xine-lib-1.1.0/src/post/goom/mmx.h~cpu-1.0
-+++ xine-lib-1.1.0/src/post/goom/mmx.h
-@@ -98,6 +98,8 @@
- /* Get standard CPUID information, and
- go to a specific vendor section */
- "movl $0, %%eax\n\t"
-+
-+ "pushl %%ebx\n\t"
- "cpuid\n\t"
-
- /* Check for Intel */
diff --git a/recipes/libxine/libxine-1.1.0/dont-have-xv.patch b/recipes/libxine/libxine-1.1.0/dont-have-xv.patch
deleted file mode 100644
index 674e0e3852..0000000000
--- a/recipes/libxine/libxine-1.1.0/dont-have-xv.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -urNd ../libxine-1.0-r1/xine-lib-1.0/configure.ac xine-lib-1.0/configure.ac
---- ../libxine-1.0-r1/xine-lib-1.0/configure.ac 2005-04-09 02:35:05 +01:00
-+++ xine-lib-1.0/configure.ac 2005-04-09 02:48:17 +01:00
-@@ -693,6 +693,12 @@
- AM_CONDITIONAL(HAVE_XVMC, test x$ac_have_xvmc = "xyes")
- AC_SUBST(XVMC_LIB)
-
-+dnl --------------------------------------------
-+dnl Declare Xv as missing
-+dnl --------------------------------------------
-+
-+AM_CONDITIONAL(HAVE_XV, 0)
-+
-
- dnl ---------------------------------------------
- dnl Checks for Xinerama extension
diff --git a/recipes/libxine/libxine-1.1.0/fix-syntax-xine-vorbis-decoder.patch b/recipes/libxine/libxine-1.1.0/fix-syntax-xine-vorbis-decoder.patch
deleted file mode 100644
index a191280e2b..0000000000
--- a/recipes/libxine/libxine-1.1.0/fix-syntax-xine-vorbis-decoder.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- xine-lib-1.0/src/libvorbis/xine_decoder.c.old 2005-04-14 11:25:18 +01:00
-+++ xine-lib-1.0/src/libvorbis/xine_decoder.c 2005-04-14 11:26:14 +01:00
-@@ -219,7 +219,7 @@
- int **pcm;
- int samples;
-
-- if(vorbis_synthesis(&this->vb,&this->op)==0)
-+ if(vorbis_synthesis(&this->vb,&this->op,1)==0)
- vorbis_synthesis_blockin(&this->vd,&this->vb);
-
- if (buf->pts!=0)
diff --git a/recipes/libxine/libxine-1.1.0/gcc41.patch b/recipes/libxine/libxine-1.1.0/gcc41.patch
deleted file mode 100644
index f201a5e38b..0000000000
--- a/recipes/libxine/libxine-1.1.0/gcc41.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: xine-lib-1.1.0/src/libffmpeg/libavcodec/mpegvideo.h
-===================================================================
---- xine-lib-1.1.0.orig/src/libffmpeg/libavcodec/mpegvideo.h
-+++ xine-lib-1.1.0/src/libffmpeg/libavcodec/mpegvideo.h
-@@ -928,7 +928,7 @@ int ff_mpeg4_get_video_packet_prefix_len
- int ff_h263_resync(MpegEncContext *s);
- int ff_h263_get_gob_height(MpegEncContext *s);
- int ff_mpeg4_set_direct_mv(MpegEncContext *s, int mx, int my);
--int ff_h263_round_chroma(int x);
-+static int ff_h263_round_chroma(int x);
- void ff_h263_encode_motion(MpegEncContext * s, int val, int f_code);
- int ff_mpeg4_find_frame_end(ParseContext *pc, const uint8_t *buf, int buf_size);
-
diff --git a/recipes/libxine/libxine-1.1.0/libxine-arm-configure.patch b/recipes/libxine/libxine-1.1.0/libxine-arm-configure.patch
deleted file mode 100644
index ab5efe9ce1..0000000000
--- a/recipes/libxine/libxine-1.1.0/libxine-arm-configure.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- xine-lib-1.1.0/configure.ac~libxine-arm-configure
-+++ xine-lib-1.1.0/configure.ac
-@@ -2052,8 +2052,8 @@
- AC_DEFINE_UNQUOTED(FPM_DEFAULT,,[Define to select libmad fixed point arithmetic implementation])
- ;;
-
-- armv4l-*-linux*)
-- CFLAGS="-O2 -fsigned-char -ffast-math -mcpu=strongarm1100 -fomit-frame-pointer -fthread-jumps -fregmove $CFLAGS"
-+ arm-*-linux*)
-+ CFLAGS="-O2 -fsigned-char -ffast-math -march=armv4 -mtune=xscale -fomit-frame-pointer -fthread-jumps -fregmove $CFLAGS"
- dnl CFLAGS="-O1 -fforce-mem -fforce-addr -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 $INLINE_FUNCTIONS -fsigned-char -fomit-frame-pointer -march=armv4 -mtune=strongarm $CFLAGS"
- DEBUG_CFLAGS="-O2 $DEBUG_CFLAGS"
- AC_DEFINE_UNQUOTED(FPM_ARM,,[Define to select libmad fixed point arithmetic implementation])
diff --git a/recipes/libxine/libxine-1.1.0/libxine-cut-memusage.patch b/recipes/libxine/libxine-1.1.0/libxine-cut-memusage.patch
deleted file mode 100644
index 3580a58ac8..0000000000
--- a/recipes/libxine/libxine-1.1.0/libxine-cut-memusage.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- xine-lib-1.1.0/src/xine-engine/audio_out.c~libxine-cut-memusage
-+++ xine-lib-1.1.0/src/xine-engine/audio_out.c
-@@ -95,10 +95,10 @@
- #include "metronom.h"
-
-
--#define NUM_AUDIO_BUFFERS 32
--#define AUDIO_BUF_SIZE 32768
-+#define NUM_AUDIO_BUFFERS 16
-+#define AUDIO_BUF_SIZE 8192
-
--#define ZERO_BUF_SIZE 5000
-+#define ZERO_BUF_SIZE 2048
-
- /* By adding gap errors (difference between reported and expected
- * sound card clock) into metronom's vpts_offset we can use its
---- xine-lib-1.1.0/src/xine-engine/video_decoder.c~libxine-cut-memusage
-+++ xine-lib-1.1.0/src/xine-engine/video_decoder.c
-@@ -484,7 +484,7 @@
-
- num_buffers = stream->xine->config->register_num (stream->xine->config,
- "engine.buffers.video_num_buffers",
-- 500,
-+ 250,
- _("number of video buffers"),
- _("The number of video buffers (each is 8k in size) "
- "xine uses in its internal queue. Higher values "
-@@ -492,7 +492,7 @@
- "also increased latency and memory consumption."),
- 20, NULL, NULL);
-
-- stream->video_fifo = _x_fifo_buffer_new (num_buffers, 8192);
-+ stream->video_fifo = _x_fifo_buffer_new (num_buffers, 4096);
- stream->spu_track_map_entries = 0;
-
- pthread_attr_init(&pth_attrs);
---- xine-lib-1.1.0/src/xine-engine/video_overlay.h~libxine-cut-memusage
-+++ xine-lib-1.1.0/src/xine-engine/video_overlay.h
-@@ -36,7 +36,7 @@
- #define CLUT_Y_CR_CB_INIT(_y,_cr,_cb) { (_cb), (_cr), (_y) }
- #endif
-
--#define MAX_OBJECTS 50
-+#define MAX_OBJECTS 5
- #define MAX_EVENTS 50
- #define MAX_SHOWING 16
-
---- xine-lib-1.1.0/src/xine-engine/audio_decoder.c~libxine-cut-memusage
-+++ xine-lib-1.1.0/src/xine-engine/audio_decoder.c
-@@ -467,7 +467,7 @@
-
- num_buffers = stream->xine->config->register_num (stream->xine->config,
- "engine.buffers.audio_num_buffers",
-- 230,
-+ 100,
- _("number of audio buffers"),
- _("The number of audio buffers (each is 8k in size) "
- "xine uses in its internal queue. Higher values "
diff --git a/recipes/libxine/libxine-1.1.0/libxine-ffmpeg-enable-arm.patch b/recipes/libxine/libxine-1.1.0/libxine-ffmpeg-enable-arm.patch
deleted file mode 100644
index 0a13e2f8e1..0000000000
--- a/recipes/libxine/libxine-1.1.0/libxine-ffmpeg-enable-arm.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- xine-lib-1.1.0/src/libffmpeg/libavcodec/armv4l/Makefile.am~libxine-ffmpeg-enable-arm
-+++ xine-lib-1.1.0/src/libffmpeg/libavcodec/armv4l/Makefile.am
-@@ -9,9 +9,8 @@
- libavcodec_armv4l_dummy = libavcodec_armv4l_dummy.c
- EXTRA_DIST = $(libavcodec_armv4l_src) $(libavcodec_armv4l_dummy)
-
--#if HAVE_ARMV4L
--#armv4l_modules = $(libavcodec_armv4l_src)
--#endif
--armv4l_modules =
-+if HAVE_ARMV4L
-+armv4l_modules = $(libavcodec_armv4l_src)
-+endif
-
- libavcodec_armv4l_la_SOURCES = $(armv4l_modules) $(libavcodec_armv4l_dummy)
diff --git a/recipes/libxine/libxine-1.1.0/libxine-tremor-autoconf.patch b/recipes/libxine/libxine-1.1.0/libxine-tremor-autoconf.patch
deleted file mode 100644
index 097f72cb1b..0000000000
--- a/recipes/libxine/libxine-1.1.0/libxine-tremor-autoconf.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- xine-lib-1.1.0/m4/vorbis.m4~libxine-tremor-autoconf
-+++ xine-lib-1.1.0/m4/vorbis.m4
-@@ -18,7 +18,7 @@
- VORBIS_LIBDIR="-L$vorbis_prefix/$XINE_LIBNAME"
- fi
-
-- VORBIS_LIBS="$VORBIS_LIBDIR -lvorbis -lm"
-+ VORBIS_LIBS="$VORBIS_LIBDIR -lvorbisidec -lm"
- VORBISFILE_LIBS="-lvorbisfile"
- VORBISENC_LIBS="-lvorbisenc"
-
diff --git a/recipes/libxine/libxine-1.1.0/mpegvideo-static-inlinine.patch b/recipes/libxine/libxine-1.1.0/mpegvideo-static-inlinine.patch
deleted file mode 100644
index 0f9b3c23f1..0000000000
--- a/recipes/libxine/libxine-1.1.0/mpegvideo-static-inlinine.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- xine-lib-1.1.0/src/libffmpeg/libavcodec/mpegvideo.c~mpegvideo-static-inlinine
-+++ xine-lib-1.1.0/src/libffmpeg/libavcodec/mpegvideo.c
-@@ -3122,7 +3122,7 @@
- }
- }
-
--inline int ff_h263_round_chroma(int x){
-+static inline int ff_h263_round_chroma(int x){
- if (x >= 0)
- return (h263_chroma_roundtab[x & 0xf] + ((x >> 3) & ~1));
- else {
diff --git a/recipes/libxine/libxine-1.1.0/no-caca.patch b/recipes/libxine/libxine-1.1.0/no-caca.patch
deleted file mode 100644
index dc861693e9..0000000000
--- a/recipes/libxine/libxine-1.1.0/no-caca.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- xine-lib-1.1.0/configure.ac~no-caca
-+++ xine-lib-1.1.0/configure.ac
-@@ -749,8 +749,9 @@
- dnl Checks for Color AsCii Art library
- dnl ---------------------------------------------
-
--AM_PATH_CACA(0.3,, AC_MSG_RESULT([*** All CACA-dependent parts will be disabled ***]))
--AM_CONDITIONAL(HAVE_CACA, test x$no_caca != "xyes")
-+dnl AM_PATH_CACA(0.3,, AC_MSG_RESULT([*** All CACA-dependent parts will be disabled ***]))
-+AM_CONDITIONAL(HAVE_CACA, 0)
-+
-
-
- dnl ---------------------------------------------
diff --git a/recipes/libxine/libxine-1.1.0/tremor.patch b/recipes/libxine/libxine-1.1.0/tremor.patch
deleted file mode 100644
index 8ea785d5ef..0000000000
--- a/recipes/libxine/libxine-1.1.0/tremor.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- xine-lib-1.1.0/src/demuxers/demux_ogg.c~demuxogg
-+++ xine-lib-1.1.0/src/demuxers/demux_ogg.c
-@@ -40,7 +40,7 @@
- #include <inttypes.h>
-
- #include <ogg/ogg.h>
--#include <vorbis/codec.h>
-+#include <tremor/ivorbiscodec.h>
-
- #ifdef HAVE_SPEEX
- #ifdef HAVE_SPEEX_SUBDIR
---- xine-lib-1.1.0/src/demuxers/Makefile.am~demuxogg
-+++ xine-lib-1.1.0/src/demuxers/Makefile.am
-@@ -1,6 +1,6 @@
- include $(top_srcdir)/misc/Makefile.common
-
--AM_CFLAGS = $(THEORA_CFLAGS) $(OGG_CFLAGS) $(SPEEX_CFLAGS) $(LIBMODPLUG_CFLAGS)
-+AM_CFLAGS = $(THEORA_CFLAGS) $(OGG_CFLAGS) $(VORBIS_CFLAGS) $(SPEEX_CFLAGS) $(LIBMODPLUG_CFLAGS)
-
- libdir = $(XINE_PLUGINDIR)
-
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- xine-lib-1.1.0/src/libvorbis/xine_decoder.c~libxine-libvorbis
-+++ xine-lib-1.1.0/src/libvorbis/xine_decoder.c
-@@ -40,7 +40,7 @@
- #include "buffer.h"
-
- #include <ogg/ogg.h>
--#include <vorbis/codec.h>
-+#include <tremor/ivorbiscodec.h>
-
- #define MAX_NUM_SAMPLES 4096
-
-@@ -217,7 +217,7 @@
-
- } else if (this->output_open) {
-
-- float **pcm;
-+ int **pcm;
- int samples;
-
- if(vorbis_synthesis(&this->vb,&this->op)==0)
-@@ -246,9 +246,9 @@
- interleave */
- for(i=0;i<this->vi.channels;i++){
- ogg_int16_t *ptr=audio_buffer->mem+i;
-- float *mono=pcm[i];
-+ int *mono=pcm[i];
- for(j=0;j<bout;j++){
-- int val=mono[j]*32767.f;
-+ int val=mono[j]>>9;
- /* might as well guard against clipping */
- if(val>32767){
- val=32767;
diff --git a/recipes/libxine/libxine-1.1.16/iconv.patch b/recipes/libxine/libxine-1.1.16/iconv.patch
new file mode 100644
index 0000000000..d3c7cc8c6f
--- /dev/null
+++ b/recipes/libxine/libxine-1.1.16/iconv.patch
@@ -0,0 +1,12 @@
+Index: xine-lib-1.1.15/misc/libxine.pc.in
+===================================================================
+--- xine-lib-1.1.15.orig/misc/libxine.pc.in 2008-09-19 00:50:07.144738536 +0200
++++ xine-lib-1.1.15/misc/libxine.pc.in 2008-09-19 00:50:17.962908808 +0200
+@@ -23,6 +23,6 @@
+ Version: @XINE_MAJOR@.@XINE_MINOR@.@XINE_SUB@@XINE_PATCH@
+ Requires:
+ Libs: -L${libdir} -lxine
+-Libs.private: @ZLIB_LIBS@ @NET_LIBS@ @PTHREAD_LIBS@ @LIBICONV@ @RT_LIBS@
++Libs.private: @ZLIB_LIBS@ @NET_LIBS@ @PTHREAD_LIBS@ @LTLIBICONV@ @RT_LIBS@
+ Cflags: -I${includedir}
+ Cflags.private: @PTHREAD_CFLAGS@
diff --git a/recipes/libxine/libxine-1.1.16/libavcodec.patch b/recipes/libxine/libxine-1.1.16/libavcodec.patch
new file mode 100644
index 0000000000..c4ef887c3d
--- /dev/null
+++ b/recipes/libxine/libxine-1.1.16/libavcodec.patch
@@ -0,0 +1,26 @@
+Index: xine-lib-1.1.16/src/combined/ffmpeg/ffmpeg_decoder.h
+===================================================================
+--- xine-lib-1.1.16.orig/src/combined/ffmpeg/ffmpeg_decoder.h 2009-03-25 00:27:52.177883234 +0100
++++ xine-lib-1.1.16/src/combined/ffmpeg/ffmpeg_decoder.h 2009-03-25 00:27:58.048708749 +0100
+@@ -26,8 +26,6 @@
+ #endif
+
+ #ifdef HAVE_FFMPEG_AVUTIL_H
+-# include <avcodec.h>
+-#elif defined HAVE_FFMPEG
+ # include <libavcodec/avcodec.h>
+ #else
+ # include "../../libffmpeg/libavcodec/avcodec.h"
+Index: xine-lib-1.1.16/src/combined/ffmpeg/ff_dvaudio_decoder.c
+===================================================================
+--- xine-lib-1.1.16.orig/src/combined/ffmpeg/ff_dvaudio_decoder.c 2009-03-25 00:28:05.839130673 +0100
++++ xine-lib-1.1.16/src/combined/ffmpeg/ff_dvaudio_decoder.c 2009-03-25 00:28:28.411467638 +0100
+@@ -53,8 +53,6 @@
+ #endif
+
+ #ifdef HAVE_FFMPEG_AVUTIL_H
+-# include <avcodec.h>
+-#elif defined HAVE_FFMPEG
+ # include <libavcodec/avcodec.h>
+ #else
+ # include "../../libffmpeg/libavcodec/avcodec.h"
diff --git a/recipes/libxine/libxine-1.1.16/libpostproc.patch b/recipes/libxine/libxine-1.1.16/libpostproc.patch
new file mode 100644
index 0000000000..89f8a0c15c
--- /dev/null
+++ b/recipes/libxine/libxine-1.1.16/libpostproc.patch
@@ -0,0 +1,34 @@
+Index: xine-lib-1.1.16/src/post/planar/pp.c
+===================================================================
+--- xine-lib-1.1.16.orig/src/post/planar/pp.c 2009-03-25 00:11:21.375059193 +0100
++++ xine-lib-1.1.16/src/post/planar/pp.c 2009-03-25 00:11:51.259320837 +0100
+@@ -29,11 +29,7 @@
+ #include "xineutils.h"
+ #include <pthread.h>
+
+-#ifdef HAVE_FFMPEG_AVUTIL_H
+-# include <postprocess.h>
+-#else
+-# include <libpostproc/postprocess.h>
+-#endif
++#include <libpostproc/postprocess.h>
+
+ #define PP_STRING_SIZE 256 /* size of pp mode string (including all options) */
+
+Index: xine-lib-1.1.16/src/combined/ffmpeg/ff_video_decoder.c
+===================================================================
+--- xine-lib-1.1.16.orig/src/combined/ffmpeg/ff_video_decoder.c 2009-03-25 00:20:01.437924936 +0100
++++ xine-lib-1.1.16/src/combined/ffmpeg/ff_video_decoder.c 2009-03-25 00:20:16.771556770 +0100
+@@ -45,11 +45,7 @@
+ #include "ffmpeg_decoder.h"
+ #include "ff_mpeg_parser.h"
+
+-#ifdef HAVE_FFMPEG_AVUTIL_H
+-# include <postprocess.h>
+-#else
+-# include <libpostproc/postprocess.h>
+-#endif
++#include <libpostproc/postprocess.h>
+
+ #define VIDEOBUFSIZE (128*1024)
+ #define SLICE_BUFFER_SIZE (1194*1024)
diff --git a/recipes/libxine/libxine-1.1.16/libxine-arm-configure.patch b/recipes/libxine/libxine-1.1.16/libxine-arm-configure.patch
new file mode 100644
index 0000000000..6fc3bc1cd6
--- /dev/null
+++ b/recipes/libxine/libxine-1.1.16/libxine-arm-configure.patch
@@ -0,0 +1,18 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+Index: xine-lib-1.1.12/configure.ac
+===================================================================
+--- xine-lib-1.1.12.orig/configure.ac 2008-04-11 16:17:50.000000000 +0200
++++ xine-lib-1.1.12/configure.ac 2008-05-08 00:01:27.000000000 +0200
+@@ -2304,7 +2304,7 @@
+ alphaev56-* | alpha* | ia64-* | hppa*-linux-*)
+ AC_DEFINE_UNQUOTED(FPM_64BIT,,[Define to select libmad fixed point arithmetic implementation])
+ ;;
+- armv4l-*-linux*)
++ armv-*-linux*)
+ AC_DEFINE_UNQUOTED(FPM_ARM,,[Define to select libmad fixed point arithmetic implementation])
+ enable_armv4l="yes"
+ ;;
diff --git a/recipes/libxine/libxine-fb/configure-1.0.patch b/recipes/libxine/libxine-fb/configure-1.0.patch
deleted file mode 100644
index 015f2fc1ca..0000000000
--- a/recipes/libxine/libxine-fb/configure-1.0.patch
+++ /dev/null
@@ -1,187 +0,0 @@
-Index: xine-lib-1.0/configure.ac
-===================================================================
---- xine-lib-1.0.orig/configure.ac 2004-12-25 18:40:24.000000000 +0100
-+++ xine-lib-1.0/configure.ac 2005-02-16 22:57:07.926566529 +0100
-@@ -691,6 +691,7 @@
- LIBS="$saved_libs"
- fi
- AM_CONDITIONAL(HAVE_XVMC, test x$ac_have_xvmc = "xyes")
-+AM_CONDITIONAL(HAVE_XV, test x$ac_have_xvfoo = "xyes")
- AC_SUBST(XVMC_LIB)
-
-
-@@ -711,7 +712,7 @@
- dnl ---------------------------------------------
-
- AM_PATH_AALIB(1.4,, AC_MSG_RESULT([*** All of AALIB dependent parts will be disabled ***]))
--AM_CONDITIONAL(HAVE_AA, test x$no_aalib != "xyes")
-+AM_CONDITIONAL(HAVE_AA, [test x"$enable_aalib" = "xyes" && test x$no_aalib != "xyes"])
-
-
- dnl ---------------------------------------------
-@@ -824,10 +825,7 @@
- dnl check for SDL
- dnl ---------------------------------------------
-
--AM_PATH_SDL(1.1.5,
-- AC_DEFINE(HAVE_SDL,1,[Define this if you have SDL library installed]),
-- [])
--AM_CONDITIONAL(HAVE_SDL, [test x"$no_sdl" != x"yes"])
-+AM_CONDITIONAL(HAVE_SDL, 0)
-
-
- dnl ---------------------------------------------
-@@ -982,61 +980,29 @@
- dnl Ogg/Theora libs.
- dnl ---------------------------------------------
-
--AM_PATH_OGG(
-- [ AM_PATH_THEORA(AC_DEFINE(HAVE_THEORA,1,[Define this if you have theora]),
-- AC_MSG_RESULT([*** All OGG/THEORA dependent parts will be disabled ***]))
-- ],
-- AC_MSG_RESULT([*** All of OGG/Theora dependent parts will be disabled ***]))
--AM_CONDITIONAL(HAVE_THEORA, [test x"$no_ogg" != "xyes" -a x"$no_theora" != "xyes"])
-+AM_CONDITIONAL(HAVE_THEORA, 0)
-
-
- dnl ---------------------------------------------
- dnl Ogg/Speex libs.
- dnl ---------------------------------------------
-
--PKG_CHECK_MODULES(SPEEX, speex, no_speex="no", no_speex="yes")
--
--if test "x$no_speex" = "xyes" ; then
-- AM_PATH_OGG([ AM_PATH_SPEEX(no_speex="no")])
--fi
--
--if test "x$no_speex" = "xyes" ; then
-- AC_MSG_RESULT([*** All OGG/SPEEX dependent parts will be disabled ***])
--else
-- AC_DEFINE(HAVE_SPEEX,1,[Define this if you have speex])
--
-- dnl Test whether Speex headers are eg. <speex.h> or <speex/speex.h>
-- dnl Speex headers were moved in mid-2004; 1.0.x has backwards compatible headers, 1.1.x does not
-- AC_CHECK_HEADER([speex/speex.h],
-- AC_DEFINE(HAVE_SPEEX_SUBDIR, [1], [Define to 1 if speex headers are eg. <speex/speex.h>])
-- )
--
-- AC_SUBST(SPEEX_CFLAGS)
-- AC_SUBST(SPEEX_LIBS)
--fi
--AM_CONDITIONAL(HAVE_SPEEX, [test x"$no_ogg" != "xyes" -a x"$no_speex" != "xyes"])
-+AM_CONDITIONAL(HAVE_SPEEX, 0)
-
-
- dnl ---------------------------------------------
- dnl check for libFLAC
- dnl ---------------------------------------------
-
--AM_PATH_LIBFLAC([],
-- AC_MSG_RESULT([*** All FLAC dependent parts will be disabled ***]))
--AM_CONDITIONAL(HAVE_FLAC, [test x"$no_libFLAC" != "xyes"])
-+AM_CONDITIONAL(HAVE_FLAC, 0)
-
-
- dnl ---------------------------------------------
- dnl MNG libs.
- dnl ---------------------------------------------
-
--AC_CHECK_LIB(mng, mng_initialize,
-- [ AC_CHECK_HEADER(libmng.h,
-- [ have_libmng=yes
-- MNG_LIBS="-lmng" ],
-- AC_MSG_RESULT([*** All libmng dependent parts will be disabled ***]))],
-- AC_MSG_RESULT([*** All libmng dependent parts will be disabled ***]))
--AM_CONDITIONAL(HAVE_LIBMNG, test x"$have_libmng" = "xyes")
-+MNG_LIBS=""
-+AM_CONDITIONAL(HAVE_LIBMNG, 0)
- AC_SUBST(MNG_LIBS)
-
-
-@@ -1066,7 +1032,7 @@
- dnl freetype2 lib.
- dnl ---------------------------------------------
-
--AM_PATH_FREETYPE2()
-+AM_CONDITIONAL(HAVE_FT2, 0)
-
-
- dnl ---------------------------------------------
-@@ -1109,37 +1075,21 @@
- dnl ESD support
- dnl ---------------------------------------------
-
--AM_PATH_ESD(0.2.8,
-- AC_DEFINE(HAVE_ESD,1,[Define this if you have ESD (libesd) installed]),
-- AC_MSG_RESULT(*** All of ESD dependent parts will be disabled ***))
--AM_CONDITIONAL(HAVE_ESD, test x"$no_esd" != "xyes")
-+AM_CONDITIONAL(HAVE_ESD, 0)
-
-
- dnl ---------------------------------------------
- dnl ARTS support
- dnl ---------------------------------------------
-
--AM_PATH_ARTS(0.9.5,
-- AC_DEFINE(HAVE_ARTS,1,[Define this if you have ARTS (libartsc) installed]),
-- AC_MSG_RESULT(*** All of ARTS dependent parts will be disabled ***))
--AM_CONDITIONAL(HAVE_ARTS, test x"$no_arts" != "xyes")
-+AM_CONDITIONAL(HAVE_ARTS, 0)
-
-
- dnl ---------------------------------------------
- dnl gnome-vfs support
- dnl ---------------------------------------------
-
--PKG_CHECK_MODULES(GNOME_VFS, gnome-vfs-2.0,
-- no_gnome_vfs=no,
-- no_gnome_vfs=yes)
--AC_SUBST(GNOME_VFS_CFLAGS)
--AC_SUBST(GNOME_VFS_LIBS)
--if test x"$no_gnome_vfs" != "xyes"; then
--AC_DEFINE(HAVE_GNOME_VFS,1,[Define this if you have gnome-vfs installed])
--else
--AC_MSG_RESULT(*** All of the gnome-vfs dependent parts will be disabled ***)
--fi
--AM_CONDITIONAL(HAVE_GNOME_VFS, test x"$no_gnome_vfs" != "xyes")
-+AM_CONDITIONAL(HAVE_GNOME_VFS, 0)
-
-
- dnl ---------------------------------------------
-@@ -1316,35 +1266,7 @@
- ],ISOC99_PRAGMA=no)
- AC_MSG_RESULT($ISOC99_PRAGMA)
-
-- dnl bitfield order
-- AC_MSG_CHECKING(bitfield ordering in structs)
-- AC_TRY_RUN([
--int
-- main() {
-- struct { char bit_0:1, bit_12:2, bit_345:3, bit_67:2; }
--#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
-- __attribute__((packed))
--#endif
-- bf = { 1,1,1,1 };
-- if (sizeof (bf) != 1) return 1;
-- return *((unsigned char*) &bf) != 0x4b; }
--], bf_lsbf=1, AC_TRY_RUN([
--int
--main() {
-- struct { char bit_0:1, bit_12:2, bit_345:3, bit_67:2; }
--#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
-- __attribute__((packed))
--#endif
-- bf = { 1,1,1,1 };
-- if (sizeof (bf) != 1) return 1;
-- return *((unsigned char*) &bf) != 0xa5; }
--], bf_lsbf=0, AC_MSG_ERROR([unsupported bitfield ordering])))
-- if test "x$bf_lsbf" = "x1"; then
-- AC_MSG_RESULT(LSBF)
-- AC_DEFINE(BITFIELD_LSBF, [], [compiler does lsbf in struct bitfields])
-- else
-- AC_MSG_RESULT(MSBF)
-- fi
-+ AC_DEFINE(BITFIELD_LSBF, [], [compiler does lsbf in struct bitfields])
-
- AC_HAVE_HEADERS( errno.h fcntl.h \
- stdbool.h stdlib.h stdint.h stdio.h string.h \
diff --git a/recipes/libxine/libxine-fb/demuxogg.patch b/recipes/libxine/libxine-fb/demuxogg.patch
deleted file mode 100644
index 55f239cfad..0000000000
--- a/recipes/libxine/libxine-fb/demuxogg.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- xine-lib-1-rc7/src/demuxers/demux_ogg.c~demuxogg
-+++ xine-lib-1-rc7/src/demuxers/demux_ogg.c
-@@ -40,7 +40,7 @@
- #include <inttypes.h>
-
- #include <ogg/ogg.h>
--#include <vorbis/codec.h>
-+#include <tremor/ivorbiscodec.h>
-
- #ifdef HAVE_SPEEX
- #ifdef HAVE_SPEEX_SUBDIR
---- xine-lib-1-rc7/src/demuxers/Makefile.am~demuxogg
-+++ xine-lib-1-rc7/src/demuxers/Makefile.am
-@@ -1,6 +1,6 @@
- include $(top_srcdir)/misc/Makefile.common
-
--AM_CFLAGS = $(THEORA_CFLAGS) $(OGG_CFLAGS) $(SPEEX_CFLAGS) $(LIBMODPLUG_CFLAGS)
-+AM_CFLAGS = $(THEORA_CFLAGS) $(OGG_CFLAGS) $(VORBIS_CFLAGS) $(SPEEX_CFLAGS) $(LIBMODPLUG_CFLAGS)
-
- libdir = $(XINE_PLUGINDIR)
-
diff --git a/recipes/libxine/libxine-fb/fix-syntax.patch b/recipes/libxine/libxine-fb/fix-syntax.patch
deleted file mode 100644
index b129dec36c..0000000000
--- a/recipes/libxine/libxine-fb/fix-syntax.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- xine-lib-1-rc7/src/libvorbis/xine_decoder.c~fix-syntax
-+++ xine-lib-1-rc7/src/libvorbis/xine_decoder.c
-@@ -218,7 +218,7 @@
- float **pcm;
- int samples;
-
-- if(vorbis_synthesis(&this->vb,&this->op)==0)
-+ if(vorbis_synthesis(&this->vb,&this->op,1)==0)
- vorbis_synthesis_blockin(&this->vd,&this->vb);
-
- if (buf->pts!=0)
diff --git a/recipes/libxine/libxine-fb/libxine-arm-configure.patch b/recipes/libxine/libxine-fb/libxine-arm-configure.patch
deleted file mode 100644
index fa80ea6b13..0000000000
--- a/recipes/libxine/libxine-fb/libxine-arm-configure.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- xine-lib-1-rc7/configure.ac~libxine-arm-configure.patch
-+++ xine-lib-1-rc7/configure.ac
-@@ -1810,8 +1810,8 @@
- AC_DEFINE_UNQUOTED(FPM_DEFAULT,,[Define to select libmad fixed point arithmetic implementation])
- ;;
-
-- armv4l-*-linux*)
-- CFLAGS="-O2 -fsigned-char -ffast-math -mcpu=strongarm1100 -fomit-frame-pointer -fthread-jumps -fregmove $CFLAGS"
-+ arm-*-linux*)
-+ CFLAGS="-O2 -fsigned-char -ffast-math -march=armv4 -mtune=xscale -fomit-frame-pointer -fthread-jumps -fregmove $CFLAGS"
- dnl CFLAGS="-O1 -fforce-mem -fforce-addr -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 -finline-functions -fsigned-char -fomit-frame-pointer -march=armv4 -mtune=strongarm $CFLAGS"
- DEBUG_CFLAGS="-O2 $DEBUG_CFLAGS"
- AC_DEFINE_UNQUOTED(FPM_ARM,,[Define to select libmad fixed point arithmetic implementation])
diff --git a/recipes/libxine/libxine-fb/no-caca.patch b/recipes/libxine/libxine-fb/no-caca.patch
deleted file mode 100644
index 978c4fc38a..0000000000
--- a/recipes/libxine/libxine-fb/no-caca.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Index: xine-lib-1.0/configure.ac
-===================================================================
---- xine-lib-1.0.orig/configure.ac 2005-03-06 16:50:09.019575452 +0100
-+++ xine-lib-1.0/configure.ac 2005-03-06 17:07:55.605266498 +0100
-@@ -719,8 +719,9 @@
- dnl Checks for Color AsCii Art library
- dnl ---------------------------------------------
-
--AM_PATH_CACA(0.3,, AC_MSG_RESULT([*** All CACA-dependent parts will be disabled ***]))
--AM_CONDITIONAL(HAVE_CACA, test x$no_caca != "xyes")
-+dnl AM_PATH_CACA(0.3,, AC_MSG_RESULT([*** All CACA-dependent parts will be disabled ***]))
-+AM_CONDITIONAL(HAVE_CACA, 0)
-+
-
-
- dnl ---------------------------------------------
diff --git a/recipes/libxine/libxine-fb_1.0.bb b/recipes/libxine/libxine-fb_1.0.bb
deleted file mode 100644
index 87818d5e8c..0000000000
--- a/recipes/libxine/libxine-fb_1.0.bb
+++ /dev/null
@@ -1,98 +0,0 @@
-DESCRIPTION = "libxine is a multimedia library with support for many common audio and video formats \
-This version is configured for the usage with framebuffer based environments"
-SECTION = "libs"
-PRIORITY = "optional"
-LICENSE = "GPL"
-DEPENDS = "zlib libogg tremor libmodplug libpng \
- ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad', d)}"
-PROVIDES = "virtual/libxine"
-PR = "r2"
-
-inherit autotools pkgconfig gettext
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/xine/xine-lib-${PV}.tar.gz \
- file://cpu-${PV}.patch;patch=1 \
- file://configure-${PV}.patch;patch=1 \
- file://demuxogg.patch;patch=1 \
- file://fix-syntax.patch;patch=1 \
- file://libxine-cut-memusage.patch;patch=1 \
- file://libxine-ffmpeg-enable-arm.patch;patch=1 \
- file://libxine-libvorbis.patch;patch=1 \
- file://libxine-tremor-autoconf.patch;patch=1 \
- file://mpegvideo-static-inlinine.patch;patch=1 \
- file://libxine-arm-configure.patch;patch=1 \
- file://no-caca.patch;patch=1 \
- file://libxine-gcc4.patch;patch=1"
-S = "${WORKDIR}/xine-lib-${PV}"
-
-SOV = "1.0.7"
-
-EXTRA_OECONF="-with-zlib-path=${STAGING_EXECPREFIXDIR} \
- --with-vorbis-prefix=${STAGING_EXECPREFIXDIR} \
- --disable-oggtest \
- --with-ogg-prefix=${STAGING_EXECPREFIXDIR} \
- --disable-altivec --disable-vis --disable-mlib \
- --enable-shared --disable-static \
- --disable-fb --disable-alsa --disable-vcd \
- --disable-asf --disable-faad --disable-iconv \
- --disable-aalib --disable-aalibtest \
- --without-v4l --without-arts --without-sdl \
- --disable-dxr3 --without-xv --without-xvmc \
- --without-xxmc --without-Xshm --without-x "
-
-do_compile() {
- oe_runmake LIBTOOL=${S}/${TARGET_SYS}-libtool
-}
-
-do_install() {
- oe_runmake DESTDIR=${D} LIBTOOL=${S}/${TARGET_SYS}-libtool install
-}
-
-HEADERS="src/xine-engine/xineintl.h src/xine-utils/xineutils.h \
- src/xine-engine/xine_internal.h src/xine-engine/xine_plugin.h \
- src/xine-utils/xine_buffer.h src/xine-engine/video_out.h \
- src/xine-engine/buffer.h src/xine-engine/vo_scale.h \
- src/xine-engine/configfile.h src/xine-utils/attributes.h \
- src/xine-engine/info_helper.h src/xine-engine/scratch.h \
- src/xine-engine/audio_decoder.h src/input/input_plugin.h \
- src/xine-engine/spu_decoder.h src/xine-engine/audio_out.h \
- src/xine-engine/io_helper.h src/xine-engine/video_decoder.h \
- src/xine-engine/broadcaster.h src/xine-engine/metronom.h \
- src/xine-utils/xmllexer.h src/xine-engine/osd.h \
- src/xine-engine/video_overlay.h src/xine-utils/xmlparser.h \
- src/xine-utils/compat.h src/xine-engine/plugin_catalog.h \
- src/xine-engine/post.h src/demuxers/demux.h \
- src/xine-engine/resample.h lib/os_types.h \
- src/xine-engine/refcounter.h"
-
-do_stage() {
- install -d ${STAGING_INCDIR}/xine
-
- install -m 0644 ${S}/include/xine.h ${STAGING_INCDIR}
-
- for file in ${HEADERS}; do
- cp ${S}/$file ${STAGING_INCDIR}/xine/`basename $file`
- done
-
- oe_libinstall -so -C src/xine-engine libxine ${STAGING_LIBDIR}
-}
-
-PACKAGES_DYNAMIC = "libxine-plugin-* libxine-font-*"
-
-python populate_packages_prepend () {
- plugindir = bb.data.expand('${libdir}/xine/plugins/1.0.0', d)
- do_split_packages(d, plugindir, '^xineplug_(.*)\.so$', 'libxine-plugin-%s', 'Xine plugin for %s', extra_depends='' )
-
- postdir = bb.data.expand('${libdir}/xine/plugins/1.0.0/post', d)
- do_split_packages(d, postdir, '^xineplug_(.*)\.so$', 'libxine-plugin-%s', 'Xine plugin for %s', extra_depends='' )
-
- fontdir = bb.data.expand('${datadir}/xine/libxine1/fonts', d)
- do_split_packages(d, fontdir, '^(.*).xinefont.gz$', 'libxine-font-%s', 'Xine font %s', extra_depends='' )
-}
-
-# Omit the annoying xine-config in ${bindir}
-FILES_${PN}="${libdir}/*.so*"
-
-# And include it in the dev package
-FILES_${PN}-dev += " ${bindir}"
-
diff --git a/recipes/libxine/libxine-x11-1.0/dont-have-xv.patch b/recipes/libxine/libxine-x11-1.0/dont-have-xv.patch
deleted file mode 100644
index 674e0e3852..0000000000
--- a/recipes/libxine/libxine-x11-1.0/dont-have-xv.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -urNd ../libxine-1.0-r1/xine-lib-1.0/configure.ac xine-lib-1.0/configure.ac
---- ../libxine-1.0-r1/xine-lib-1.0/configure.ac 2005-04-09 02:35:05 +01:00
-+++ xine-lib-1.0/configure.ac 2005-04-09 02:48:17 +01:00
-@@ -693,6 +693,12 @@
- AM_CONDITIONAL(HAVE_XVMC, test x$ac_have_xvmc = "xyes")
- AC_SUBST(XVMC_LIB)
-
-+dnl --------------------------------------------
-+dnl Declare Xv as missing
-+dnl --------------------------------------------
-+
-+AM_CONDITIONAL(HAVE_XV, 0)
-+
-
- dnl ---------------------------------------------
- dnl Checks for Xinerama extension
diff --git a/recipes/libxine/libxine-x11-1.0/fix-syntax-xine-vorbis-decoder.patch b/recipes/libxine/libxine-x11-1.0/fix-syntax-xine-vorbis-decoder.patch
deleted file mode 100644
index a191280e2b..0000000000
--- a/recipes/libxine/libxine-x11-1.0/fix-syntax-xine-vorbis-decoder.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- xine-lib-1.0/src/libvorbis/xine_decoder.c.old 2005-04-14 11:25:18 +01:00
-+++ xine-lib-1.0/src/libvorbis/xine_decoder.c 2005-04-14 11:26:14 +01:00
-@@ -219,7 +219,7 @@
- int **pcm;
- int samples;
-
-- if(vorbis_synthesis(&this->vb,&this->op)==0)
-+ if(vorbis_synthesis(&this->vb,&this->op,1)==0)
- vorbis_synthesis_blockin(&this->vd,&this->vb);
-
- if (buf->pts!=0)
diff --git a/recipes/libxine/libxine-x11-1.0/no-caca-no-aalib.patch b/recipes/libxine/libxine-x11-1.0/no-caca-no-aalib.patch
deleted file mode 100644
index ffdda0c2ca..0000000000
--- a/recipes/libxine/libxine-x11-1.0/no-caca-no-aalib.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -urNd ../libxine-1.0-r1/xine-lib-1.0/configure.ac xine-lib-1.0/configure.ac
---- ../libxine-1.0-r1/xine-lib-1.0/configure.ac 2005-04-09 02:22:48 +01:00
-+++ xine-lib-1.0/configure.ac 2005-04-09 02:24:00 +01:00
-@@ -710,16 +710,16 @@
- dnl Checks for Ascii-Art library
- dnl ---------------------------------------------
-
--AM_PATH_AALIB(1.4,, AC_MSG_RESULT([*** All of AALIB dependent parts will be disabled ***]))
--AM_CONDITIONAL(HAVE_AA, [test x"$enable_aalib" = "xyes" && test x$no_aalib != "xyes"])
-+dnl AM_PATH_AALIB(1.4,, AC_MSG_RESULT([*** All of AALIB dependent parts will be disabled ***]))
-+AM_CONDITIONAL(HAVE_AA, 0)
-
-
- dnl ---------------------------------------------
- dnl Checks for Color AsCii Art library
- dnl ---------------------------------------------
-
--AM_PATH_CACA(0.3,, AC_MSG_RESULT([*** All CACA-dependent parts will be disabled ***]))
--AM_CONDITIONAL(HAVE_CACA, test x$no_caca != "xyes")
-+dnl AM_PATH_CACA(0.3,, AC_MSG_RESULT([*** All CACA-dependent parts will be disabled ***]))
-+AM_CONDITIONAL(HAVE_CACA, 0)
-
-
- dnl ---------------------------------------------
diff --git a/recipes/libxine/libxine-x11-1.0/restore-esd.patch b/recipes/libxine/libxine-x11-1.0/restore-esd.patch
deleted file mode 100644
index 26a74adb80..0000000000
--- a/recipes/libxine/libxine-x11-1.0/restore-esd.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -urNd ../libxine-1.0-r1/xine-lib-1.0/configure.ac xine-lib-1.0/configure.ac
---- ../libxine-1.0-r1/xine-lib-1.0/configure.ac 2005-04-09 04:38:41 +01:00
-+++ xine-lib-1.0/configure.ac 2005-04-09 04:39:54 +01:00
-@@ -1080,8 +1080,9 @@
- dnl ESD support
- dnl ---------------------------------------------
-
--AM_CONDITIONAL(HAVE_ESD, 0)
--
-+AM_PATH_ESD(0.2.8,
-+ AC_DEFINE(HAVE_ESD,1,[Define this if you have ESD (libesd) installed]),- AC_MSG_RESULT(*** All of ESD dependent parts will be disabled ***))
-+AM_CONDITIONAL(HAVE_ESD, test x"$no_esd" != "xyes")
-
- dnl ---------------------------------------------
- dnl ARTS support
diff --git a/recipes/libxine/libxine-x11_1.0.bb b/recipes/libxine/libxine-x11_1.0.bb
deleted file mode 100644
index 6bc7e6eb15..0000000000
--- a/recipes/libxine/libxine-x11_1.0.bb
+++ /dev/null
@@ -1,100 +0,0 @@
-DESCRIPTION = "libxine is a versatile multimedia library decoding a lot of common audio and video formats. \
-This version is configued for the usage with X11"
-SECTION = "libs"
-PRIORITY = "optional"
-LICENSE = "GPL"
-DEPENDS = "zlib libogg libvorbis tremor libmodplug esound virtual/libx11 libxext libpng \
- ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad', d)}"
-PROVIDES = "virtual/libxine"
-PR = "r2"
-
-inherit autotools pkgconfig gettext binconfig
-
-SRC_URI = "http://heanet.dl.sourceforge.net/sourceforge/xine/xine-lib-${PV}.tar.gz \
- file://cpu-${PV}.patch;patch=1 \
- file://configure-${PV}.patch;patch=1 \
- file://libxine-tremor-autoconf.patch;patch=1 \
- file://libxine-libvorbis.patch;patch=1 \
- file://libxine-ffmpeg-enable-arm.patch;patch=1 \
- file://no-caca-no-aalib.patch;patch=1 \
- file://dont-have-xv.patch;patch=1 \
-# file://restore-esd.patch;patch=1 \
- file://fix-syntax-xine-vorbis-decoder.patch;patch=1 \
- file://libxine-cut-memusage.patch;patch=1 \
- file://mpegvideo-static-inlinine.patch;patch=1 \
- file://libxine-libavcodec.patch;patch=1 \
- file://libxine-gcc4.patch;patch=1"
-S = "${WORKDIR}/xine-lib-${PV}"
-
-SOV = "1.0.7"
-
-EXTRA_OECONF="-with-zlib-path=${STAGING_EXECPREFIXDIR} \
- --with-vorbis-prefix=${STAGING_EXECPREFIXDIR} \
- --disable-oggtest \
- --with-ogg-prefix=${STAGING_EXECPREFIXDIR} \
- --disable-altivec --disable-vis --disable-mlib \
- --disable-fb --disable-alsa --disable-vcd \
- --disable-asf --disable-faad --disable-iconv \
- --without-v4l --without-arts --without-sdl \
- --without-xv --without-xxmc --without-xvmc \
- --with-x --x-includes=${STAGING_INCDIR}/X11 --x-libraries=${STAGING_LIBDIR}"
-
-do_compile() {
- oe_runmake LIBTOOL=${S}/${TARGET_SYS}-libtool
-}
-
-do_install() {
- oe_runmake DESTDIR=${D} LIBTOOL=${S}/${TARGET_SYS}-libtool install
-}
-
-HEADERS="src/xine-engine/xineintl.h src/xine-utils/xineutils.h \
- src/xine-engine/xine_internal.h src/xine-engine/xine_plugin.h \
- src/xine-utils/xine_buffer.h src/xine-engine/video_out.h \
- src/xine-engine/buffer.h src/xine-engine/vo_scale.h \
- src/xine-engine/configfile.h src/xine-utils/attributes.h \
- src/xine-engine/info_helper.h src/xine-engine/scratch.h \
- src/xine-engine/audio_decoder.h src/input/input_plugin.h \
- src/xine-engine/spu_decoder.h src/xine-engine/audio_out.h \
- src/xine-engine/io_helper.h src/xine-engine/video_decoder.h \
- src/xine-engine/broadcaster.h src/xine-engine/metronom.h \
- src/xine-utils/xmllexer.h src/xine-engine/osd.h \
- src/xine-engine/video_overlay.h src/xine-utils/xmlparser.h \
- src/xine-utils/compat.h src/xine-engine/plugin_catalog.h \
- src/xine-engine/post.h src/demuxers/demux.h \
- src/xine-engine/resample.h lib/os_types.h \
- src/xine-engine/refcounter.h"
-
-do_stage() {
- install -d ${STAGING_INCDIR}/xine
-
- install -m 0644 ${S}/include/xine.h ${STAGING_INCDIR}
-
- for file in ${HEADERS}; do
- cp ${S}/$file ${STAGING_INCDIR}/xine/`basename $file`
- done
-
- install -m 0644 ${S}/m4/xine.m4 ${STAGING_DATADIR}/aclocal/
-
- oe_libinstall -so -C src/xine-engine libxine ${STAGING_LIBDIR}
-}
-
-PACKAGES_DYNAMIC = "libxine-plugin-* libxine-font-*"
-
-python populate_packages_prepend () {
- bb.data.setVar('PKG_libxine', 'libxine', d)
-
- plugindir = bb.data.expand('${libdir}/xine/plugins/1.0.0', d)
- do_split_packages(d, plugindir, '^xineplug_(.*)\.so$', 'libxine-plugin-%s', 'Xine plugin for %s', extra_depends='' )
-
- postdir = bb.data.expand('${libdir}/xine/plugins/1.0.0/post', d)
- do_split_packages(d, postdir, '^xineplug_(.*)\.so$', 'libxine-plugin-%s', 'Xine plugin for %s', extra_depends='' )
-
- fontdir = bb.data.expand('${datadir}/xine/libxine1/fonts', d)
- do_split_packages(d, fontdir, '^(.*).xinefont.gz$', 'libxine-font-%s', 'Xine font %s', extra_depends='' )
-}
-
-# Omit the annoying xine-config in ${bindir}
-FILES_${PN}="${libdir}/*.so*"
-
-# And include it in the dev package
-FILES_${PN}-dev += " ${bindir}"
diff --git a/recipes/libxine/libxine.inc b/recipes/libxine/libxine.inc
new file mode 100644
index 0000000000..91bb30f8b0
--- /dev/null
+++ b/recipes/libxine/libxine.inc
@@ -0,0 +1,65 @@
+DESCRIPTION = "libxine is a versatile multimedia library decoding a lot of common audio and video formats."
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "GPL"
+DEPENDS = "ffmpeg zlib libogg libvorbis tremor libmad libmodplug libpng alsa-lib virtual/libiconv virtual/libx11 \
+ libxv libxext directfb pulseaudio"
+
+inherit autotools gettext binconfig pkgconfig
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/xine/xine-lib-${PV}.tar.bz2"
+
+S = "${WORKDIR}/xine-lib-${PV}"
+
+SOV = "1.0.7"
+
+EXTRA_OECONF = "--with-zlib-path=${STAGING_EXECPREFIXDIR} \
+ --with-vorbis-prefix=${STAGING_EXECPREFIXDIR} \
+ --disable-oggtest --with-ogg-prefix=${STAGING_EXECPREFIXDIR} \
+ --disable-iconvtest \
+ --disable-asf --disable-faad \
+ --disable-aalib --disable-aalibtest \
+ --disable-esd --disable-esdtest \
+ --disable-dvdnav --disable-dvdnavtest \
+ --disable-vcd \
+ --without-arts --without-sdl \
+ --disable-altivec --disable-vis --disable-mlib \
+ --without-sdl \
+ --without-v4l --disable-dxr3 --disable-libfametest\
+ --disable-rpath \
+ --enable-fb --enable-directfb \
+ --with-x --x-includes=${STAGING_INCDIR}/X11 \
+ --x-libraries=${STAGING_LIBDIR} \
+ "
+
+LIBTOOL = "${HOST_SYS}-libtool"
+EXTRA_OEMAKE = "'LIBTOOL=${LIBTOOL}'"
+
+do_stage() {
+ autotools_stage_all
+}
+
+PACKAGES_DYNAMIC = "libxine-plugin-* libxine-font-*"
+
+python populate_packages_prepend () {
+ bb.data.setVar('PKG_libxine', 'libxine', d)
+
+ plugindir = bb.data.expand('${libdir}/xine/plugins/${PPDIR}', d)
+ do_split_packages(d, plugindir, '^xineplug_(.*)\.so$', 'libxine-plugin-%s', 'Xine plugin for %s', extra_depends='' )
+
+ postdir = bb.data.expand('${libdir}/xine/plugins/${PPDIR}/post', d)
+ do_split_packages(d, postdir, '^xineplug_(.*)\.so$', 'libxine-plugin-%s', 'Xine plugin for %s', extra_depends='' )
+
+ fontdir = bb.data.expand('${datadir}/xine/libxine1/fonts', d)
+ do_split_packages(d, fontdir, '^(.*).xinefont.gz$', 'libxine-font-%s', 'Xine font %s', extra_depends='' )
+}
+
+#python populate_packages_append () {
+# bb.data.setVar('PKG_libxine', 'libxine', d)
+#
+# plugindirdbg = bb.data.expand('${libdir}/xine/plugins/${PPDIR}/.debug', d)
+# do_split_packages(d, plugindirdbg, '^xineplug_(.*)\.so$', 'libxine-plugin-%s-dbg', 'Xine plugin for %s debugversion', extra_depends='' )
+#
+# postdirdbg = bb.data.expand('${libdir}/xine/plugins/${PPDIR}/post/.debug', d)
+# do_split_packages(d, postdirdbg, '^xineplug_(.*)\.so$', 'libxine-plugin-%s-dbg', 'Xine plugin for %s debugversion', extra_depends='' )
+#}
diff --git a/recipes/libxine/libxine_1.1.0.bb b/recipes/libxine/libxine_1.1.0.bb
deleted file mode 100644
index 71e7663101..0000000000
--- a/recipes/libxine/libxine_1.1.0.bb
+++ /dev/null
@@ -1,107 +0,0 @@
-DESCRIPTION = "libxine is a versatile multimedia library decoding a lot of common audio and video formats. \
-This version is configued for the usage with X11"
-SECTION = "libs"
-PRIORITY = "optional"
-LICENSE = "GPL"
-DEPENDS = "zlib libogg libvorbis tremor libmodplug esound virtual/libx11 libxext libpng \
- ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad', d)}"
-PROVIDES = "virtual/libxine"
-PR = "r2"
-
-inherit autotools pkgconfig gettext binconfig
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/xine/xine-lib-${PV}.tar.gz \
- file://configure.patch;patch=1 \
- file://cpuid.patch;patch=1 \
- file://fix-syntax-xine-vorbis-decoder.patch;patch=1 \
- file://libxine-arm-configure.patch;patch=1 \
- file://libxine-cut-memusage.patch;patch=1 \
- file://libxine-ffmpeg-enable-arm.patch;patch=1 \
-# file://libxine-libavcodec.patch;patch=1 \
- file://tremor.patch;patch=1 \
- file://libxine-tremor-autoconf.patch;patch=1 \
- file://mpegvideo-static-inlinine.patch;patch=1 \
- file://no-caca.patch;patch=1 \
- file://dont-have-xv.patch;patch=1 \
- file://gcc41.patch;patch=1 \
-"
-
-DEFAULT_PREFERENCE = "-1"
-
-S = "${WORKDIR}/xine-lib-${PV}"
-
-SOV = "1.0.7"
-
-EXTRA_OECONF="-with-zlib-path=${STAGING_EXECPREFIXDIR} \
- --with-vorbis-prefix=${STAGING_EXECPREFIXDIR} \
- --disable-oggtest \
- --with-ogg-prefix=${STAGING_EXECPREFIXDIR} \
- --disable-altivec --disable-vis --disable-mlib \
- --disable-fb --disable-alsa --disable-vcd \
- --disable-asf --disable-faad --disable-iconv \
- --without-v4l --without-arts --without-sdl \
- --without-xv --without-xxmc --without-xvmc \
- --disable-aalibtest \
- --with-x --x-includes=${STAGING_INCDIR}/X11 --x-libraries=${STAGING_LIBDIR}"
-
-export WAND_CONFIG="${STAGING_BINDIR_CROSS}/Wand-config"
-
-do_compile() {
- oe_runmake LIBTOOL=${S}/${TARGET_SYS}-libtool
-}
-
-do_install() {
- oe_runmake DESTDIR=${D} LIBTOOL=${S}/${TARGET_SYS}-libtool install
-}
-
-HEADERS="src/xine-engine/xineintl.h src/xine-utils/xineutils.h \
- src/xine-engine/xine_internal.h src/xine-engine/xine_plugin.h \
- src/xine-utils/xine_buffer.h src/xine-engine/video_out.h \
- src/xine-engine/buffer.h src/xine-engine/vo_scale.h \
- src/xine-engine/configfile.h src/xine-utils/attributes.h \
- src/xine-engine/info_helper.h src/xine-engine/scratch.h \
- src/xine-engine/audio_decoder.h src/input/input_plugin.h \
- src/xine-engine/spu_decoder.h src/xine-engine/audio_out.h \
- src/xine-engine/io_helper.h src/xine-engine/video_decoder.h \
- src/xine-engine/broadcaster.h src/xine-engine/metronom.h \
- src/xine-utils/xmllexer.h src/xine-engine/osd.h \
- src/xine-engine/video_overlay.h src/xine-utils/xmlparser.h \
- src/xine-utils/compat.h src/xine-engine/plugin_catalog.h \
- src/xine-engine/post.h src/demuxers/demux.h \
- src/xine-engine/resample.h lib/os_types.h \
- src/xine-engine/refcounter.h"
-
-do_stage() {
- install -d ${STAGING_INCDIR}/xine
-
- install -m 0644 ${S}/include/xine.h ${STAGING_INCDIR}
-
- for file in ${HEADERS}; do
- cp ${S}/$file ${STAGING_INCDIR}/xine/`basename $file`
- done
-
- install -m 0644 ${S}/m4/xine.m4 ${STAGING_DATADIR}/aclocal/
-
- oe_libinstall -so -C src/xine-engine libxine ${STAGING_LIBDIR}
-}
-
-PACKAGES_DYNAMIC = "libxine-plugin-* libxine-font-*"
-
-python populate_packages_prepend () {
- bb.data.setVar('PKG_libxine', 'libxine', d)
-
- plugindir = bb.data.expand('${libdir}/xine/plugins/1.1.0', d)
- do_split_packages(d, plugindir, '^xineplug_(.*)\.so$', 'libxine-plugin-%s', 'Xine plugin for %s', extra_depends='' )
-
- postdir = bb.data.expand('${libdir}/xine/plugins/1.1.0/post', d)
- do_split_packages(d, postdir, '^xineplug_(.*)\.so$', 'libxine-plugin-%s', 'Xine plugin for %s', extra_depends='' )
-
- fontdir = bb.data.expand('${datadir}/xine/libxine1/fonts', d)
- do_split_packages(d, fontdir, '^(.*).xinefont.gz$', 'libxine-font-%s', 'Xine font %s', extra_depends='' )
-}
-
-# Omit the annoying xine-config in ${bindir}
-FILES_${PN}="${libdir}/*.so*"
-
-# And include it in the dev package
-FILES_${PN}-dev += " ${bindir}"
diff --git a/recipes/libxine/libxine_1.1.16.bb b/recipes/libxine/libxine_1.1.16.bb
new file mode 100644
index 0000000000..c46b39303c
--- /dev/null
+++ b/recipes/libxine/libxine_1.1.16.bb
@@ -0,0 +1,39 @@
+require libxine.inc
+
+PPDIR = "1.25"
+PR = "r0"
+
+
+SRC_URI += " \
+ file://libxine-arm-configure.patch;patch=1 \
+ file://iconv.patch;patch=1 \
+ file://libpostproc.patch;patch=1 \
+ file://libavcodec.patch;patch=1 \
+ "
+
+python populate_packages_prepend () {
+ bb.data.setVar('PKG_libxine', 'libxine', d)
+
+ plugindir = bb.data.expand('${libdir}/xine/plugins/${PPDIR}', d)
+ do_split_packages(d, plugindir, '^xineplug_(.*)\.so$', 'libxine-plugin-%s', 'Xine plugin for %s', extra_depends='' )
+
+ vidixdir = bb.data.expand('${libdir}/xine/plugins/${PPDIR}/vidix', d)
+ do_split_packages(d, vidixdir, '^(.*)\.so$', 'libxine-plugin-%s', 'Xine plugin for %s', extra_depends='' )
+
+ postdir = bb.data.expand('${libdir}/xine/plugins/${PPDIR}/post', d)
+ do_split_packages(d, postdir, '^xineplug_(.*)\.so$', 'libxine-plugin-%s', 'Xine plugin for %s', extra_depends='' )
+
+ fontdir = bb.data.expand('${datadir}/xine/libxine1/fonts', d)
+ do_split_packages(d, fontdir, '^(.*).xinefont.gz$', 'libxine-font-%s', 'Xine font %s', extra_depends='' )
+
+}
+
+FILES_${PN}-dbg =+ "${libdir}/xine/plugins/${PPDIR}/.debug \
+ ${libdir}/xine/plugins/${PPDIR}/post/.debug \
+ ${libdir}/xine/plugins/${PPDIR}/vidix/.debug \
+ "
+
+FILES_${PN}-dev =+ "${libdir}/xine/plugins/${PPDIR}/*.a \
+ ${libdir}/xine/plugins/${PPDIR}/post/*.a \
+ ${libdir}/xine/plugins/${PPDIR}/vidix/*.a \
+ "
diff --git a/recipes/linux/files/linux-2.6-limits.patch b/recipes/linux/files/linux-2.6-limits.patch
new file mode 100644
index 0000000000..777a2fa671
--- /dev/null
+++ b/recipes/linux/files/linux-2.6-limits.patch
@@ -0,0 +1,10 @@
+--- linux/scripts/mod/sumversion.c.orig 2009-03-15 21:44:58.000000000 +0100
++++ linux/scripts/mod/sumversion.c 2009-03-15 21:44:58.000000000 +0100
+@@ -8,6 +8,7 @@
+ #include <errno.h>
+ #include <string.h>
+ #include "modpost.h"
++#include <linux/limits.h>
+
+ /*
+ * Stolen form Cryptographic API.
diff --git a/recipes/linux/linux-2.6.27/boc01/010-090112-mii.patch b/recipes/linux/linux-2.6.27/boc01/010-090112-mii.patch
deleted file mode 100644
index 33c6cb7498..0000000000
--- a/recipes/linux/linux-2.6.27/boc01/010-090112-mii.patch
+++ /dev/null
@@ -1,503 +0,0 @@
-Index: linux-2.6.27/drivers/net/gianfar_ethtool.c
-===================================================================
---- linux-2.6.27.orig/drivers/net/gianfar_ethtool.c
-+++ linux-2.6.27/drivers/net/gianfar_ethtool.c
-@@ -182,13 +182,7 @@ static void gfar_gdrvinfo(struct net_dev
-
- static int gfar_ssettings(struct net_device *dev, struct ethtool_cmd *cmd)
- {
-- struct gfar_private *priv = netdev_priv(dev);
-- struct phy_device *phydev = priv->phydev;
--
-- if (NULL == phydev)
-- return -ENODEV;
--
-- return phy_ethtool_sset(phydev, cmd);
-+ return 0;
- }
-
-
-@@ -196,15 +190,11 @@ static int gfar_ssettings(struct net_dev
- static int gfar_gsettings(struct net_device *dev, struct ethtool_cmd *cmd)
- {
- struct gfar_private *priv = netdev_priv(dev);
-- struct phy_device *phydev = priv->phydev;
--
-- if (NULL == phydev)
-- return -ENODEV;
-
- cmd->maxtxpkt = priv->txcount;
- cmd->maxrxpkt = priv->rxcount;
-
-- return phy_ethtool_gset(phydev, cmd);
-+ return 0;
- }
-
- /* Return the length of the register structure */
-@@ -232,18 +222,7 @@ static unsigned int gfar_usecs2ticks(str
- unsigned int count;
-
- /* The timer is different, depending on the interface speed */
-- switch (priv->phydev->speed) {
-- case SPEED_1000:
-- count = GFAR_GBIT_TIME;
-- break;
-- case SPEED_100:
-- count = GFAR_100_TIME;
-- break;
-- case SPEED_10:
-- default:
-- count = GFAR_10_TIME;
-- break;
-- }
-+ count = GFAR_100_TIME;
-
- /* Make sure we return a number greater than 0
- * if usecs > 0 */
-@@ -256,18 +235,7 @@ static unsigned int gfar_ticks2usecs(str
- unsigned int count;
-
- /* The timer is different, depending on the interface speed */
-- switch (priv->phydev->speed) {
-- case SPEED_1000:
-- count = GFAR_GBIT_TIME;
-- break;
-- case SPEED_100:
-- count = GFAR_100_TIME;
-- break;
-- case SPEED_10:
-- default:
-- count = GFAR_10_TIME;
-- break;
-- }
-+ count = GFAR_100_TIME;
-
- /* Make sure we return a number greater than 0 */
- /* if ticks is > 0 */
-@@ -283,9 +251,6 @@ static int gfar_gcoalesce(struct net_dev
- if (!(priv->einfo->device_flags & FSL_GIANFAR_DEV_HAS_COALESCE))
- return -EOPNOTSUPP;
-
-- if (NULL == priv->phydev)
-- return -ENODEV;
--
- cvals->rx_coalesce_usecs = gfar_ticks2usecs(priv, priv->rxtime);
- cvals->rx_max_coalesced_frames = priv->rxcount;
-
-@@ -342,9 +307,6 @@ static int gfar_scoalesce(struct net_dev
- else
- priv->rxcoalescing = 1;
-
-- if (NULL == priv->phydev)
-- return -ENODEV;
--
- /* Check the bounds of the values */
- if (cvals->rx_coalesce_usecs > GFAR_MAX_COAL_USECS) {
- pr_info("Coalescing is limited to %d microseconds\n",
-Index: linux-2.6.27/drivers/net/gianfar.c
-===================================================================
---- linux-2.6.27.orig/drivers/net/gianfar.c
-+++ linux-2.6.27/drivers/net/gianfar.c
-@@ -116,7 +116,6 @@ static int gfar_change_mtu(struct net_de
- static irqreturn_t gfar_error(int irq, void *dev_id);
- static irqreturn_t gfar_transmit(int irq, void *dev_id);
- static irqreturn_t gfar_interrupt(int irq, void *dev_id);
--static void adjust_link(struct net_device *dev);
- static void init_registers(struct net_device *dev);
- static int init_phy(struct net_device *dev);
- static int gfar_probe(struct platform_device *pdev);
-@@ -124,7 +123,6 @@ static int gfar_remove(struct platform_d
- static void free_skb_resources(struct gfar_private *priv);
- static void gfar_set_multi(struct net_device *dev);
- static void gfar_set_hash_for_addr(struct net_device *dev, u8 *addr);
--static void gfar_configure_serdes(struct net_device *dev);
- static int gfar_poll(struct napi_struct *napi, int budget);
- #ifdef CONFIG_NET_POLL_CONTROLLER
- static void gfar_netpoll(struct net_device *dev);
-@@ -424,8 +422,6 @@ static int gfar_suspend(struct platform_
- tempval = gfar_read(&priv->regs->maccfg2);
- tempval |= MACCFG2_MPEN;
- gfar_write(&priv->regs->maccfg2, tempval);
-- } else {
-- phy_stop(priv->phydev);
- }
- }
-
-@@ -438,17 +434,12 @@ static int gfar_resume(struct platform_d
- struct gfar_private *priv = netdev_priv(dev);
- unsigned long flags;
- u32 tempval;
-- int magic_packet = priv->wol_en &&
-- (priv->einfo->device_flags & FSL_GIANFAR_DEV_HAS_MAGIC_PACKET);
-
- if (!netif_running(dev)) {
- netif_device_attach(dev);
- return 0;
- }
-
-- if (!magic_packet && priv->phydev)
-- phy_start(priv->phydev);
--
- /* Disable Magic Packet mode, in case something
- * else woke us up.
- */
-@@ -476,47 +467,6 @@ static int gfar_resume(struct platform_d
- #define gfar_resume NULL
- #endif
-
--/* Reads the controller's registers to determine what interface
-- * connects it to the PHY.
-- */
--static phy_interface_t gfar_get_interface(struct net_device *dev)
--{
-- struct gfar_private *priv = netdev_priv(dev);
-- u32 ecntrl = gfar_read(&priv->regs->ecntrl);
--
-- if (ecntrl & ECNTRL_SGMII_MODE)
-- return PHY_INTERFACE_MODE_SGMII;
--
-- if (ecntrl & ECNTRL_TBI_MODE) {
-- if (ecntrl & ECNTRL_REDUCED_MODE)
-- return PHY_INTERFACE_MODE_RTBI;
-- else
-- return PHY_INTERFACE_MODE_TBI;
-- }
--
-- if (ecntrl & ECNTRL_REDUCED_MODE) {
-- if (ecntrl & ECNTRL_REDUCED_MII_MODE)
-- return PHY_INTERFACE_MODE_RMII;
-- else {
-- phy_interface_t interface = priv->einfo->interface;
--
-- /*
-- * This isn't autodetected right now, so it must
-- * be set by the device tree or platform code.
-- */
-- if (interface == PHY_INTERFACE_MODE_RGMII_ID)
-- return PHY_INTERFACE_MODE_RGMII_ID;
--
-- return PHY_INTERFACE_MODE_RGMII;
-- }
-- }
--
-- if (priv->einfo->device_flags & FSL_GIANFAR_DEV_HAS_GIGABIT)
-- return PHY_INTERFACE_MODE_GMII;
--
-- return PHY_INTERFACE_MODE_MII;
--}
--
-
- /* Initializes driver's PHY state, and attaches to the PHY.
- * Returns 0 on success.
-@@ -524,10 +474,6 @@ static phy_interface_t gfar_get_interfac
- static int init_phy(struct net_device *dev)
- {
- struct gfar_private *priv = netdev_priv(dev);
-- uint gigabit_support =
-- priv->einfo->device_flags & FSL_GIANFAR_DEV_HAS_GIGABIT ?
-- SUPPORTED_1000baseT_Full : 0;
-- struct phy_device *phydev;
- char phy_id[BUS_ID_SIZE];
- phy_interface_t interface;
-
-@@ -537,54 +483,11 @@ static int init_phy(struct net_device *d
-
- snprintf(phy_id, BUS_ID_SIZE, PHY_ID_FMT, priv->einfo->bus_id, priv->einfo->phy_id);
-
-- interface = gfar_get_interface(dev);
--
-- phydev = phy_connect(dev, phy_id, &adjust_link, 0, interface);
--
-- if (interface == PHY_INTERFACE_MODE_SGMII)
-- gfar_configure_serdes(dev);
--
-- if (IS_ERR(phydev)) {
-- printk(KERN_ERR "%s: Could not attach to PHY\n", dev->name);
-- return PTR_ERR(phydev);
-- }
--
-- /* Remove any features not supported by the controller */
-- phydev->supported &= (GFAR_SUPPORTED | gigabit_support);
-- phydev->advertising = phydev->supported;
--
-- priv->phydev = phydev;
-+ interface = PHY_INTERFACE_MODE_MII;
-
- return 0;
- }
-
--/*
-- * Initialize TBI PHY interface for communicating with the
-- * SERDES lynx PHY on the chip. We communicate with this PHY
-- * through the MDIO bus on each controller, treating it as a
-- * "normal" PHY at the address found in the TBIPA register. We assume
-- * that the TBIPA register is valid. Either the MDIO bus code will set
-- * it to a value that doesn't conflict with other PHYs on the bus, or the
-- * value doesn't matter, as there are no other PHYs on the bus.
-- */
--static void gfar_configure_serdes(struct net_device *dev)
--{
-- struct gfar_private *priv = netdev_priv(dev);
-- struct gfar_mii __iomem *regs =
-- (void __iomem *)&priv->regs->gfar_mii_regs;
-- int tbipa = gfar_read(&priv->regs->tbipa);
--
-- /* Single clk mode, mii mode off(for serdes communication) */
-- gfar_local_mdio_write(regs, tbipa, MII_TBICON, TBICON_CLK_SELECT);
--
-- gfar_local_mdio_write(regs, tbipa, MII_ADVERTISE,
-- ADVERTISE_1000XFULL | ADVERTISE_1000XPAUSE |
-- ADVERTISE_1000XPSE_ASYM);
--
-- gfar_local_mdio_write(regs, tbipa, MII_BMCR, BMCR_ANENABLE |
-- BMCR_ANRESTART | BMCR_FULLDPLX | BMCR_SPEED1000);
--}
--
- static void init_registers(struct net_device *dev)
- {
- struct gfar_private *priv = netdev_priv(dev);
-@@ -678,8 +581,6 @@ void stop_gfar(struct net_device *dev)
- struct gfar __iomem *regs = priv->regs;
- unsigned long flags;
-
-- phy_stop(priv->phydev);
--
- /* Lock it down */
- spin_lock_irqsave(&priv->txlock, flags);
- spin_lock(&priv->rxlock);
-@@ -949,7 +850,6 @@ int startup_gfar(struct net_device *dev)
- }
- }
-
-- phy_start(priv->phydev);
-
- /* Configure the coalescing support */
- if (priv->txcoalescing)
-@@ -1217,9 +1117,6 @@ static int gfar_close(struct net_device
- cancel_work_sync(&priv->reset_task);
- stop_gfar(dev);
-
-- /* Disconnect from the PHY */
-- phy_disconnect(priv->phydev);
-- priv->phydev = NULL;
-
- netif_stop_queue(dev);
-
-@@ -1777,86 +1674,6 @@ static irqreturn_t gfar_interrupt(int ir
- return IRQ_HANDLED;
- }
-
--/* Called every time the controller might need to be made
-- * aware of new link state. The PHY code conveys this
-- * information through variables in the phydev structure, and this
-- * function converts those variables into the appropriate
-- * register values, and can bring down the device if needed.
-- */
--static void adjust_link(struct net_device *dev)
--{
-- struct gfar_private *priv = netdev_priv(dev);
-- struct gfar __iomem *regs = priv->regs;
-- unsigned long flags;
-- struct phy_device *phydev = priv->phydev;
-- int new_state = 0;
--
-- spin_lock_irqsave(&priv->txlock, flags);
-- if (phydev->link) {
-- u32 tempval = gfar_read(&regs->maccfg2);
-- u32 ecntrl = gfar_read(&regs->ecntrl);
--
-- /* Now we make sure that we can be in full duplex mode.
-- * If not, we operate in half-duplex mode. */
-- if (phydev->duplex != priv->oldduplex) {
-- new_state = 1;
-- if (!(phydev->duplex))
-- tempval &= ~(MACCFG2_FULL_DUPLEX);
-- else
-- tempval |= MACCFG2_FULL_DUPLEX;
--
-- priv->oldduplex = phydev->duplex;
-- }
--
-- if (phydev->speed != priv->oldspeed) {
-- new_state = 1;
-- switch (phydev->speed) {
-- case 1000:
-- tempval =
-- ((tempval & ~(MACCFG2_IF)) | MACCFG2_GMII);
-- break;
-- case 100:
-- case 10:
-- tempval =
-- ((tempval & ~(MACCFG2_IF)) | MACCFG2_MII);
--
-- /* Reduced mode distinguishes
-- * between 10 and 100 */
-- if (phydev->speed == SPEED_100)
-- ecntrl |= ECNTRL_R100;
-- else
-- ecntrl &= ~(ECNTRL_R100);
-- break;
-- default:
-- if (netif_msg_link(priv))
-- printk(KERN_WARNING
-- "%s: Ack! Speed (%d) is not 10/100/1000!\n",
-- dev->name, phydev->speed);
-- break;
-- }
--
-- priv->oldspeed = phydev->speed;
-- }
--
-- gfar_write(&regs->maccfg2, tempval);
-- gfar_write(&regs->ecntrl, ecntrl);
--
-- if (!priv->oldlink) {
-- new_state = 1;
-- priv->oldlink = 1;
-- }
-- } else if (priv->oldlink) {
-- new_state = 1;
-- priv->oldlink = 0;
-- priv->oldspeed = 0;
-- priv->oldduplex = -1;
-- }
--
-- if (new_state && netif_msg_link(priv))
-- phy_print_status(phydev);
--
-- spin_unlock_irqrestore(&priv->txlock, flags);
--}
-
- /* Update the hash table based on the current list of multicast
- * addresses we subscribe to. Also, change the promiscuity of
-Index: linux-2.6.27/drivers/net/gianfar.h
-===================================================================
---- linux-2.6.27.orig/drivers/net/gianfar.h
-+++ linux-2.6.27/drivers/net/gianfar.h
-@@ -150,7 +150,7 @@ extern const char gfar_driver_version[];
- #define MACCFG1_SYNCD_TX_EN 0x00000002
- #define MACCFG1_TX_EN 0x00000001
-
--#define MACCFG2_INIT_SETTINGS 0x00007205
-+#define MACCFG2_INIT_SETTINGS 0x00007105
- #define MACCFG2_FULL_DUPLEX 0x00000001
- #define MACCFG2_IF 0x00000300
- #define MACCFG2_MII 0x00000100
-@@ -748,7 +748,6 @@ struct gfar_private {
- struct gianfar_platform_data *einfo;
-
- /* PHY stuff */
-- struct phy_device *phydev;
- struct mii_bus *mii_bus;
- int oldspeed;
- int oldduplex;
-Index: linux-2.6.27/drivers/net/gianfar_mii.c
-===================================================================
---- linux-2.6.27.orig/drivers/net/gianfar_mii.c
-+++ linux-2.6.27/drivers/net/gianfar_mii.c
-@@ -217,28 +217,10 @@ static int gfar_mdio_probe(struct device
- if (r)
- return r;
-
-- if (phy_id == 0xffffffff)
-- break;
-- }
--
-- /* The bus is full. We don't support using 31 PHYs, sorry */
-- if (i == 0)
-- return -EBUSY;
--
-- gfar_write(&enet_regs->tbipa, i);
--
-- err = mdiobus_register(new_bus);
--
-- if (0 != err) {
-- printk (KERN_ERR "%s: Cannot register as MDIO bus\n",
-- new_bus->name);
-- goto bus_register_fail;
- }
-
- return 0;
-
--bus_register_fail:
-- iounmap(regs);
- reg_map_fail:
- kfree(new_bus);
-
-Index: linux-2.6.27/drivers/net/gianfar_mii.h
-===================================================================
---- linux-2.6.27.orig/drivers/net/gianfar_mii.h
-+++ linux-2.6.27/drivers/net/gianfar_mii.h
-@@ -27,7 +27,6 @@
- | SUPPORTED_10baseT_Full \
- | SUPPORTED_100baseT_Half \
- | SUPPORTED_100baseT_Full \
-- | SUPPORTED_Autoneg \
- | SUPPORTED_MII)
-
- struct gfar_mii {
-Index: linux-2.6.27/drivers/net/phy/phy_device.c
-===================================================================
---- linux-2.6.27.orig/drivers/net/phy/phy_device.c
-+++ linux-2.6.27/drivers/net/phy/phy_device.c
-@@ -281,7 +281,7 @@ struct phy_device * phy_connect(struct n
- if (IS_ERR(phydev))
- return phydev;
-
-- phy_prepare_link(phydev, handler);
-+ phydev->link = 1;
-
- phy_start_machine(phydev, NULL);
-
-@@ -302,7 +302,7 @@ void phy_disconnect(struct phy_device *p
- phy_stop_interrupts(phydev);
-
- phy_stop_machine(phydev);
--
-+
- phydev->adjust_link = NULL;
-
- phy_detach(phydev);
-@@ -438,7 +438,7 @@ int genphy_config_advert(struct phy_devi
- if (adv < 0)
- return adv;
-
-- adv &= ~(ADVERTISE_ALL | ADVERTISE_100BASE4 | ADVERTISE_PAUSE_CAP |
-+ adv &= ~(ADVERTISE_ALL | ADVERTISE_100BASE4 | ADVERTISE_PAUSE_CAP |
- ADVERTISE_PAUSE_ASYM);
- if (advertise & ADVERTISED_10baseT_Half)
- adv |= ADVERTISE_10HALF;
-@@ -503,7 +503,7 @@ int genphy_setup_forced(struct phy_devic
-
- if (DUPLEX_FULL == phydev->duplex)
- ctl |= BMCR_FULLDPLX;
--
-+
- err = phy_write(phydev, MII_BMCR, ctl);
-
- if (err < 0)
-@@ -671,7 +671,7 @@ int genphy_read_status(struct phy_device
- phydev->duplex = DUPLEX_FULL;
- } else if (lpa & (LPA_100FULL | LPA_100HALF)) {
- phydev->speed = SPEED_100;
--
-+
- if (lpa & LPA_100FULL)
- phydev->duplex = DUPLEX_FULL;
- } else
-Index: linux-2.6.27/include/linux/phy.h
-===================================================================
---- linux-2.6.27.orig/include/linux/phy.h
-+++ linux-2.6.27/include/linux/phy.h
-@@ -339,6 +339,11 @@ struct phy_driver {
- u32 features;
- u32 flags;
-
-+ /* Called during discovery to test if the
-+ * device can attach to the bus, even if
-+ phy id and mask do not match */
-+ bool (*detect)(struct mii_bus *bus, int addr);
-+
- /*
- * Called to initialize the PHY,
- * including after a reset
diff --git a/recipes/linux/linux-2.6.27/boc01/boc01.dts b/recipes/linux/linux-2.6.27/boc01/boc01.dts
index ffc27abb31..710ef8fec0 100644
--- a/recipes/linux/linux-2.6.27/boc01/boc01.dts
+++ b/recipes/linux/linux-2.6.27/boc01/boc01.dts
@@ -2,7 +2,7 @@
* Bolloré telecom CPE v01 Device Tree Source
*
* Copyright 2005, 2006, 2007 Freescale Semiconductor Inc.
- * Copyright 2008 Bolloré telecom.
+ * Copyright 2008, 2009 Bolloré telecom.
*
* 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
@@ -171,7 +171,6 @@
mode = "cpu";
};
-
/* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */
usb@23000 {
compatible = "fsl-usb2-dr";
@@ -184,20 +183,6 @@
sleep = <&pmc 0x00300000>;
};
-
- mdio@24520 {
- #address-cells = <1>;
- #size-cells = <0>;
- reg = <0x24520 0x20>;
- phy4: ethernet-phy@4 {
- interrupt-parent = <&ipic>;
- interrupts = <20 0x8>;
- reg = <0x4>;
- device_type = "ethernet-phy";
- };
- };
-
-
enet1: ethernet@25000 {
cell-index = <1>;
device_type = "network";
@@ -207,7 +192,7 @@
local-mac-address = [ 00 00 00 00 00 00 ];
interrupts = <34 0x8 33 0x8 32 0x8>;
interrupt-parent = <&ipic>;
- phy-handle = < &phy4 >;
+ fixed-link = <1 1 100 0 0>;
sleep = <&pmc 0x10000000>;
fsl,magic-packet;
};
diff --git a/recipes/linux/linux-2.6.29/boc01/001-090114-sqn11x0-usb-hack.patch b/recipes/linux/linux-2.6.29/boc01/001-090114-sqn11x0-usb-hack.patch
new file mode 100644
index 0000000000..4bd44e25db
--- /dev/null
+++ b/recipes/linux/linux-2.6.29/boc01/001-090114-sqn11x0-usb-hack.patch
@@ -0,0 +1,17 @@
+diff -ur linux-2.6.27.orig/drivers/usb/host/ehci-q.c linux-2.6.27/drivers/usb/host/ehci-q.c
+--- linux-2.6.27.orig/drivers/usb/host/ehci-q.c 2008-10-10 00:13:53.000000000 +0200
++++ linux-2.6.27/drivers/usb/host/ehci-q.c 2009-01-06 18:31:38.000000000 +0100
+@@ -799,7 +799,12 @@
+ * to help them do so. So now people expect to use
+ * such nonconformant devices with Linux too; sigh.
+ */
+- info1 |= max_packet(maxp) << 16;
++ struct usb_device_descriptor *desc = &urb->dev->descriptor;
++ if (desc->idVendor == cpu_to_le16(0x148e) && desc->idProduct == cpu_to_le16(0x0900)) {
++ info1 |= 256 << 16;
++ } else {
++ info1 |= max_packet(maxp) << 16;
++ }
+ info2 |= (EHCI_TUNE_MULT_HS << 30);
+ } else { /* PIPE_INTERRUPT */
+ info1 |= max_packet (maxp) << 16;
diff --git a/recipes/linux/linux-2.6.29/boc01/004-081205-usb.patch b/recipes/linux/linux-2.6.29/boc01/004-081205-usb.patch
new file mode 100644
index 0000000000..dc7eba64d0
--- /dev/null
+++ b/recipes/linux/linux-2.6.29/boc01/004-081205-usb.patch
@@ -0,0 +1,16 @@
+--- linux-2.6.27.orig/arch/powerpc/platforms/83xx/usb.c 2008-12-05 14:50:43.000000000 +0100
++++ linux-2.6.27.modif/arch/powerpc/platforms/83xx/usb.c 2008-12-05 14:51:17.000000000 +0100
+@@ -172,10 +172,10 @@
+ !strcmp(prop, "utmi"))) {
+ u32 refsel;
+
+- if (of_device_is_compatible(immr_node, "fsl,mpc8315-immr"))
++// if (of_device_is_compatible(immr_node, "fsl,mpc8315-immr"))
+ refsel = CONTROL_REFSEL_24MHZ;
+- else
+- refsel = CONTROL_REFSEL_48MHZ;
++// else
++// refsel = CONTROL_REFSEL_48MHZ;
+ /* Set UTMI_PHY_EN and REFSEL */
+ out_be32(usb_regs + FSL_USB2_CONTROL_OFFS,
+ CONTROL_UTMI_PHY_EN | refsel);
diff --git a/recipes/linux/linux-2.6.29/boc01/005-090226-isl12024.patch b/recipes/linux/linux-2.6.29/boc01/005-090226-isl12024.patch
new file mode 100644
index 0000000000..ce71c3af80
--- /dev/null
+++ b/recipes/linux/linux-2.6.29/boc01/005-090226-isl12024.patch
@@ -0,0 +1,693 @@
+Index: linux-2.6.29/drivers/misc/eeprom/at24.c
+===================================================================
+--- linux-2.6.29.orig/drivers/misc/eeprom/at24.c 2009-03-24 00:12:14.000000000 +0100
++++ linux-2.6.29/drivers/misc/eeprom/at24.c 2009-04-01 17:37:45.000000000 +0200
+@@ -114,6 +114,8 @@
+ { "spd", AT24_DEVICE_MAGIC(2048 / 8,
+ AT24_FLAG_READONLY | AT24_FLAG_IRUGO) },
+ { "24c04", AT24_DEVICE_MAGIC(4096 / 8, 0) },
++ /* Intersil RTC/Unique-ID isl12024 eeprom handled here */
++ { "isl12024",AT24_DEVICE_MAGIC(4096 / 8, AT24_FLAG_ADDR16) },
+ /* 24rf08 quirk is handled at i2c-core */
+ { "24c08", AT24_DEVICE_MAGIC(8192 / 8, 0) },
+ { "24c16", AT24_DEVICE_MAGIC(16384 / 8, 0) },
+Index: linux-2.6.29/drivers/rtc/Kconfig
+===================================================================
+--- linux-2.6.29.orig/drivers/rtc/Kconfig 2009-03-24 00:12:14.000000000 +0100
++++ linux-2.6.29/drivers/rtc/Kconfig 2009-04-01 17:37:45.000000000 +0200
+@@ -128,6 +128,12 @@
+
+ if I2C
+
++config RTC_DRV_ISL12024
++ tristate "Intersil 12024 RTC/ UniqueID"
++ help
++ If you say yes ....
++ This driver can also be built as a module.
++
+ config RTC_DRV_DS1307
+ tristate "Dallas/Maxim DS1307/37/38/39/40, ST M41T00"
+ help
+Index: linux-2.6.29/drivers/rtc/Makefile
+===================================================================
+--- linux-2.6.29.orig/drivers/rtc/Makefile 2009-03-24 00:12:14.000000000 +0100
++++ linux-2.6.29/drivers/rtc/Makefile 2009-04-01 17:37:45.000000000 +0200
+@@ -39,6 +39,7 @@
+ obj-$(CONFIG_RTC_DRV_EP93XX) += rtc-ep93xx.o
+ obj-$(CONFIG_RTC_DRV_FM3130) += rtc-fm3130.o
+ obj-$(CONFIG_RTC_DRV_ISL1208) += rtc-isl1208.o
++obj-$(CONFIG_RTC_DRV_ISL12024) += rtc-isl12024.o
+ obj-$(CONFIG_RTC_DRV_M41T80) += rtc-m41t80.o
+ obj-$(CONFIG_RTC_DRV_M41T94) += rtc-m41t94.o
+ obj-$(CONFIG_RTC_DRV_M48T35) += rtc-m48t35.o
+Index: linux-2.6.29/drivers/rtc/isl12024.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.29/drivers/rtc/isl12024.h 2009-04-01 17:37:45.000000000 +0200
+@@ -0,0 +1,100 @@
++/*
++ * Intersil ISL12024 chip registers definitions
++ *
++ *
++ * Copyright (C) 2008, CenoSYS (www.cenosys.com).
++ * Guillaume Ligneul
++ * Guillaume.ligneul@gmail.com
++ *
++ * This software program is licensed subject to the GNU General Public License
++ * (GPL).Version 2,June 1991, available at http://www.fsf.org/copyleft/gpl.html
++ */
++
++#ifndef ISL12024_H_
++#define ISL12024_H_
++
++#define ISL12024_REG_SR 0x3F /* status register */
++#define ISL12024_REG_Y2K 0x37
++#define ISL12024_REG_DW 0x36
++#define ISL12024_REG_YR 0x35
++#define ISL12024_REG_MO 0x34
++#define ISL12024_REG_DT 0x33
++#define ISL12024_REG_HR 0x32
++#define ISL12024_REG_MN 0x31
++#define ISL12024_REG_SC 0x30
++#define ISL12024_REG_DTR 0x13
++#define ISL12024_REG_ATR 0x12
++#define ISL12024_REG_INT 0x11
++#define ISL12024_REG_0 0x10
++#define ISL12024_REG_Y2K1 0x0F
++#define ISL12024_REG_DWA1 0x0E
++#define ISL12024_REG_YRA1 0x0D
++#define ISL12024_REG_MOA1 0x0C
++#define ISL12024_REG_DTA1 0x0B
++#define ISL12024_REG_HRA1 0x0A
++#define ISL12024_REG_MNA1 0x09
++#define ISL12024_REG_SCA1 0x08
++#define ISL12024_REG_Y2K0 0x07
++#define ISL12024_REG_DWA0 0x06
++#define ISL12024_REG_YRA0 0x05
++#define ISL12024_REG_MOA0 0x04
++#define ISL12024_REG_DTA0 0x03
++#define ISL12024_REG_HRA0 0x02
++#define ISL12024_REG_MNA0 0x01
++#define ISL12024_REG_SCA0 0x00
++
++#define ISL12024_CCR_BASE 0x30 /* Base address of CCR */
++#define ISL12024_ALM0_BASE 0x00 /* Base address of ALARM0 */
++
++#define ISL12024_SR_RTCF 0x01 /* Clock failure */
++#define ISL12024_SR_WEL 0x02 /* Write Enable Latch */
++#define ISL12024_SR_RWEL 0x04 /* Register Write Enable */
++#define ISL12024_SR_AL0 0x20 /* Alarm 0 match */
++
++#define ISL12024_DTR_DTR0 0x01
++#define ISL12024_DTR_DTR1 0x02
++#define ISL12024_DTR_DTR2 0x04
++
++#define ISL12024_HR_MIL 0x80 /* Set in ccr.hour for 24 hr mode */
++
++#define ISL12024_INT_AL0E 0x20 /* Alarm 0 enable */
++
++/* I2C ADDRESS */
++#define ISL12024_I2C_ADDR 0xDE
++#define ISL12024_I2C_EEPROM_ADDR 0x57
++
++/* device id section */
++#define ISL12024_REG_ID 0x20
++
++/* Register map */
++/* rtc section */
++#define ISL12024_REG_HR_MIL (1<<7) /* 24h/12h mode */
++#define ISL12024_REG_HR_PM (1<<5) /* PM/AM bit in 12h mode */
++//#define ISL12024_REG_DT 0x33 /* Date */
++//#define ISL12024_REG_MO 0x34 /* Month */
++//#define ISL12024_REG_YR 0x35 /* Year */
++//#define ISL12024_REG_DW 0x36
++//#define ISL12024_REG_Y2K 0x37
++#define ISL12024_RTC_SECTION_LEN 8
++
++/* control/status section */
++//#define ISL12024_REG_SR 0x3F
++//#define ISL12024_REG_SR_BAT (1<<7) /* battery */
++//#define ISL12024_REG_SR_AL1 (1<<6) /* alarm 0 */
++//#define ISL12024_REG_SR_AL0 (1<<5) /* alarm 1 */
++//#define ISL12024_REG_SR_OSCF (1<<4) /* oscillator fail */
++//#define ISL12024_REG_SR_RWEL (1<<2) /* register write enable latch */
++//#define ISL12024_REG_SR_WEL (1<<1) /* write enable latch */
++//#define ISL12024_REG_SR_RTCF (1<<0) /* rtc fail */
++//#define ISL12024_REG_INT 0x11
++
++#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
++
++#endif /*ISL12024_H_*/
+Index: linux-2.6.29/drivers/rtc/rtc-isl12024.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.29/drivers/rtc/rtc-isl12024.c 2009-04-01 17:37:45.000000000 +0200
+@@ -0,0 +1,541 @@
++/*
++ * Intersil ISL12024 class driver
++ *
++ *
++ * Copyright (C) 2007, CenoSYS (www.cenosys.com).
++ *
++ * Guillaume Ligneul <guillaume.ligneul@gmail.com>
++ * Sylvain Giroudon <sylvain.giroudon@goobie.fr>
++ *
++ * This software program is licensed subject to the GNU General Public License
++ * (GPL).Version 2,June 1991, available at http://www.fsf.org/copyleft/gpl.html
++ */
++
++#include <linux/module.h>
++#include <linux/i2c.h>
++#include <linux/bcd.h>
++#include <linux/rtc.h>
++#include <linux/proc_fs.h>
++#include <linux/delay.h>
++
++#include "isl12024.h"
++
++
++#define DBG 1
++#undef DBG
++
++#define DRV_NAME "isl12024"
++#define DRV_VERSION "0.2"
++
++/* i2c configuration */
++static const unsigned short normal_i2c[] = {
++ ISL12024_I2C_ADDR >>1, I2C_CLIENT_END
++};
++I2C_CLIENT_INSMOD;
++
++static int isl12024_get_status(struct i2c_client *client, unsigned char *sr);
++static int isl12024_fix_osc(struct i2c_client *client);
++
++static int isl12024_attach_adapter(struct i2c_adapter *adapter);
++static int isl12024_detach_client(struct i2c_client *client);
++
++
++/* Bufer to store unique identifier in */
++static u8 buf_id[ISL12024_RTC_SECTION_LEN] = { 0 };
++
++
++// To debug (may be added in include/linux/i2c-id.h)
++#define I2C_DRIVERID_ISL12024 97
++
++
++static struct i2c_driver isl12024_driver = {
++ .driver = {
++ .name = DRV_NAME,
++ },
++ .id = I2C_DRIVERID_ISL12024,
++ .attach_adapter = &isl12024_attach_adapter,
++ .detach_client = &isl12024_detach_client,
++};
++
++
++int
++isl12024_i2c_read_regs(struct i2c_client *client, u8 reg, u8 buf[],
++ unsigned len)
++{
++ int ret;
++ u8 dt_addr[2];
++
++ struct i2c_msg msgs[2] = {
++ {
++ .addr = client->addr,
++ .flags = 0,
++ .len = 2,
++ .buf = dt_addr,
++ },
++ {
++ .addr = client->addr,
++ .flags = I2C_M_RD,
++ .len = len ,
++ .buf = buf ,
++ },
++ };
++
++ dt_addr[0] = 0;
++ dt_addr[1] = reg;
++
++ ret = i2c_transfer(client->adapter, msgs, 2);
++ if ( ret < 0) {
++ dev_err(&client->dev, "read error\n");
++ return -EIO;
++ }
++ return ret;
++}
++
++EXPORT_SYMBOL(isl12024_i2c_read_regs);
++
++
++int
++isl12024_i2c_set_regs(struct i2c_client *client, u8 reg, u8 const buf[],
++ unsigned len)
++{
++ int ret;
++ u8 i2c_buf[10];
++
++ struct i2c_msg msgs[1] = {
++ {
++ .addr = client->addr,
++ .flags = 0,
++ .len = len+2,
++ .buf = i2c_buf,
++ },
++ };
++
++ i2c_buf[0] = 0;
++ i2c_buf[1] = reg;
++
++
++ memcpy(&i2c_buf[2], &buf[0], len );
++
++ ret = i2c_transfer(client->adapter, msgs, 1);
++ if ( ret < 0 )
++ printk(KERN_ERR DRV_NAME ": i2c_transfer failed (%d)\n", ret);
++
++ return ret;
++}
++
++EXPORT_SYMBOL(isl12024_i2c_set_regs);
++
++
++static int isl12024_i2c_validate_client(struct i2c_client *client)
++{
++ u8 regs[ISL12024_RTC_SECTION_LEN] = { 0, };
++ u8 zero_mask[ISL12024_RTC_SECTION_LEN] = {
++ 0x80, 0x80, 0x40, 0xc0, 0xe0, 0x00, 0xf8, 0xc6
++ };
++
++ int i;
++ int ret;
++
++ ret = isl12024_i2c_read_regs(client, ISL12024_REG_SC, regs, ISL12024_RTC_SECTION_LEN);
++
++ if (ret < 0)
++ return ret;
++
++ for (i = 0; i < ISL12024_RTC_SECTION_LEN; ++i) {
++ if (regs[i] & zero_mask[i]) /* check if bits are cleared */
++ return -ENODEV;
++
++ }
++
++ return 0;
++}
++
++
++static int isl12024_read_time(struct i2c_client *client,
++ struct rtc_time *tm)
++{
++ unsigned char sr;
++ int err;
++ u8 regs[ISL12024_RTC_SECTION_LEN] = { 0, };
++
++ //printk(KERN_INFO DRV_NAME "%s\n ",__FUNCTION__ );
++
++ if (isl12024_get_status(client, &sr) < 0) {
++ dev_err(&client->dev, "%s: reading SR failed\n", __func__);
++ return -EIO;
++ }
++
++ err = isl12024_i2c_read_regs(client, ISL12024_REG_SC, regs, ISL12024_RTC_SECTION_LEN);
++
++#ifdef DBG
++ int i;
++ for(i=0; i<ISL12024_RTC_SECTION_LEN; i++)
++ printk(KERN_INFO DRV_NAME "0x%2X\n", regs[i]);
++#endif
++
++ if (err < 0) {
++ dev_err(&client->dev, "%s: reading RTC section failed\n",
++ __func__);
++ return sr;
++ }
++
++ tm->tm_sec = bcd2bin(regs[0]);
++ tm->tm_min = bcd2bin(regs[1]);
++
++ { /* HR field has a more complex interpretation */
++ const u8 _hr = regs[2];
++ if (_hr & ISL12024_REG_HR_MIL) /* 24h format */
++ tm->tm_hour = bcd2bin(_hr & 0x3f);
++ else { // 12h format
++ tm->tm_hour = bcd2bin(_hr & 0x1f);
++ if (_hr & ISL12024_REG_HR_PM) /* PM flag set */
++ tm->tm_hour += 12;
++ }
++ }
++
++ tm->tm_mday = bcd2bin(regs[3]);
++ tm->tm_mon = bcd2bin(regs[4]);
++ tm->tm_year = bcd2bin(regs[5]) + 100;
++ tm->tm_wday = bcd2bin(regs[6]);
++
++ return rtc_valid_tm(tm);
++}
++
++
++static int isl12024_get_status(struct i2c_client *client, unsigned char *sr)
++{
++ static unsigned char sr_addr[2] = { 0, ISL12024_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", __func__);
++ return -EIO;
++ }
++
++ return 0;
++}
++
++
++static int isl12024_set_datetime(struct i2c_client *client, struct rtc_time *tm,
++ int datetoo, u8 reg_base, unsigned char alm_enable)
++{
++ int i, xfer, nbytes;
++ unsigned char buf[8];
++ unsigned char rdata[10] = { 0, reg_base };
++
++ static const unsigned char wel[3] = { 0, ISL12024_REG_SR,
++ ISL12024_SR_WEL };
++
++ static const unsigned char rwel[3] = { 0, ISL12024_REG_SR,
++ ISL12024_SR_WEL | ISL12024_SR_RWEL };
++
++ static const unsigned char diswe[3] = { 0, ISL12024_REG_SR, 0 };
++
++ dev_dbg(&client->dev,
++ "%s: secs=%d, mins=%d, hours=%d\n",
++ __func__,
++ 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) | ISL12024_HR_MIL;
++
++ /* should we also set the date? */
++ if (datetoo) {
++ dev_dbg(&client->dev,
++ "%s: mday=%d, mon=%d, year=%d, wday=%d\n",
++ __func__,
++ 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);
++
++ /* 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);
++ }
++
++ /* If writing alarm registers, set compare bits on registers 0-4 */
++ if (reg_base < ISL12024_CCR_BASE)
++ for (i = 0; i <= 4; i++)
++ buf[i] |= 0x80;
++
++ /* this sequence is required to unlock the chip */
++ if ((xfer = i2c_master_send(client, wel, 3)) != 3) {
++ dev_err(&client->dev, "%s: wel - %d\n", __func__, xfer);
++ return -EIO;
++ }
++
++ if ((xfer = i2c_master_send(client, rwel, 3)) != 3) {
++ dev_err(&client->dev, "%s: rwel - %d\n", __func__, xfer);
++ return -EIO;
++ }
++
++
++ /* write register's data */
++ if (datetoo)
++ nbytes = 8;
++ else
++ nbytes = 3;
++ for (i = 0; i < nbytes; i++)
++ rdata[2+i] = buf[i];
++
++ xfer = i2c_master_send(client, rdata, nbytes+2);
++ if (xfer != nbytes+2) {
++ dev_err(&client->dev,
++ "%s: result=%d addr=%02x, data=%02x\n",
++ __func__,
++ xfer, rdata[1], rdata[2]);
++ return -EIO;
++ }
++
++ /* If we wrote to the nonvolatile region, wait 10msec for write cycle*/
++ if (reg_base < ISL12024_CCR_BASE) {
++ unsigned char al0e[3] = { 0, ISL12024_REG_INT, 0 };
++
++ msleep(10);
++
++ /* ...and set or clear the AL0E bit in the INT register */
++
++ /* Need to set RWEL again as the write has cleared it */
++ xfer = i2c_master_send(client, rwel, 3);
++ if (xfer != 3) {
++ dev_err(&client->dev,
++ "%s: aloe rwel - %d\n",
++ __func__,
++ xfer);
++ return -EIO;
++ }
++
++ if (alm_enable)
++ al0e[2] = ISL12024_INT_AL0E;
++
++ xfer = i2c_master_send(client, al0e, 3);
++ if (xfer != 3) {
++ dev_err(&client->dev,
++ "%s: al0e - %d\n",
++ __func__,
++ xfer);
++ return -EIO;
++ }
++
++ /* and wait 10msec again for this write to complete */
++ msleep(10);
++ }
++
++ /* disable further writes */
++ if ((xfer = i2c_master_send(client, diswe, 3)) != 3) {
++ dev_err(&client->dev, "%s: diswe - %d\n", __func__, xfer);
++ return -EIO;
++ }
++
++ return 0;
++}
++
++
++static int isl12024_fix_osc(struct i2c_client *client)
++{
++ int err;
++ struct rtc_time tm;
++
++ tm.tm_hour = tm.tm_min = tm.tm_sec = 0;
++
++ err = isl12024_set_datetime(client, &tm, 0, ISL12024_CCR_BASE, 0);
++ if ( err < 0 )
++ printk(KERN_ERR DRV_NAME ": Unable to restart the oscillator (%d)\n", err);
++
++ return err;
++}
++
++
++static int isl12024_rtc_read_time(struct device *dev, struct rtc_time *tm)
++{
++ return isl12024_read_time(to_i2c_client(dev), tm);
++
++}
++
++
++static int isl12024_rtc_set_time(struct device *dev, struct rtc_time *tm)
++{
++ return isl12024_set_datetime(to_i2c_client(dev),
++ tm, 1, ISL12024_CCR_BASE, 0);
++}
++
++
++static int
++isl12024_rtc_proc(struct device *dev, struct seq_file *seq)
++{
++
++ /* Nothing to do */
++
++ return 0;
++}
++
++
++static const struct rtc_class_ops isl12024_rtc_ops = {
++ .proc = isl12024_rtc_proc,
++ .read_time = isl12024_rtc_read_time,
++ .set_time = isl12024_rtc_set_time,
++};
++
++static int
++read_proc(char * page, char ** start, off_t off, int count, int * eof, void * data)
++{
++ int len = 0;
++ int i;
++
++ for (i = 0; i < ISL12024_RTC_SECTION_LEN; i++)
++ len += sprintf(page+len, "%02X", buf_id[i]);
++ len += sprintf(page+len, "\n");
++
++ len -= off;
++ if ( len < count ) {
++ *eof = 1;
++ if ( len <= 0 )
++ return 0;
++ } else {
++ len = count;
++ }
++
++ *start = page + off;
++
++ return len;
++}
++
++
++static int
++isl12024_probe(struct i2c_adapter *adapter, int addr, int kind)
++{
++ int rc = 0;
++ int err = 0;
++ unsigned char sr;
++ struct i2c_client *new_client = NULL;
++ struct rtc_device *rtc = NULL;
++ struct proc_dir_entry *proc_root;
++ struct proc_dir_entry *proc_entry;
++
++ if (!i2c_check_functionality(adapter, I2C_FUNC_I2C)) {
++ rc = -ENODEV;
++ goto failout;
++ }
++
++ new_client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL);
++ if (new_client == NULL) {
++ rc = -ENOMEM;
++ goto failout;
++ }
++
++ new_client->addr = addr;
++ new_client->adapter = adapter;
++ new_client->driver = &isl12024_driver;
++ new_client->flags = 0;
++ strcpy(new_client->name, DRV_NAME);
++
++ if (kind < 0) {
++ rc = isl12024_i2c_validate_client(new_client);
++ if (rc < 0)
++ goto failout;
++ }
++
++ rc = i2c_attach_client(new_client);
++ if (rc < 0)
++ goto failout;
++
++ rtc = rtc_device_register(isl12024_driver.driver.name,
++ &new_client->dev,
++ &isl12024_rtc_ops, THIS_MODULE);
++
++ if (IS_ERR(rtc)) {
++ printk(KERN_ERR DRV_NAME ": Error during rtc registration\n");
++ rc = PTR_ERR(rtc);
++ goto failout;
++ }
++
++ i2c_set_clientdata(new_client, rtc);
++
++ /* Check for power failures and eventualy enable the osc */
++ if ((err = isl12024_get_status(new_client, &sr)) == 0) {
++ if (sr & ISL12024_SR_RTCF) {
++ printk(KERN_INFO DRV_NAME ": Power failure detected, please set the clock\n");
++ udelay(50);
++ isl12024_fix_osc(new_client);
++ }
++ }
++ else {
++ printk(KERN_ERR DRV_NAME ": Couldn't read status\n");
++ }
++
++ proc_root = proc_mkdir(DRV_NAME, 0);
++ proc_entry = create_proc_entry("id", S_IFREG | S_IRUGO, proc_root);
++ if (proc_entry == NULL)
++ return -1;
++
++ proc_entry->owner = THIS_MODULE;
++ proc_entry->read_proc = read_proc;
++
++ /* Read unique id from eeprom */
++ isl12024_i2c_read_regs(new_client, ISL12024_REG_ID, buf_id, sizeof(buf_id));
++
++ return 0;
++
++ failout:
++ kfree(new_client);
++ return rc;
++}
++
++
++static int
++isl12024_attach_adapter (struct i2c_adapter *adapter)
++{
++ return i2c_probe(adapter, &addr_data, isl12024_probe);
++}
++
++
++static int
++isl12024_detach_client(struct i2c_client *client)
++{
++ int rc;
++ struct rtc_device *const rtc = i2c_get_clientdata(client);
++
++ if (rtc)
++ rtc_device_unregister(rtc);
++
++ rc = i2c_detach_client(client);
++ if (rc)
++ return rc;
++
++ kfree(client);
++
++ return 0;
++}
++
++
++/* module init/exit */
++
++static int __init isl12024_init(void)
++{
++ return i2c_add_driver(&isl12024_driver);
++}
++
++static void __exit isl12024_exit(void)
++{
++ i2c_del_driver(&isl12024_driver);
++}
++
++MODULE_AUTHOR("Guillaume Ligneul <guillaume.ligneul@cenosys.com>");
++MODULE_DESCRIPTION("Intersil ISL12024 driver");
++MODULE_LICENSE("GPL");
++MODULE_VERSION(DRV_VERSION);
++
++module_init(isl12024_init);
++module_exit(isl12024_exit);
diff --git a/recipes/linux/linux-2.6.29/boc01/007-081217-lm73.patch b/recipes/linux/linux-2.6.29/boc01/007-081217-lm73.patch
new file mode 100644
index 0000000000..ec2a4e40e8
--- /dev/null
+++ b/recipes/linux/linux-2.6.29/boc01/007-081217-lm73.patch
@@ -0,0 +1,269 @@
+Index: linux-2.6.29/drivers/hwmon/Kconfig
+===================================================================
+--- linux-2.6.29.orig/drivers/hwmon/Kconfig 2009-03-24 00:12:14.000000000 +0100
++++ linux-2.6.29/drivers/hwmon/Kconfig 2009-04-01 17:37:50.000000000 +0200
+@@ -448,6 +448,15 @@
+ This driver can also be built as a module. If so, the module
+ will be called lm70.
+
++config SENSORS_LM73
++ tristate "National Semiconductor LM73"
++ depends on I2C
++ help
++ If you say yes here you get support for National Semiconductor LM73
++ sensor chips
++ This driver can also be built as a module. If so, the module
++ will be called lm73.
++
+ config SENSORS_LM75
+ tristate "National Semiconductor LM75 and compatibles"
+ depends on I2C
+Index: linux-2.6.29/drivers/hwmon/lm73.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.29/drivers/hwmon/lm73.c 2009-04-01 17:37:50.000000000 +0200
+@@ -0,0 +1,232 @@
++ /*
++ * LM73 Sensor driver
++ * Based on LM75
++ *
++ *
++ * Copyright (C) 2007, CenoSYS (www.cenosys.com).
++ * Guillaume Ligneul
++ * Guillaume.ligneul@gmail.com
++ *
++ * This software program is licensed subject to the GNU General Public License
++ * (GPL).Version 2,June 1991, available at http://www.fsf.org/copyleft/gpl.html
++ */
++
++#include <linux/module.h>
++#include <linux/init.h>
++#include <linux/slab.h>
++#include <linux/jiffies.h>
++#include <linux/i2c.h>
++#include <linux/hwmon.h>
++#include <linux/hwmon-sysfs.h>
++#include <linux/err.h>
++#include <linux/mutex.h>
++
++
++/* Addresses to scan */
++static const unsigned short normal_i2c[] = { 0x48, 0x49, 0x4a, 0x4b, 0x4c,
++ 0x4d, 0x4e, 0x4f, I2C_CLIENT_END };
++
++/* Insmod parameters */
++I2C_CLIENT_INSMOD_1(lm73);
++
++/* LM73 registers */
++#define LM73_REG_INPUT 0x00
++#define LM73_REG_CONF 0x01
++#define LM73_REG_T_HIGH 0x02
++#define LM73_REG_T_LOW 0x03
++
++static const u8 LM73_REG_TEMP[3] = {
++ LM73_REG_INPUT, /* input */
++ LM73_REG_T_HIGH, /* max */
++ LM73_REG_T_LOW, /* min */
++};
++
++/* Each client has this additional data */
++struct lm73_data {
++ struct i2c_client client;
++ struct device *hwmon_dev;
++ struct mutex update_lock;
++ char valid; /* !=0 if following fields are valid */
++ unsigned long last_updated; /* In jiffies */
++ u16 temp[3]; /* Register values,
++ 0 = input
++ 1 = max
++ 2 = min */
++};
++
++static int lm73_attach_adapter(struct i2c_adapter *adapter);
++static int lm73_detect(struct i2c_adapter *adapter, int address, int kind);
++static int lm73_detach_client(struct i2c_client *client);
++static int lm73_read_value(struct i2c_client *client, u8 reg);
++static int lm73_write_value(struct i2c_client *client, u8 reg, short value);
++
++/* This is the driver that will be inserted */
++static struct i2c_driver lm73_driver = {
++ .driver = {
++ .name = "lm73",
++ },
++ .attach_adapter = lm73_attach_adapter,
++ .detach_client = lm73_detach_client,
++};
++
++static ssize_t show_temp(struct device *dev, struct device_attribute *da,
++ char *buf)
++{
++ struct sensor_device_attribute *attr = to_sensor_dev_attr(da);
++ struct i2c_client *client = to_i2c_client(dev);
++ int iTemp = 0;
++
++ iTemp = lm73_read_value(client, LM73_REG_TEMP[attr->index]);
++
++ return sprintf(buf, "%d\n", iTemp);
++
++
++}
++
++static ssize_t set_temp(struct device *dev, struct device_attribute *da,
++ const char *buf, size_t count)
++{
++ struct sensor_device_attribute *attr = to_sensor_dev_attr(da);
++ struct i2c_client *client = to_i2c_client(dev);
++ int nr = attr->index;
++
++ long tmp = simple_strtol(buf, NULL, 10);
++
++ lm73_write_value(client, LM73_REG_TEMP[nr], tmp);
++ return count;
++}
++
++static SENSOR_DEVICE_ATTR(temp1_max, S_IWUSR | S_IRUGO,
++ show_temp, set_temp, 1);
++static SENSOR_DEVICE_ATTR(temp1_min, S_IWUSR | S_IRUGO,
++ show_temp, set_temp, 2);
++static SENSOR_DEVICE_ATTR(temp1_input, S_IRUGO, show_temp, NULL, 0);
++
++static int lm73_attach_adapter(struct i2c_adapter *adapter)
++{
++ if (!(adapter->class & I2C_CLASS_HWMON))
++ return 0;
++
++ return i2c_probe(adapter, &addr_data, lm73_detect);
++}
++
++static struct attribute *lm73_attributes[] = {
++ &sensor_dev_attr_temp1_input.dev_attr.attr,
++ &sensor_dev_attr_temp1_max.dev_attr.attr,
++ &sensor_dev_attr_temp1_min.dev_attr.attr,
++
++ NULL
++};
++
++static const struct attribute_group lm73_group = {
++ .attrs = lm73_attributes,
++};
++
++/* This function is called by i2c_probe */
++static int lm73_detect(struct i2c_adapter *adapter, int address, int kind)
++{
++ struct i2c_client *new_client;
++ struct lm73_data *data;
++ int err = 0;
++ const char *name = "";
++
++ if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA |
++ I2C_FUNC_SMBUS_WORD_DATA))
++ goto exit;
++
++ if (!(data = kzalloc(sizeof(struct lm73_data), GFP_KERNEL))) {
++ err = -ENOMEM;
++ goto exit;
++ }
++
++ new_client = &data->client;
++ i2c_set_clientdata(new_client, data);
++ new_client->addr = address;
++ new_client->adapter = adapter;
++ new_client->driver = &lm73_driver;
++ new_client->flags = 0;
++
++ name = "lm73";
++
++ /* Fill in the remaining client fields and put it into the global list */
++ strlcpy(new_client->name, name, I2C_NAME_SIZE);
++ data->valid = 0;
++ mutex_init(&data->update_lock);
++
++ /* Tell the I2C layer a new client has arrived */
++ if ((err = i2c_attach_client(new_client)))
++ goto exit_free;
++
++ /* Register sysfs hooks */
++ if ((err = sysfs_create_group(&new_client->dev.kobj, &lm73_group)))
++ goto exit_detach;
++
++ data->hwmon_dev = hwmon_device_register(&new_client->dev);
++ if (IS_ERR(data->hwmon_dev)) {
++ err = PTR_ERR(data->hwmon_dev);
++ goto exit_remove;
++ }
++
++ return 0;
++
++exit_remove:
++ sysfs_remove_group(&new_client->dev.kobj, &lm73_group);
++exit_detach:
++ i2c_detach_client(new_client);
++exit_free:
++ kfree(data);
++exit:
++ return err;
++}
++
++static int lm73_detach_client(struct i2c_client *client)
++{
++ struct lm73_data *data = i2c_get_clientdata(client);
++ hwmon_device_unregister(data->hwmon_dev);
++ sysfs_remove_group(&client->dev.kobj, &lm73_group);
++ i2c_detach_client(client);
++ kfree(data);
++ return 0;
++}
++
++static int lm73_read_value(struct i2c_client *client, u8 reg)
++{
++ short sVal;
++
++ if (reg == LM73_REG_CONF)
++ return i2c_smbus_read_byte_data(client, reg);
++ else
++ {
++ sVal = swab16(i2c_smbus_read_word_data(client, reg));
++ sVal = sVal >> 7;
++ return sVal;
++ }
++}
++
++static int lm73_write_value(struct i2c_client *client, u8 reg, short value)
++{
++ if (reg == LM73_REG_CONF)
++ return i2c_smbus_write_byte_data(client, reg, value);
++ else
++ {
++ value = value<<7;
++ return i2c_smbus_write_word_data(client, reg, swab16(value));
++ }
++}
++
++static int __init sensors_lm73_init(void)
++{
++ return i2c_add_driver(&lm73_driver);
++}
++
++static void __exit sensors_lm73_exit(void)
++{
++ i2c_del_driver(&lm73_driver);
++}
++
++MODULE_AUTHOR("Ligneul Guillaume <guillaume.ligneul@gmail.com>");
++MODULE_DESCRIPTION("LM73 driver");
++MODULE_LICENSE("GPL");
++
++module_init(sensors_lm73_init);
++module_exit(sensors_lm73_exit);
+Index: linux-2.6.29/drivers/hwmon/Makefile
+===================================================================
+--- linux-2.6.29.orig/drivers/hwmon/Makefile 2009-03-24 00:12:14.000000000 +0100
++++ linux-2.6.29/drivers/hwmon/Makefile 2009-04-01 17:37:50.000000000 +0200
+@@ -54,6 +54,7 @@
+ obj-$(CONFIG_SENSORS_LIS3LV02D) += lis3lv02d.o hp_accel.o
+ obj-$(CONFIG_SENSORS_LM63) += lm63.o
+ obj-$(CONFIG_SENSORS_LM70) += lm70.o
++obj-$(CONFIG_SENSORS_LM73) += lm73.o
+ obj-$(CONFIG_SENSORS_LM75) += lm75.o
+ obj-$(CONFIG_SENSORS_LM77) += lm77.o
+ obj-$(CONFIG_SENSORS_LM78) += lm78.o
diff --git a/recipes/linux/linux-2.6.29/boc01/008-081208-spi.patch b/recipes/linux/linux-2.6.29/boc01/008-081208-spi.patch
new file mode 100644
index 0000000000..9c9e402ea3
--- /dev/null
+++ b/recipes/linux/linux-2.6.29/boc01/008-081208-spi.patch
@@ -0,0 +1,147 @@
+Index: linux-2.6.29/arch/powerpc/platforms/83xx/mpc831x_rdb.c
+===================================================================
+--- linux-2.6.29.orig/arch/powerpc/platforms/83xx/mpc831x_rdb.c 2009-03-24 00:12:14.000000000 +0100
++++ linux-2.6.29/arch/powerpc/platforms/83xx/mpc831x_rdb.c 2009-04-01 17:37:53.000000000 +0200
+@@ -15,17 +15,87 @@
+
+ #include <linux/pci.h>
+ #include <linux/of_platform.h>
++#include <linux/spi/spi.h>
+
+ #include <asm/time.h>
+ #include <asm/ipic.h>
+ #include <asm/udbg.h>
+ #include <sysdev/fsl_pci.h>
++#include <sysdev/fsl_soc.h>
++#include <linux/interrupt.h>
+
+ #include "mpc83xx.h"
+
+ /*
+ * Setup the architecture
+ */
++struct gpio {
++ __be32 gpdir;
++ __be32 gpodr;
++ __be32 gpdat;
++ __be32 gpier;
++ __be32 gpimr;
++ __be32 gpicr;
++} __attribute__ ((packed));
++static struct gpio *gpio_regs;
++
++static void mpc83xx_spi_activate_cs(u8 cs, u8 polarity)
++{
++ //printk(KERN_INFO "%s %d %d\n", __func__, cs, polarity);
++ if (polarity)
++ setbits32(&gpio_regs->gpdat, 1 << (31 - 14));
++ else
++ clrbits32(&gpio_regs->gpdat, 1 << (31 - 14));
++}
++
++static void mpc83xx_spi_deactivate_cs(u8 cs, u8 polarity)
++{
++//printk(KERN_INFO "%s %d %d\n", __func__, cs, polarity);
++ if (polarity)
++ clrbits32(&gpio_regs->gpdat, 1 << (31 - 14));
++ else
++ setbits32(&gpio_regs->gpdat, 1 << (31 - 14));
++
++}
++
++//static struct mmc_spi_platform_data mpc8313_mmc_pdata = {
++// .ocr_mask = MMC_VDD_33_34,
++//};
++
++static struct spi_board_info mpc8313_spi_boardinfo = {
++ .bus_num = 0x7000,
++ .chip_select = 0,
++ .max_speed_hz = 50000000,
++ .modalias = "spidev",
++// .platform_data = &mpc8313_mmc_pdata,
++};
++
++static int __init mpc8313_spi_init(void)
++{
++ __be32 __iomem *psicrl;
++
++ /* System I/O Configuration Register Low */
++ psicrl = ioremap(get_immrbase() + MPC83XX_SICRL_OFFS, 0x4);
++ gpio_regs = ioremap(get_immrbase() + 0xc00, 0x20);
++ if (!psicrl || !gpio_regs)
++ return -ENOMEM;
++
++ clrbits32(psicrl, 0x03F00000);
++ setbits32(psicrl, 0x30000000);
++ iounmap(psicrl);
++
++ /* set GPIO13 as output */
++ setbits32(&gpio_regs->gpdir, 1 << (31 - 14));
++ clrbits32(&gpio_regs->gpodr, 1 << (31 - 14));
++ setbits32(&gpio_regs->gpdat, 1 << (31 - 14));
++
++ return fsl_spi_init(&mpc8313_spi_boardinfo, 1,
++ mpc83xx_spi_activate_cs,
++ mpc83xx_spi_deactivate_cs);
++}
++
++device_initcall(mpc8313_spi_init);
++
+ static void __init mpc831x_rdb_setup_arch(void)
+ {
+ #ifdef CONFIG_PCI
+@@ -40,6 +110,8 @@
+ mpc83xx_add_bridge(np);
+ #endif
+ mpc831x_usb_cfg();
++
++ mpc8313_spi_init();
+ }
+
+ static void __init mpc831x_rdb_init_IRQ(void)
+Index: linux-2.6.29/drivers/spi/spi_mpc83xx.c
+===================================================================
+--- linux-2.6.29.orig/drivers/spi/spi_mpc83xx.c 2009-03-24 00:12:14.000000000 +0100
++++ linux-2.6.29/drivers/spi/spi_mpc83xx.c 2009-04-01 17:37:53.000000000 +0200
+@@ -280,7 +280,9 @@
+ if (pm)
+ pm--;
+
+- cs->hw_mode |= SPMODE_PM(pm);
++ cs->hw_mode = 0x0F700000;
++ mpc83xx_spi_write_reg(&mpc83xx_spi->base->mode,cs->hw_mode);
++
+ regval = mpc83xx_spi_read_reg(&mpc83xx_spi->base->mode);
+ if (cs->hw_mode != regval) {
+ unsigned long flags;
+@@ -448,7 +450,7 @@
+ cs->hw_mode = mpc83xx_spi_read_reg(&mpc83xx_spi->base->mode);
+ /* mask out bits we are going to set */
+ cs->hw_mode &= ~(SPMODE_CP_BEGIN_EDGECLK | SPMODE_CI_INACTIVEHIGH
+- | SPMODE_REV | SPMODE_LOOP);
++ | SPMODE_REV );
+
+ if (spi->mode & SPI_CPHA)
+ cs->hw_mode |= SPMODE_CP_BEGIN_EDGECLK;
+@@ -456,8 +458,10 @@
+ cs->hw_mode |= SPMODE_CI_INACTIVEHIGH;
+ if (!(spi->mode & SPI_LSB_FIRST))
+ cs->hw_mode |= SPMODE_REV;
+- if (spi->mode & SPI_LOOP)
+- cs->hw_mode |= SPMODE_LOOP;
++
++ cs->hw_mode = 0x0F700000;
++ mpc83xx_spi_write_reg(&mpc83xx_spi->base->mode,cs->hw_mode);
++ cs->hw_mode = mpc83xx_spi_read_reg(&mpc83xx_spi->base->mode);
+
+ retval = mpc83xx_spi_setup_transfer(spi, NULL);
+ if (retval < 0) {
+@@ -637,7 +641,7 @@
+ INIT_LIST_HEAD(&mpc83xx_spi->queue);
+
+ mpc83xx_spi->workqueue = create_singlethread_workqueue(
+- master->dev.parent->bus_id);
++ dev->dev.bus_id);
+ if (mpc83xx_spi->workqueue == NULL) {
+ ret = -EBUSY;
+ goto free_irq;
diff --git a/recipes/linux/linux-2.6.29/boc01/011-090115-gpio.patch b/recipes/linux/linux-2.6.29/boc01/011-090115-gpio.patch
new file mode 100644
index 0000000000..fd20dccea3
--- /dev/null
+++ b/recipes/linux/linux-2.6.29/boc01/011-090115-gpio.patch
@@ -0,0 +1,440 @@
+Index: linux-2.6.29/drivers/char/Kconfig
+===================================================================
+--- linux-2.6.29.orig/drivers/char/Kconfig 2009-03-24 00:12:14.000000000 +0100
++++ linux-2.6.29/drivers/char/Kconfig 2009-04-01 17:37:55.000000000 +0200
+@@ -1020,6 +1020,24 @@
+ tristate "NEC VR4100 series General-purpose I/O Unit support"
+ depends on CPU_VR41XX
+
++config GPIO_MPC8313
++ tristate "mpc8313e gpio"
++ depends on PPC_MPC831x
++ select INPUT
++ default y
++ help
++ Give userspace access to the GPIO pins on the MPC8313E devices.
++
++config EXIO_MPC8313
++ tristate "mpc8313e exio"
++ depends on PPC_MPC831x
++ select INPUT
++ select LEDS_CLASS
++ default y
++ help
++ Give userspace access to the Extenrder IO pins on the CPE board.
++
++
+ config RAW_DRIVER
+ tristate "RAW driver (/dev/raw/rawN)"
+ depends on BLOCK
+Index: linux-2.6.29/drivers/char/Makefile
+===================================================================
+--- linux-2.6.29.orig/drivers/char/Makefile 2009-03-24 00:12:14.000000000 +0100
++++ linux-2.6.29/drivers/char/Makefile 2009-04-01 17:37:55.000000000 +0200
+@@ -109,6 +109,8 @@
+ obj-$(CONFIG_PS3_FLASH) += ps3flash.o
+
+ obj-$(CONFIG_JS_RTC) += js-rtc.o
++obj-$(CONFIG_GPIO_MPC8313) += mpc8313e_gpio.o
++obj-$(CONFIG_EXIO_MPC8313) += mpc8313e_exio.o
+ js-rtc-y = rtc.o
+
+ # Files generated that shall be removed upon make clean
+Index: linux-2.6.29/drivers/char/mpc8313e_exio.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.29/drivers/char/mpc8313e_exio.c 2009-04-01 17:37:55.000000000 +0200
+@@ -0,0 +1,240 @@
++/*
++* CPE Extender io driver
++*
++* Copyright (C) 2007, CenoSYS (www.cenosys.com).
++*
++* Alexandre Coffignal <alexandre.coffignal@cenosys.com>
++* Sylvain Giroudon <sylvain.giroudon@goobie.fr>
++*
++* This software program is licensed subject to the GNU General Public License
++* (GPL).Version 2,June 1991, available at http://www.fsf.org/copyleft/gpl.html
++*
++* Allows a user space process to control the EXIO pins.
++*
++*/
++
++#include <linux/fs.h>
++#include <linux/module.h>
++#include <linux/errno.h>
++#include <linux/kernel.h>
++#include <linux/init.h>
++#include <asm/uaccess.h>
++#include <asm/io.h>
++#include <linux/of_platform.h>
++#include <sysdev/fsl_soc.h>
++#include <linux/cdev.h>
++#include <linux/leds.h>
++
++static char module_name[] = "exio";
++
++
++#define NB_EXIO 8
++#define DEFAULT_STATE 0x58
++#define EXIO_BASE 0xfa000000
++#define EXIO_SIZE 0x2
++#define EXIO_LED_MASK 0x01
++
++static int major = 0;
++static u8 exio_state = DEFAULT_STATE;
++static void *exio_io = NULL;
++static struct resource *exio_mem = NULL;
++static struct class * exio_class = NULL;
++
++
++static void
++exio_led_set(struct led_classdev *led_cdev,
++ enum led_brightness value)
++{
++ if ( value )
++ exio_state &= ~EXIO_LED_MASK;
++ else
++ exio_state |= EXIO_LED_MASK;
++
++ iowrite8(exio_state, exio_io);
++}
++
++static struct led_classdev exio_led = {
++ .name = "boc:blue:status",
++ .brightness_set = exio_led_set,
++};
++
++static inline int
++exio_led_init(void)
++{
++ return led_classdev_register(NULL, &exio_led);
++}
++
++
++static inline void
++exio_led_exit(void)
++{
++ led_classdev_unregister(&exio_led);
++}
++
++
++static inline void
++exio_led_suspend(void)
++{
++ led_classdev_suspend(&exio_led);
++}
++
++
++static inline void
++exio_led_resume(void)
++{
++ led_classdev_resume(&exio_led);
++}
++
++
++static ssize_t exio_write(struct file *file, const char __user *data, size_t len, loff_t *ppos)
++{
++ unsigned m = iminor(file->f_path.dentry->d_inode);
++ size_t i;
++ char mask;
++ int err = 0;
++
++ for (i = 0; i < len; ++i) {
++ char c;
++ if (get_user(c, data + i))
++ return -EFAULT;
++
++ mask=(1<<(7-m));
++ switch (c) {
++ case '0':
++ /*Clear exio level */
++ exio_state&=~mask;
++ iowrite8(exio_state, exio_io);
++ break;
++ case '1':
++ /*Set exio level */
++ exio_state|=mask;
++ iowrite8(exio_state, exio_io);
++ break;
++ default:
++ printk(KERN_DEBUG "exio%2d bad setting: chr<0x%2x>\n",
++ m, (int)c);
++ err++;
++ }
++ }
++ if (err)
++ return -EINVAL;
++
++ return len;
++}
++
++
++static ssize_t exio_read(struct file *file, char __user * buf,
++ size_t len, loff_t * ppos)
++{
++ unsigned m = iminor(file->f_path.dentry->d_inode);
++ int value;
++ char mask;
++ char state=ioread8(exio_io);
++
++ mask=(1<<(7-m));
++ value=state&mask;
++ if (put_user(value ? '1' : '0', buf))
++ return -EFAULT;
++ return 1;
++
++}
++
++static int exio_open(struct inode *inode, struct file *file)
++{
++ return 0;
++}
++
++static int exio_close(struct inode *inode, struct file *file)
++{
++ printk(KERN_DEBUG "close()\n");
++ return 0;
++}
++
++struct file_operations exio_fops =
++{
++ .owner = THIS_MODULE,
++ .read = exio_read,
++ .write = exio_write,
++ .open = exio_open,
++ .release = exio_close /* correspond a close */
++};
++
++
++static void exio_cleanup(void)
++{
++ if ( exio_mem )
++ release_mem_region(EXIO_BASE, EXIO_SIZE);
++ exio_mem = NULL;
++ exio_io = NULL;
++
++ if ( exio_class )
++ class_destroy(exio_class);
++ exio_class = NULL;
++
++ unregister_chrdev(major, module_name);
++}
++
++
++static int __init exio_init(void)
++{
++ int rc, i;
++
++ rc = register_chrdev(major, module_name, &exio_fops);
++ if ( rc < 0 )
++ return rc;
++
++ if ( major == 0 ) {
++ major = rc; /* accept dynamic major number */
++ printk(KERN_INFO "%s: successfully loaded with major %d\n",module_name, major);
++ }
++
++ exio_class = class_create(THIS_MODULE, "exio");
++ if ( exio_class == NULL )
++ goto out_cleanup;
++
++ for (i = 0; i < NB_EXIO; i++) {
++ device_create(exio_class, NULL, MKDEV(major, i) ,NULL, "exio%i", i);
++ }
++
++ /* System I/O Configuration Register Low */
++ exio_mem = request_mem_region(EXIO_BASE, EXIO_SIZE, "exio");
++ if ( exio_mem == NULL )
++ goto out_cleanup;
++
++ exio_io = ioremap(EXIO_BASE, EXIO_SIZE);
++ if ( exio_io == NULL )
++ goto out_cleanup;
++
++ /* Output default exio state */
++ iowrite8(exio_state, exio_io);
++
++ /* Register led class entry for driving the Status led */
++ exio_led_init();
++
++ return 0;
++
++out_cleanup:
++ exio_cleanup();
++ return -ENOMEM;
++}
++
++static void __exit exio_exit(void)
++{
++ /* Unregister Status led */
++ exio_led_exit();
++
++ /* Cleanup all other gears */
++ exio_cleanup();
++}
++
++
++module_param(major, int, 0644);
++MODULE_PARM_DESC(major, "Static major number (none = dynamic)");
++MODULE_AUTHOR("Alexandre Coffignal <alexandre.coffignal@cenosys.com>");
++MODULE_DESCRIPTION("boc01 exio management");
++MODULE_LICENSE("GPL");
++
++module_init(exio_init);
++module_exit(exio_exit);
++
++
+Index: linux-2.6.29/drivers/char/mpc8313e_gpio.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.29/drivers/char/mpc8313e_gpio.c 2009-04-01 17:37:55.000000000 +0200
+@@ -0,0 +1,148 @@
++/*
++* mpc8313e gpio driver
++*
++*
++* Copyright (C) 2007, CenoSYS (www.cenosys.com).
++* Alexandre Coffignal
++* alexandre.coffignal@cenosys.com
++*
++* This software program is licensed subject to the GNU General Public License
++* (GPL).Version 2,June 1991, available at http://www.fsf.org/copyleft/gpl.html
++*
++* Allows a user space process to control the GPIO pins.
++*
++*/
++
++#include <linux/fs.h>
++#include <linux/module.h>
++#include <linux/errno.h>
++#include <linux/kernel.h>
++#include <linux/init.h>
++#include <asm/uaccess.h>
++#include <asm/io.h>
++#include <linux/of_platform.h>
++#include <sysdev/fsl_soc.h>
++
++static char module_name[] = "gpio";
++#define NB_GPIO 8
++static int major = 0;
++struct gpio {
++ __be32 gpdir;
++ __be32 gpodr;
++ __be32 gpdat;
++ __be32 gpier;
++ __be32 gpimr;
++ __be32 gpicr;
++} __attribute__ ((packed));
++static struct gpio *gpio_regs;
++
++static ssize_t mpc8313e_gpio_write(struct file *file, const char __user *data, size_t len, loff_t *ppos)
++{
++ unsigned m = iminor(file->f_path.dentry->d_inode);
++ size_t i;
++ int err = 0;
++
++ for (i = 0; i < len; ++i) {
++ char c;
++ if (get_user(c, data + i))
++ return -EFAULT;
++ /* set GPIO as output */
++ setbits32(&gpio_regs->gpdir, 1 << (31 - m));
++ clrbits32(&gpio_regs->gpodr, 1 << (31 - m));
++ switch (c) {
++ case '0':
++ /*Set GPIO level */
++ clrbits32(&gpio_regs->gpdat, 1 << (31 - m));
++ break;
++ case '1':
++ /*Set GPIO level */
++ setbits32(&gpio_regs->gpdat, 1 << (31 - m));
++ break;
++ default:
++ printk(KERN_DEBUG "io%2d bad setting: chr<0x%2x>\n",
++ m, (int)c);
++ err++;
++ }
++ }
++ if (err)
++ return -EINVAL;
++
++ return len;
++}
++
++static ssize_t mpc8313e_gpio_read(struct file *file, char __user * buf, size_t len, loff_t * ppos)
++{
++ unsigned m = iminor(file->f_path.dentry->d_inode);
++ int value;
++ value=in_be32(&gpio_regs->gpdat)&(1 << (31 - m));
++ if (put_user(value ? '1' : '0', buf))
++ return -EFAULT;
++ return 1;
++
++
++}
++
++
++
++static int mpc8313e_gpio_open(struct inode *inode, struct file *file)
++{
++ return 0;
++}
++
++static int mpc8313e_gpio_close(struct inode *inode, struct file *file)
++{
++ return 0;
++}
++
++struct file_operations mpc8313e_gpio_fops =
++{
++ .owner = THIS_MODULE,
++ .read = mpc8313e_gpio_read,
++ .write = mpc8313e_gpio_write,
++ .open = mpc8313e_gpio_open,
++ .release = mpc8313e_gpio_close
++};
++static struct class * gpio_class;
++static int __init mpc8313e_gpio_init(void)
++{
++ int rc,i;
++
++ rc = register_chrdev(major, module_name, &mpc8313e_gpio_fops);
++ if (rc < 0) {
++ return rc;
++ }
++
++ if (major == 0) {
++ major = rc; /* accept dynamic major number */
++ printk(KERN_INFO "%s: successfully loaded with major %d\n",module_name, major);
++
++ }
++ gpio_class = class_create(THIS_MODULE, "gpio");
++
++ for (i = 0; i < NB_GPIO; i++)
++ {
++ device_create(gpio_class, NULL, MKDEV(major, i) ,NULL, "gpio%d",i);
++
++ }
++
++ /* System I/O Configuration Register Low */
++ gpio_regs = ioremap(get_immrbase() + 0xc00, 0x20);
++ if (!gpio_regs)
++ return -ENOMEM;
++ return 0;
++}
++
++static void __exit mpc8313e_gpio_cleanup(void)
++{
++ unregister_chrdev(major, module_name);
++}
++module_param(major, int, 0644);
++MODULE_PARM_DESC(major, "Static major number (none = dynamic)");
++MODULE_AUTHOR("Alexandre Coffignal <alexandre.coffignal@cenosys.com>");
++MODULE_DESCRIPTION("mpc8313e GPIO");
++MODULE_LICENSE("GPL");
++
++module_init(mpc8313e_gpio_init);
++module_exit(mpc8313e_gpio_cleanup);
++
++
diff --git a/recipes/linux/linux-2.6.29/boc01/012-090219-capsense.patch b/recipes/linux/linux-2.6.29/boc01/012-090219-capsense.patch
new file mode 100644
index 0000000000..ce4af93e3a
--- /dev/null
+++ b/recipes/linux/linux-2.6.29/boc01/012-090219-capsense.patch
@@ -0,0 +1,883 @@
+Index: linux-2.6.29/drivers/input/misc/Kconfig
+===================================================================
+--- linux-2.6.29.orig/drivers/input/misc/Kconfig 2009-03-24 00:12:14.000000000 +0100
++++ linux-2.6.29/drivers/input/misc/Kconfig 2009-04-01 17:38:02.000000000 +0200
+@@ -227,4 +227,13 @@
+ Say Y to include support for delivering PMU events via input
+ layer on NXP PCF50633.
+
++config INPUT_CAPSENSE_BTNS
++ tristate "CAPSENSE CY8C201xx buttons interface"
++ select INPUT_POLLDEV
++ select LEDS_CLASS
++ help
++ To compile this driver as a module, choose M here:
++ the module will be called capsense-btns.
++ To change poll interval, invoque poll parameter in msecs.
++
+ endif
+Index: linux-2.6.29/drivers/input/misc/Makefile
+===================================================================
+--- linux-2.6.29.orig/drivers/input/misc/Makefile 2009-03-24 00:12:14.000000000 +0100
++++ linux-2.6.29/drivers/input/misc/Makefile 2009-04-01 17:38:23.000000000 +0200
+@@ -22,3 +22,4 @@
+ obj-$(CONFIG_INPUT_APANEL) += apanel.o
+ obj-$(CONFIG_INPUT_SGI_BTNS) += sgi_btns.o
+ obj-$(CONFIG_INPUT_PCF50633_PMU) += pcf50633-input.o
++obj-$(CONFIG_INPUT_CAPSENSE_BTNS) += capsense-btns.o
+Index: linux-2.6.29/drivers/input/misc/capsense-btns.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.29/drivers/input/misc/capsense-btns.c 2009-04-01 17:38:02.000000000 +0200
+@@ -0,0 +1,456 @@
++/*
++ * CAPSENSE Interface driver
++ *
++ *
++ * Copyright (C) 2008, CenoSYS (www.cenosys.com).
++ *
++ * Guillaume Ligneul <guillaume.ligneul@gmail.com>
++ * Jeremy Lainé <jeremy.laine@bolloretelecom.eu>
++ * Sylvain Giroudon <sylvain.giroudon@goobie.fr>
++ *
++ * This software program is licensed subject to the GNU General Public License
++ * (GPL).Version 2,June 1991, available at http://www.fsf.org/copyleft/gpl.html
++ */
++
++#include <linux/init.h>
++#include <linux/input-polldev.h>
++#include <linux/ioport.h>
++#include <linux/module.h>
++#include <linux/i2c.h>
++#include <linux/leds.h>
++
++
++static int capsense_attach_adapter(struct i2c_adapter *adapter);
++static int capsense_detach_client(struct i2c_client *client);
++#ifdef CONFIG_PM
++static int capsense_suspend(struct i2c_client *client, pm_message_t mesg);
++static int capsense_resume(struct i2c_client *client);
++#endif
++
++#define DRIVER_NAME "capsense"
++
++/* i2c configuration */
++#define CAPSENSE_I2C_ADDR 0x25
++// To debug (may be add in include/linux/i2c-id.h)
++#define I2C_DRIVERID_CAPSENSE 98
++
++#define BUTTONS_POLL_INTERVAL 30 /* msec */
++
++#define CAP_INPUT_PORT(port) (0x00+(port))
++#define CAP_STATUS_PORT(port) (0x02+(port))
++#define CAP_OUTPUT_PORT(port) (0x04+(port))
++#define CAP_CS_ENABLE(port) (0x06+(port))
++#define CAP_GPIO_ENABLE(port) (0x08+(port))
++#define CAP_INVERSION_MASK(port) (0x0A+(port))
++#define CAP_INT_MASK(port) (0x0C+(port))
++#define CAP_STATUS_HOLD_MSK(port) (0x0E+(port))
++#define CAP_DM_PULL_UP(port) (0x10+(4*(port)))
++#define CAP_DM_STRONG(port) (0x11+(4*(port)))
++#define CAP_DM_HIGHZ(port) (0x12+(4*(port)))
++#define CAP_OD_LOW(port) (0x13+(4*(port)))
++#define CAP_PWM_ENABLE(port) (0x18+(port))
++#define CAP_PWM_MODE_DC 0x1A
++#define CAP_PWM_DELAY 0x1B
++#define CAP_OP_SEL(port,bit) (0x1C+(25*(port))+(5*(bit)))
++#define CAP_READ_STATUS(port) (0x88+(port))
++
++#define CAP_CS(command,port,bit) ((command)+(5*(port))+(bit))
++#define CAP_CS_FINGER_TH(port,bit) CAP_CS(0x61,port,bit)
++#define CAP_CS_IDAC(port,bit) CAP_CS(0x6B,port,bit)
++
++#define CAP_DEVICE_ID 0x7A
++#define CAP_DEVICE_STATUS 0x7B
++#define CAP_I2C_ADDR_DM 0x7C
++
++#define CAP_COMMAND_REG 0xA0
++#define CAP_COMMAND_STORE_NVM 0x01
++#define CAP_COMMAND_RESTORE_FACTORY 0x02
++#define CAP_COMMAND_RECONFIGURE 0x06
++#define CAP_COMMAND_NORMAL_MODE 0x07
++#define CAP_COMMAND_SETUP_MODE 0x08
++
++#define CAP_NLEDS 5
++
++static int poll_interval = BUTTONS_POLL_INTERVAL;
++module_param_named(poll, poll_interval, uint, 0);
++MODULE_PARM_DESC(poll, "poll interval in msec (30=default)");
++
++static const unsigned short normal_i2c[] = {
++ CAPSENSE_I2C_ADDR , I2C_CLIENT_END
++};
++I2C_CLIENT_INSMOD;
++
++static struct i2c_driver capsense_driver = {
++ .driver = {
++ .name = DRIVER_NAME,
++ },
++ .id = I2C_DRIVERID_CAPSENSE,
++ .attach_adapter = &capsense_attach_adapter,
++ .detach_client = &capsense_detach_client,
++#ifdef CONFIG_PM
++ .suspend = &capsense_suspend,
++ .resume = &capsense_resume,
++#endif
++};
++
++struct capsense_led {
++ struct led_classdev cdev;
++ struct capsense_ctx *capsense;
++ int port;
++ int bit;
++};
++
++struct capsense_ctx {
++ struct input_polled_dev *ipdev;
++ struct i2c_client client;
++ unsigned char key_state;
++ struct capsense_led leds[CAP_NLEDS];
++ unsigned char led_state[2];
++ struct mutex mutex;
++};
++
++static unsigned short input_keymap[] = {
++ // GP0
++ KEY_F1,
++ KEY_ENTER,
++ KEY_DOWN,
++ KEY_BACKSPACE,
++ // GP1
++ KEY_UP,
++};
++
++struct capsense_keymap {
++ char *name;
++ int port, bit;
++};
++
++static struct capsense_keymap phys_keymap[] = {
++ { "info", 0, 4 },
++ { "ok", 0, 2 },
++ { "down", 0, 3 },
++ { "back", 0, 0 },
++ { "up", 1, 4 },
++};
++
++
++struct capsense_ledmap {
++ char *name;
++ int port, bit;
++};
++
++static struct capsense_ledmap ledmap[CAP_NLEDS] = {
++ { "capsense:blue:back", 0, 1 },
++ { "capsense:blue:info", 1, 0 },
++ { "capsense:blue:down", 1, 1 },
++ { "capsense:blue:ok", 1, 2 },
++ { "capsense:blue:up", 1, 3 },
++};
++
++
++/*
++ * Buttons events handling
++ */
++
++static void handle_buttons(struct input_polled_dev *dev)
++{
++ struct capsense_ctx *capsense = dev->private;
++ u8 port_value;
++ u8 new_state = 0;
++ int port;
++ u8 changed;
++ int i;
++
++ mutex_lock(&capsense->mutex);
++
++ // read status
++ port = -1;
++ port_value = 0;
++ for (i = 0; i < ARRAY_SIZE(phys_keymap); i++) {
++ if ( phys_keymap[i].port != port ) {
++ port = phys_keymap[i].port;
++ port_value = i2c_smbus_read_byte_data(&capsense->client, CAP_READ_STATUS(port));
++ }
++
++ if ( port_value & (1 << phys_keymap[i].bit) )
++ new_state |= (1 << i);
++ }
++
++ mutex_unlock(&capsense->mutex);
++
++ // update keyboard state
++ changed = capsense->key_state ^ new_state;
++ for (i = 0; i < ARRAY_SIZE(input_keymap); i++)
++ if (changed & (1 << i))
++ input_report_key(dev->input, input_keymap[i], (new_state & (1 << i)));
++ capsense->key_state = new_state;
++ input_sync(dev->input);
++}
++
++
++/*
++ * LEDs management
++ */
++
++static void
++capsense_led_set(struct led_classdev *led_cdev,
++ enum led_brightness value)
++{
++ struct capsense_led *led = (struct capsense_led *) led_cdev;
++ struct capsense_ctx *capsense = led->capsense;
++ int port = led->port;
++ unsigned char mask = (1 << led->bit);
++
++ if ( value )
++ capsense->led_state[port] |= mask;
++ else
++ capsense->led_state[port] &= ~mask;
++
++ mutex_lock(&capsense->mutex);
++ i2c_smbus_write_byte_data(&capsense->client, CAP_OUTPUT_PORT(port), capsense->led_state[port]);
++ mutex_unlock(&capsense->mutex);
++}
++
++static void
++capsense_led_enable(struct capsense_led *led, int state)
++{
++ struct capsense_ctx *capsense = led->capsense;
++
++ mutex_lock(&capsense->mutex);
++ i2c_smbus_write_byte_data(&capsense->client, CAP_OP_SEL(led->port, led->bit), state ? 0x00 : 0x80);
++ mutex_unlock(&capsense->mutex);
++}
++
++static int
++capsense_led_init(struct capsense_ctx *capsense)
++{
++ int i;
++ int ret;
++
++ for (i = 0; i < CAP_NLEDS; i++) {
++ struct capsense_led *led = &(capsense->leds[i]);
++
++ led->cdev.name = ledmap[i].name;
++ led->cdev.brightness_set = capsense_led_set;
++ led->capsense = capsense;
++ led->port = ledmap[i].port;
++ led->bit = ledmap[i].bit;
++
++ ret = led_classdev_register(&capsense->ipdev->input->dev, &led->cdev);
++ if ( ret < 0 )
++ return -1;
++
++ capsense_led_enable(led, 1);
++ }
++
++ /* Switch all leds off */
++ mutex_lock(&capsense->mutex);
++
++ capsense->led_state[0] = 0x00;
++ i2c_smbus_write_byte_data(&capsense->client, CAP_OUTPUT_PORT(0), 0x00);
++
++ capsense->led_state[1] = 0x00;
++ i2c_smbus_write_byte_data(&capsense->client, CAP_OUTPUT_PORT(1), 0x00);
++
++ mutex_unlock(&capsense->mutex);
++
++ return 0;
++}
++
++
++static void
++capsense_led_exit(struct capsense_ctx *capsense)
++{
++ int i;
++
++ for (i = 0; i < CAP_NLEDS; i++) {
++ led_classdev_unregister(&capsense->leds[i].cdev);
++ }
++}
++
++
++static inline void
++capsense_led_suspend(struct capsense_ctx *capsense)
++{
++ int i;
++
++ for (i = 0; i < CAP_NLEDS; i++) {
++ struct capsense_led *led = &(capsense->leds[i]);
++
++ led_classdev_suspend(&led->cdev);
++ capsense_led_enable(led, 0);
++ }
++}
++
++
++static inline void
++capsense_led_resume(struct capsense_ctx *capsense)
++{
++ int i;
++
++ for (i = 0; i < CAP_NLEDS; i++) {
++ struct capsense_led *led = &(capsense->leds[i]);
++
++ capsense_led_enable(led, 1);
++ led_classdev_resume(&led->cdev);
++ }
++}
++
++
++/*
++ * Device configuration through procfs entries
++ */
++
++#ifdef CONFIG_PROC_FS
++#include "capsense-procfs.c"
++#endif
++
++
++/*
++ * Device initialisation
++ */
++
++static int
++capsense_probe(struct i2c_adapter *adapter, int addr, int kind)
++{
++ struct capsense_ctx *capsense;
++ struct input_polled_dev *ipdev;
++ struct input_dev *input;
++ int rc = 0, err = -ENOMEM, i=0;
++
++ capsense = kzalloc(sizeof(*capsense), GFP_KERNEL);
++ if (!capsense)
++ goto failout;
++
++ mutex_init(&capsense->mutex);
++
++ if (!i2c_check_functionality(adapter, I2C_FUNC_I2C)) {
++ goto failout;
++ }
++
++ ipdev = input_allocate_polled_device();
++ if (!ipdev)
++ goto failout;
++
++ capsense->key_state = 0;
++ capsense->ipdev = ipdev;
++ capsense->client.adapter = adapter;
++ capsense->client.addr = addr;
++ capsense->client.driver = &capsense_driver;
++ strlcpy(capsense->client.name, DRIVER_NAME, I2C_NAME_SIZE);
++ i2c_set_clientdata(&capsense->client, capsense);
++
++ rc = i2c_attach_client(&capsense->client);
++ if (rc)
++ goto out_attach;
++
++ ipdev->poll = handle_buttons;
++ ipdev->private = capsense;
++ ipdev->poll_interval = poll_interval;
++
++ input = ipdev->input;
++ input->name = "Capsense buttons";
++ input->phys = "capsense/input0";
++ input->id.bustype = BUS_I2C;
++ input->dev.parent = &capsense->client.dev;
++
++ input->keycode = input_keymap;
++ input->keycodemax = ARRAY_SIZE(input_keymap);
++ input->keycodesize = sizeof(unsigned short);
++
++ input_set_capability(input, EV_MSC, MSC_SCAN);
++ set_bit(EV_KEY, ipdev->input->evbit);
++
++ for (i = 0; i < ARRAY_SIZE(input_keymap); i++)
++ set_bit(input_keymap[i], ipdev->input->keybit);
++
++ rc = input_register_polled_device(ipdev);
++ if(rc)
++ goto out_polled;
++
++ if ( capsense_led_init(capsense) )
++ goto out_registered;
++
++#ifdef CONFIG_PROC_FS
++ /* Create /proc entries for hardware device configuration */
++ capsense_proc_init(capsense);
++#endif
++
++ return 0;
++
++out_registered:
++ input_unregister_polled_device(ipdev);
++out_polled:
++ i2c_detach_client(&capsense->client);
++out_attach:
++ input_free_polled_device(ipdev);
++failout:
++ return err;
++}
++
++static int
++capsense_attach_adapter (struct i2c_adapter *adapter)
++{
++ return i2c_probe(adapter, &addr_data, capsense_probe);
++}
++
++static int
++capsense_detach_client(struct i2c_client *client)
++{
++ struct capsense_ctx *capsense = i2c_get_clientdata(client);
++
++ capsense_led_exit(capsense);
++ input_unregister_polled_device(capsense->ipdev);
++ i2c_detach_client(&capsense->client);
++ input_free_polled_device(capsense->ipdev);
++ return 0;
++}
++
++
++/*
++ * Power management
++ */
++
++#ifdef CONFIG_PM
++static int capsense_suspend(struct i2c_client *client, pm_message_t mesg)
++{
++ struct capsense_ctx *capsense = i2c_get_clientdata(client);
++
++ printk(KERN_INFO DRIVER_NAME ": suspend\n");
++
++ capsense_led_suspend(capsense);
++
++ return 0;
++}
++
++static int capsense_resume(struct i2c_client *client)
++{
++ struct capsense_ctx *capsense = i2c_get_clientdata(client);
++
++ printk(KERN_INFO DRIVER_NAME ": resume\n");
++
++ capsense_led_resume(capsense);
++
++ return 0;
++}
++#endif
++
++
++/*
++ * Driver initialisation
++ */
++
++static int __init capsense_buttons_init(void)
++{
++ return i2c_add_driver(&capsense_driver);
++}
++
++static void __exit capsense_buttons_exit(void)
++{
++ i2c_del_driver(&capsense_driver);
++}
++
++MODULE_AUTHOR("Guillaume Ligneul <guillaume.ligneul@cenosys.com>");
++MODULE_DESCRIPTION("Capsense CY8C201xx Input driver");
++MODULE_LICENSE("GPL");
++module_init(capsense_buttons_init);
++module_exit(capsense_buttons_exit);
+Index: linux-2.6.29/drivers/input/misc/capsense-procfs.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.29/drivers/input/misc/capsense-procfs.c 2009-04-01 17:38:02.000000000 +0200
+@@ -0,0 +1,390 @@
++/*
++ * CAPSENSE Interface driver
++ * Device setup using procfs
++ *
++ * Copyright (C) 2008, Goobie (www.goobie.fr).
++ *
++ * Sylvain Giroudon <sylvain.giroudon@goobie.fr>
++ *
++ * This software program is licensed subject to the GNU General Public License
++ * (GPL).Version 2,June 1991, available at http://www.fsf.org/copyleft/gpl.html
++ */
++
++#include <linux/proc_fs.h>
++#include <linux/uaccess.h>
++
++
++struct capsense_proc_data {
++ struct capsense_ctx *capsense;
++ struct capsense_keymap *phys;
++ char *name;
++ unsigned char command;
++ unsigned char hex;
++};
++
++struct capsense_proc_entry {
++ char *name;
++ unsigned char command;
++ struct capsense_proc_data data[ARRAY_SIZE(phys_keymap)];
++};
++
++static struct capsense_proc_entry capsense_proc_key_entries[] = {
++ { "CS_FINGER_TH", CAP_CS_FINGER_TH(0,0) },
++ { "CS_IDAC", CAP_CS_IDAC(0,0) },
++};
++
++static struct capsense_proc_entry capsense_proc_device_entries[] = {
++ { "DEVICE_ID", CAP_DEVICE_ID },
++ { "DEVICE_STATUS", CAP_DEVICE_STATUS },
++};
++
++struct capsense_proc_command {
++ char *name;
++ unsigned char command;
++ struct capsense_ctx *capsense;
++};
++
++static struct capsense_proc_command capsense_proc_commands[] = {
++ { "store", CAP_COMMAND_STORE_NVM },
++ //{ "factory", CAP_COMMAND_RESTORE_FACTORY },
++ //{ "reconfigure", CAP_COMMAND_RECONFIGURE },
++};
++
++
++static int capsense_proc_read(char *page, char **start, off_t off, int count,
++ int *eof, void *_data)
++{
++ struct capsense_proc_data *data = _data;
++ struct capsense_ctx *capsense = data->capsense;
++ u8 value;
++ int len;
++
++ mutex_lock(&capsense->mutex);
++ value = i2c_smbus_read_byte_data(&capsense->client, data->command);
++ mutex_unlock(&capsense->mutex);
++
++ if ( data->hex )
++ len = sprintf(page, "%02X\n", value);
++ else
++ len = sprintf(page, "%u\n", value);
++
++ len -= off;
++ if ( len < count ) {
++ *eof = 1;
++ if ( len <= 0 )
++ return 0;
++ } else {
++ len = count;
++ }
++
++ *start = page + off;
++
++ return len;
++}
++
++
++static int capsense_proc_write(struct file *file, const char *buf,
++ unsigned long count, void *_data)
++{
++ struct capsense_proc_data *data = _data;
++ struct capsense_ctx *capsense = data->capsense;
++ char lbuf[count+1];
++ u8 value;
++
++ /* Only root can do this */
++ if ( !capable(CAP_SYS_ADMIN) )
++ return -EACCES;
++
++ memset(lbuf, 0, sizeof(lbuf));
++
++ if (copy_from_user(lbuf, buf, count))
++ return -EFAULT;
++
++ if ( sscanf(lbuf, "%hhi", &value) == 1 ) {
++ mutex_lock(&capsense->mutex);
++ i2c_smbus_write_byte_data(&capsense->client, CAP_COMMAND_REG, CAP_COMMAND_SETUP_MODE);
++ i2c_smbus_write_byte_data(&capsense->client, data->command, value);
++ i2c_smbus_write_byte_data(&capsense->client, CAP_COMMAND_REG, CAP_COMMAND_NORMAL_MODE);
++ mutex_unlock(&capsense->mutex);
++ }
++ else {
++ printk(KERN_INFO DRIVER_NAME ": [%s/%s] Syntax error in expression\n", data->phys->name, data->name);
++ return -EINVAL;
++ }
++
++ return count;
++}
++
++
++static inline char *str_skip_blanks(char *s)
++{
++ while ( (*s != '\0') && (*s <= ' ') )
++ s++;
++ return s;
++}
++
++
++static inline char *str_skip_chars(char *s)
++{
++ while ( *s > ' ' )
++ s++;
++ return s;
++}
++
++
++static int capsense_proc_write_iic(struct file *file, const char *buf,
++ unsigned long count, void *data)
++{
++ struct capsense_ctx *capsense = data;
++ char lbuf[count+1];
++ int lnum;
++ char *s;
++
++ /* Only root can do this */
++ if ( !capable(CAP_SYS_ADMIN) )
++ return -EACCES;
++
++ printk(KERN_INFO DRIVER_NAME ": Reading configuration script from /proc/" DRIVER_NAME "/iic (%lu bytes)\n", count);
++
++ memset(lbuf, 0, sizeof(lbuf));
++
++ if (copy_from_user(lbuf, buf, count))
++ return -EFAULT;
++
++ s = lbuf;
++ lnum = 0;
++
++ while ( *s != '\0' ) {
++ char *line;
++ char operation;
++ unsigned char data[255];
++ int size;
++ struct i2c_msg msg;
++ int ret;
++
++ lnum++;
++
++ /* Spot the end of the line */
++ line = s;
++ while ( (*s != '\0') && (*s != '\n') )
++ s++;
++ if ( *s != '\0' )
++ *(s++) = '\0';
++
++ //printk(KERN_INFO DRIVER_NAME ": iic:%d: '%s'\n", lnum, line);
++
++ /* Strip leading blank characters */
++ line = str_skip_blanks(line);
++
++ /* Empty or commented line: skip! */
++ if ( (*line == '\0') || (*line == '#') )
++ continue;
++
++ /* Only accept write operations 'w' */
++ operation = *(line++);
++ if ( operation != 'w' ) {
++ printk(KERN_ERR DRIVER_NAME ": iic:%d: Unknown operation '%c ...' -- skipped\n", lnum, operation);
++ continue;
++ }
++
++ /* Extract data values */
++ size = 0;
++ while ( (*line != '\0') && (size < sizeof(data)) ) {
++ line = str_skip_blanks(line);
++ if ( *line != '\0' )
++ sscanf(line, "%hhx", &data[size++]);
++ line = str_skip_chars(line);
++ }
++
++ {
++ int i;
++
++ printk(KERN_DEBUG DRIVER_NAME ": iic:%d: %c", lnum, operation);
++ for (i = 0; i < size; i++)
++ printk(" %02X", data[i]);
++ printk("\n");
++ }
++
++ /* Do nothing if there are less than 2 data bytes (address, command) */
++ if ( size < 3 ) {
++ printk(KERN_ERR DRIVER_NAME ": iic:%d: Too few data for operation '%c ...' -- skipped\n", lnum, operation);
++ continue;
++ }
++
++ /* First data byte is the i2c device address:
++ Warn if it does not match the standard i2c address */
++ if ( data[0] != CAPSENSE_I2C_ADDR ) {
++ printk(KERN_WARNING DRIVER_NAME ": iic:%d: WARNING - Specified i2c address (%02X) differs from standard i2c address (%02X)\n", lnum, data[0], CAPSENSE_I2C_ADDR);
++ }
++
++ /* Second data byte is the capsense register:
++ Warn if changing the device I2C address */
++ if ( data[1] == CAP_I2C_ADDR_DM ) {
++ printk(KERN_WARNING DRIVER_NAME ": iic:%d: WARNING - Changing i2c address to %02X (I2C_ADDR_DM=%02X)\n", lnum, data[2] & 0x7F, data[2]);
++ }
++
++ /* Send command to i2c device */
++ mutex_lock(&capsense->mutex);
++
++ msg.addr = data[0];
++ msg.flags = capsense->client.flags;
++ msg.len = size - 1;
++ msg.buf = data + 1;
++ //printk(KERN_INFO DRIVER_NAME ": iic:%d: i2c transfer: addr=0x%02X flags=0x%04X len=%d\n", lnum, msg.addr, msg.flags, msg.len);
++
++ ret = i2c_transfer(capsense->client.adapter, &msg, 1);
++ if ( ret < 0 )
++ printk(KERN_ERR DRIVER_NAME ": iic:%d: i2c transfer failed (%d), command rejected\n", lnum, ret);
++
++ mutex_unlock(&capsense->mutex);
++ }
++
++ return count;
++}
++
++
++static int capsense_proc_write_command(struct file *file, const char *buf,
++ unsigned long count, void *data)
++{
++ struct capsense_proc_command *command = data;
++ struct capsense_ctx *capsense = command->capsense;
++
++ /* Only root can do this */
++ if ( !capable(CAP_SYS_ADMIN) )
++ return -EACCES;
++
++ printk(KERN_INFO DRIVER_NAME ": %s (%02X)\n", command->name, command->command);
++
++ mutex_lock(&capsense->mutex);
++ i2c_smbus_write_byte_data(&capsense->client, CAP_COMMAND_REG, CAP_COMMAND_SETUP_MODE);
++ i2c_smbus_write_byte_data(&capsense->client, CAP_COMMAND_REG, command->command);
++ i2c_smbus_write_byte_data(&capsense->client, CAP_COMMAND_REG, CAP_COMMAND_NORMAL_MODE);
++ mutex_unlock(&capsense->mutex);
++
++ return count;
++}
++
++
++static int capsense_proc_init(struct capsense_ctx *capsense)
++{
++ struct proc_dir_entry *root;
++ struct proc_dir_entry *dir;
++ struct proc_dir_entry *ent;
++ int i;
++
++ /* Create capsense proc directory */
++ printk(KERN_INFO DRIVER_NAME ": Creating setup entries in /proc/" DRIVER_NAME "/\n");
++
++ root = proc_mkdir(DRIVER_NAME, NULL);
++ if ( root == NULL ) {
++ printk(KERN_WARNING DRIVER_NAME ": Cannot create directory /proc/" DRIVER_NAME "\n");
++ return -1;
++ }
++
++ root->owner = THIS_MODULE;
++
++ /* Create iic config file dump entry */
++ ent = create_proc_entry("iic", S_IFREG|S_IWUSR, root);
++ if ( ent == NULL ) {
++ printk(KERN_WARNING DRIVER_NAME ": Cannot create entry /proc/" DRIVER_NAME "/iic\n");
++ return -1;
++ }
++
++ ent->owner = THIS_MODULE;
++ ent->data = capsense;
++ ent->write_proc = capsense_proc_write_iic;
++
++ /* Create commands directory */
++ dir = proc_mkdir("commands", root);
++ if ( dir == NULL ) {
++ printk(KERN_WARNING DRIVER_NAME ": Cannot create directory /proc/" DRIVER_NAME "/commands\n");
++ return -1;
++ }
++
++ dir->owner = THIS_MODULE;
++
++ /* Create command entries */
++ for (i = 0; i < ARRAY_SIZE(capsense_proc_commands); i++) {
++ struct capsense_proc_command *command = &capsense_proc_commands[i];
++
++ command->capsense = capsense;
++
++ ent = create_proc_entry(command->name, S_IFREG|S_IWUSR, dir);
++ if ( ent == NULL ) {
++ printk(KERN_WARNING DRIVER_NAME ": Cannot create entry /proc/" DRIVER_NAME "/commands/%s\n", command->name);
++ return -1;
++ }
++
++ ent->owner = THIS_MODULE;
++ ent->data = command;
++ ent->write_proc = capsense_proc_write_command;
++ }
++
++ /* Create device status read entries */
++ for (i = 0; i < ARRAY_SIZE(capsense_proc_device_entries); i++) {
++ struct capsense_proc_entry *entry = &(capsense_proc_device_entries[i]);
++ struct capsense_proc_data *data = &(entry->data[i]);
++
++ data->capsense = capsense;
++ data->phys = NULL;
++ data->name = entry->name;
++ data->command = entry->command;
++ data->hex = 1;
++
++ ent = create_proc_entry(entry->name, S_IFREG|S_IRUSR, root);
++ if ( ent == NULL ) {
++ printk(KERN_WARNING DRIVER_NAME ": Cannot create entry /proc/" DRIVER_NAME "/%s\n", entry->name);
++ continue;
++ }
++
++ ent->owner = THIS_MODULE;
++ ent->data = data;
++ ent->read_proc = capsense_proc_read;
++ }
++
++ /* Create keys management directory */
++ dir = proc_mkdir("keys", root);
++ if ( dir == NULL ) {
++ printk(KERN_WARNING DRIVER_NAME ": Cannot create directory /proc/" DRIVER_NAME "/keys\n");
++ return -1;
++ }
++
++ dir->owner = THIS_MODULE;
++
++ /* Create keys sensitivity adjustment entries */
++ for (i = 0; i < ARRAY_SIZE(phys_keymap); i++) {
++ struct capsense_keymap *phys = &phys_keymap[i];
++ struct proc_dir_entry *subdir;
++ int ientry;
++
++ subdir = proc_mkdir(phys->name, dir);
++ if ( subdir == NULL ) {
++ printk(KERN_WARNING DRIVER_NAME ": Cannot create directory /proc/" DRIVER_NAME "/keys/%s\n", phys->name);
++ continue;
++ }
++
++ for (ientry = 0; ientry < ARRAY_SIZE(capsense_proc_key_entries); ientry++) {
++ struct capsense_proc_entry *entry = &(capsense_proc_key_entries[ientry]);
++ struct capsense_proc_data *data = &(entry->data[i]);
++
++ data->capsense = capsense;
++ data->phys = phys;
++ data->name = entry->name;
++ data->command = CAP_CS(entry->command, phys->port, phys->bit);
++ data->hex = 0;
++
++ ent = create_proc_entry(entry->name, S_IFREG|S_IRUSR|S_IWUSR, subdir);
++ if ( ent == NULL ) {
++ printk(KERN_WARNING DRIVER_NAME ": Cannot create entry /proc/" DRIVER_NAME "/keys/%s/%s\n", phys->name, entry->name);
++ continue;
++ }
++
++ ent->owner = THIS_MODULE;
++ ent->data = data;
++ ent->read_proc = capsense_proc_read;
++ ent->write_proc = capsense_proc_write;
++ }
++ }
++
++ return 0;
++}
diff --git a/recipes/linux/linux-2.6.29/boc01/013-090306-lcd.patch b/recipes/linux/linux-2.6.29/boc01/013-090306-lcd.patch
new file mode 100644
index 0000000000..039d6575d4
--- /dev/null
+++ b/recipes/linux/linux-2.6.29/boc01/013-090306-lcd.patch
@@ -0,0 +1,1090 @@
+Index: linux-2.6.29/drivers/video/Kconfig
+===================================================================
+--- linux-2.6.29.orig/drivers/video/Kconfig 2009-03-24 00:12:14.000000000 +0100
++++ linux-2.6.29/drivers/video/Kconfig 2009-04-01 17:38:36.000000000 +0200
+@@ -491,6 +491,28 @@
+ this driver, say Y or M; otherwise say N. You must specify the
+ GPIO IO address to be used for setting control and data.
+
++config FB_NT7506
++ tristate "Novatek 7506 LCD board support"
++ depends on FB
++ select FB_SYS_FILLRECT
++ select FB_SYS_COPYAREA
++ select FB_SYS_IMAGEBLIT
++ select FB_SYS_FOPS
++ select FB_BACKLIGHT
++ select LCD_CLASS_DEVICE
++ help
++ This is the frame buffer device driver for the Novatek 7506 Monochrome/Grayscale LCD board.
++ The board is based on the NT7506 LCD controller.
++
++config FB_NT7506_GRAYSCALE
++ bool "Novatek 7506 Grayscale mode"
++ depends on FB_NT7506
++ default y
++ help
++ This option switches the Monochrome/Grayscale mode for the Novatek 7506 LCD board.
++ Say Y to enable 4-levels Grayscale mode (2 bpp).
++ Say N to enable Monochrome mode (1 bpp).
++
+ config FB_ATARI
+ bool "Atari native chipset support"
+ depends on (FB = y) && ATARI
+Index: linux-2.6.29/drivers/video/Makefile
+===================================================================
+--- linux-2.6.29.orig/drivers/video/Makefile 2009-03-24 00:12:14.000000000 +0100
++++ linux-2.6.29/drivers/video/Makefile 2009-04-01 17:38:36.000000000 +0200
+@@ -30,6 +30,7 @@
+ # Hardware specific drivers go first
+ obj-$(CONFIG_FB_AMIGA) += amifb.o c2p_planar.o
+ obj-$(CONFIG_FB_ARC) += arcfb.o
++obj-$(CONFIG_FB_NT7506) += nt7506fb.o
+ obj-$(CONFIG_FB_CLPS711X) += clps711xfb.o
+ obj-$(CONFIG_FB_CYBER2000) += cyber2000fb.o
+ obj-$(CONFIG_FB_PM2) += pm2fb.o
+Index: linux-2.6.29/drivers/video/nt7506fb.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.29/drivers/video/nt7506fb.c 2009-04-01 17:38:36.000000000 +0200
+@@ -0,0 +1,880 @@
++/*
++ * linux/drivers/video/nt7506fb.c -- FB driver for NT7506 monochrome LCD board
++ *
++ * Copyright (C) 2008, CenoSYS (www.cenosys.com).
++ *
++ * Alexandre Coffignal <alexandre.coffignal@cenosys.com>
++ * Sylvain Giroudon <sylvain.giroudon@goobie.fr>
++ * Jeremy Laine <jeremy.laine@bolloretelecom.eu>
++ *
++ * 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.
++ *
++ * Layout is based on arcfb.c by Jaya Kumar
++ *
++ * This driver was written to be used with the Novatek NT7506 LCD board.
++ *
++ * Novatek uses a set of NT7506 chips that control individual 128x128 LCD
++ * matrices. The interface between the board and the host is TTL based GPIO.
++ *
++ * General notes:
++ * - User must set tuhold. It's in microseconds. According to the 108 spec,
++ * the hold time is supposed to be at least 1 microsecond.
++ *
++ */
++
++#include <linux/module.h>
++#include <linux/kernel.h>
++#include <linux/errno.h>
++#include <linux/string.h>
++#include <linux/mm.h>
++#include <linux/vmalloc.h>
++#include <linux/delay.h>
++#include <linux/timer.h>
++#include <linux/fb.h>
++#include <linux/init.h>
++#include <linux/platform_device.h>
++#include <linux/backlight.h>
++#include <linux/lcd.h>
++#include <linux/nt7506fb.h>
++
++#include <linux/uaccess.h>
++
++#define DRIVER_NAME "nt7506fb"
++
++//NT7506 Hardware
++#define LCD_RST 0x08
++#define LCD_RSTN 0x00
++#define LCD_BCKLIGH 0x04
++#define LCD_BCKLIGHN 0x00
++#define LCD_RS 0x02
++#define LCD_RSN 0x00
++#define LCD_ERD 0x01
++#define LCD_ERDN 0x00
++
++//Base address
++#define LCD_BASE 0xf0000000
++#define LCD_SIZE 0x2
++
++//NT7506 Instructions
++#define NT_ICON 0xA2
++#define NT_PAGE_ADDR 0xB0
++#define NT_COL_MSB 0x10
++#define NT_COL_LSB 0x00
++#define NT_DISP 0xAE
++#define NT_START_LINE 0x40
++#define NT_COM0 0x44
++#define NT_DUTY 0x48
++#define DUTY_1_128 0x80
++#define NT_REV_DISP 0xA6
++#define NT_POWER 0x28
++#define VC 0x04
++#define VR 0x02
++#define VF 0x01
++#define NT_DCDC 0x64
++#define TIME6 0x03
++#define NT_REG_RES 0x20
++#define RES_7_2 0x07
++#define NT_ELEC_VOL 0x81
++#define NT_BIAS 0x50
++#define BIAS_1_11 0x06
++#define NT_ADC_NOR 0xA0
++#define NT_ADC_REV 0xA1
++#define NT_SHL_NOR 0xC0
++#define NT_SHL_REV 0xC8
++#define NT_SET_PWRSAVE 0xA8
++#define NT_OSC 0xAB
++#define NT_RLS_PWRSAVE 0xE1
++#define NT_RESET 0xE2
++#define NT_DATA_DIR 0xe8
++#define NT_FRC_PWM 0x90
++#define PWM15 0x03
++
++#define ON 0x01
++#define OFF 0x00
++
++#define NT_GRAY_SCALE 0x88
++#define GRAY_WHITE_AB 0
++#define GRAY_WHITE_CD 1
++#define GRAY_LIGHT_AB 2
++#define GRAY_LIGHT_CD 3
++#define GRAY_DARK_AB 4
++#define GRAY_DARK_CD 5
++#define GRAY_BLACK_AB 6
++#define GRAY_BLACK_CD 7
++
++#define GRAY_INDEX_WHITE GRAY_WHITE_AB
++#define GRAY_INDEX_LIGHT GRAY_LIGHT_AB
++#define GRAY_INDEX_DARK GRAY_DARK_AB
++#define GRAY_INDEX_BLACK GRAY_BLACK_AB
++
++#define GRAY_LEVEL_WHITE 0
++#define GRAY_LEVEL_LIGHT 5
++#define GRAY_LEVEL_DARK 10
++#define GRAY_LEVEL_BLACK 15
++#define GRAY_LEVEL_MAX 15
++
++#define GRAY_VALUE(level) (((level)<<4)+(level))
++
++// Geometric settings
++#define LCD_WIDTH 128
++#define LCD_HEIGHT 128
++#define LCD_NPAGES (LCD_HEIGHT/8) /* LCD pages of 8 vertical pixels */
++
++#define DEFAULT_CONTRAST 20
++#define DEFAULT_FPS 10
++
++static struct resource *lcd_mem = NULL;
++static void * _lcd_io = NULL;
++static unsigned long tuhold;
++struct fb_info *info;
++static struct timer_list fb_timer;
++static char _fps = DEFAULT_FPS;
++static char _backlight = 1;
++
++struct nt7506fb_par {
++ atomic_t ref_count;
++ struct fb_info *info;
++ spinlock_t lock;
++ struct lcd_device *lcd_dev;
++ int power;
++ int contrast;
++};
++
++static struct fb_fix_screeninfo nt7506fb_fix __initdata = {
++ .id = DRIVER_NAME,
++ .type = FB_TYPE_PACKED_PIXELS,
++#ifdef CONFIG_FB_NT7506_GRAYSCALE
++ .visual = FB_VISUAL_STATIC_PSEUDOCOLOR,
++ .line_length = LCD_WIDTH / 4,
++#else
++ .visual = FB_VISUAL_MONO01,
++ .line_length = LCD_WIDTH / 8,
++#endif
++ .xpanstep = 1,
++ .ypanstep = 1,
++ .ywrapstep = 0,
++ .accel = FB_ACCEL_NONE,
++};
++
++static struct fb_var_screeninfo nt7506fb_var __initdata = {
++ .xres = LCD_WIDTH,
++ .yres = LCD_HEIGHT,
++ .xres_virtual = LCD_WIDTH,
++ .yres_virtual = LCD_HEIGHT,
++ .nonstd = 1,
++#ifdef CONFIG_FB_NT7506_GRAYSCALE
++ .bits_per_pixel = 2,
++ .grayscale = 1,
++ .red = { 0, 2, 0 },
++ .green = { 0, 2, 0 },
++ .blue = { 0, 2, 0 },
++ .transp = { 0, 0, 0 },
++#else
++ .bits_per_pixel = 1,
++#endif
++};
++
++
++/*
++ * Low-level i/o primitives
++ */
++
++static void NT7506_init_lcd(char ael);
++
++static void NT7506_writeb_ctl(unsigned char value)
++{
++ unsigned short svalue;
++ char bl = _backlight ? LCD_BCKLIGH : LCD_BCKLIGHN;
++
++ svalue=value<<8 | LCD_RSN | LCD_RST | LCD_ERDN | bl;
++ iowrite16(svalue, _lcd_io);
++ udelay(tuhold);
++ //The data on DB0/7 are latched at the falling edge of the E_RD signal
++ svalue=value<<8 | LCD_RSN | LCD_RST | LCD_ERD | bl;
++ iowrite16(svalue, _lcd_io);
++ udelay(tuhold);
++}
++
++static void NT7506_writeb_data(unsigned char value)
++{
++ unsigned short svalue;
++ char bl = _backlight ? LCD_BCKLIGH : LCD_BCKLIGHN;
++
++ svalue=value<<8|LCD_RS |LCD_RST | LCD_ERD | bl ;
++ iowrite16(svalue, _lcd_io);
++ udelay(tuhold);
++ //The data on DB0/7 are latched at the falling edge of the E_RD signal
++ svalue=value<<8|LCD_RS |LCD_RST | LCD_ERDN | bl;
++ iowrite16(svalue, _lcd_io);
++ udelay(tuhold);
++}
++
++static void NT7506_set_start_line(unsigned char y)
++{
++ NT7506_writeb_ctl(NT_START_LINE);
++ NT7506_writeb_ctl(y);
++}
++
++static void NT7506_set_yaddr(unsigned char y)
++{
++ NT7506_writeb_ctl(NT_PAGE_ADDR+y);
++}
++
++static void NT7506_set_xaddr(unsigned char x)
++{
++ NT7506_writeb_ctl(NT_COL_MSB | (x >> 0x04)); //Send high nibble
++ NT7506_writeb_ctl(NT_COL_LSB | (x & 0x0F) ); //Send low nibble
++}
++
++
++/*
++ * LCD device management
++ */
++
++static int
++nt7506fb_lcd_get_contrast(struct lcd_device *lcd_dev)
++{
++ struct nt7506fb_par *par = lcd_get_data(lcd_dev);
++ return par->contrast;
++}
++
++static int
++nt7506fb_lcd_set_contrast(struct lcd_device *lcd_dev, int contrast)
++{
++ struct nt7506fb_par *par = lcd_get_data(lcd_dev);
++
++ par->contrast = contrast;
++ NT7506_writeb_ctl(NT_ELEC_VOL); NT7506_writeb_ctl(par->contrast);
++
++ //printk(KERN_INFO DRIVER_NAME": contrast = %d\n", par->contrast);
++ return 0;
++}
++
++static struct lcd_ops nt7506fb_lcd_ops = {
++ .get_contrast = nt7506fb_lcd_get_contrast,
++ .set_contrast = nt7506fb_lcd_set_contrast,
++};
++
++static void
++nt7506fb_lcd_init(struct nt7506fb_par *par)
++{
++ struct fb_info *info = par->info;
++ struct lcd_device *lcd_dev;
++
++ lcd_dev = lcd_device_register(DRIVER_NAME, info->dev, par, &nt7506fb_lcd_ops);
++ if (IS_ERR(lcd_dev)) {
++ par->lcd_dev = NULL;
++ printk(KERN_WARNING DRIVER_NAME ": LCD device registration failed\n");
++ return;
++ }
++
++ par->lcd_dev = lcd_dev;
++ lcd_dev->props.max_contrast = 255;
++ par->contrast = DEFAULT_CONTRAST;
++ printk(KERN_INFO DRIVER_NAME ": LCD contrast management initialized\n");
++}
++
++static void
++nt7506fb_lcd_exit(struct nt7506fb_par *par)
++{
++ if ( par->lcd_dev ) {
++ lcd_device_unregister(par->lcd_dev);
++ par->lcd_dev = NULL;
++ }
++}
++
++
++/*
++ * Backlight device management
++ */
++static void nt7506fb_start_timer(void);
++
++static int
++nt7506fb_bl_update_status(struct backlight_device *bd)
++{
++ struct nt7506fb_par *par = bl_get_data(bd);
++ int power_on = (bd->props.power != FB_BLANK_POWERDOWN);
++
++ _backlight = bd->props.brightness & power_on;
++
++ printk(KERN_INFO DRIVER_NAME ": backlight=%d power_on=%d\n", _backlight, power_on);
++
++ if ( bd->props.power != par->power ) {
++ par->power = bd->props.power;
++
++ if ( power_on ) {
++ /* Power LCD device on */
++ NT7506_writeb_ctl(NT_SET_PWRSAVE|OFF);
++ NT7506_writeb_ctl(NT_RLS_PWRSAVE);
++
++ /* Restart refresh timer */
++ if ( ! timer_pending(&fb_timer) )
++ nt7506fb_start_timer();
++ }
++ else {
++ /* Throttle refresh timer */
++ del_timer(&fb_timer);
++
++ /* Put LCD device in power save mode */
++ NT7506_writeb_ctl(NT_SET_PWRSAVE|ON);
++ NT7506_writeb_ctl(NT_RLS_PWRSAVE);
++ }
++ }
++
++ //printk(KERN_INFO DRIVER_NAME": backlight = %d\n", _backlight);
++ return 0;
++}
++
++static int
++nt7506fb_bl_get_brightness(struct backlight_device *bd)
++{
++ return bd->props.brightness;
++}
++
++static struct backlight_ops nt7506fb_bl_ops = {
++ .get_brightness = nt7506fb_bl_get_brightness,
++ .update_status = nt7506fb_bl_update_status,
++};
++
++
++static void
++nt7506fb_bl_init(struct nt7506fb_par *par)
++{
++ struct fb_info *info = par->info;
++ struct backlight_device *bd;
++
++ bd = backlight_device_register(DRIVER_NAME, info->dev, par, &nt7506fb_bl_ops);
++ if (IS_ERR(bd)) {
++ info->bl_dev = NULL;
++ printk(KERN_WARNING DRIVER_NAME ": Backlight device registration failed\n");
++ return;
++ }
++
++ info->bl_dev = bd;
++ bd->props.max_brightness = 1;
++ bd->props.power = FB_BLANK_UNBLANK;
++ bd->props.brightness = 1;
++ par->power = bd->props.power;
++
++ nt7506fb_bl_update_status(bd);
++
++ printk(KERN_INFO DRIVER_NAME ": Backlight control initialized\n");
++}
++
++static void
++nt7506fb_bl_exit(struct fb_info *info)
++{
++ if ( info->bl_dev ) {
++ backlight_device_unregister(info->bl_dev);
++ info->bl_dev = NULL;
++ }
++}
++
++
++/*
++ * Main frame buffer operations
++ */
++
++static int nt7506fb_open(struct fb_info *info, int user)
++{
++ struct nt7506fb_par *par = info->par;
++ atomic_inc(&par->ref_count);
++ return 0;
++}
++
++static int nt7506fb_release(struct fb_info *info, int user)
++{
++ struct nt7506fb_par *par = info->par;
++ int count = atomic_read(&par->ref_count);
++ if (!count)
++ return -EINVAL;
++ atomic_dec(&par->ref_count);
++ return 0;
++}
++
++static int nt7506fb_pan_display(struct fb_var_screeninfo *var,
++ struct fb_info *info)
++{
++ if ( (var->vmode & FB_VMODE_YWRAP) &&
++ (var->yoffset < LCD_HEIGHT) &&
++ (info->var.yres <= LCD_HEIGHT) ) {
++ NT7506_set_start_line(var->yoffset);
++ info->var.yoffset = var->yoffset;
++ return 0;
++ }
++
++ return -EINVAL;
++}
++
++static void nt7506fb_lcd_update(struct nt7506fb_par *par)
++{
++ unsigned char *src = (unsigned char __force *) par->info->screen_base;
++ int line_length = par->info->fix.line_length;
++ int page, x, bit;
++ unsigned char plane1, plane2;
++ unsigned char *ptr;
++ unsigned char xshift;
++
++ if ( info->var.bits_per_pixel == 1 ) {
++
++ for (page = 0; page < LCD_NPAGES; page++) {
++ NT7506_set_yaddr(page);
++ NT7506_set_xaddr(0);
++ for (x = 0; x < LCD_WIDTH; x++) {
++ xshift = 7 - (x % 8);
++ plane1 = plane2 = 0;
++ ptr = src + (page * 8 * line_length + x / 8);
++ for (bit = 0; bit < 8; ptr += line_length, bit++) {
++ plane1 |= (((*ptr) >> xshift) & 1) << bit;
++ }
++ NT7506_writeb_data(plane1);
++ NT7506_writeb_data(plane2);
++ }
++ }
++
++ } else {
++
++ for (page = 0; page < LCD_NPAGES; page++) {
++ NT7506_set_yaddr(page);
++ NT7506_set_xaddr(0);
++ for (x = 0; x < LCD_WIDTH; x++) {
++ xshift = (3 - (x % 4)) << 1;
++ plane1 = plane2 = 0;
++ ptr = src + (page * 8 * line_length + x / 4);
++ for (bit = 0; bit < 8; ptr += line_length, bit++) {
++ plane1 |= (((*ptr) >> (xshift + 1)) & 1) << bit;
++ plane2 |= (((*ptr) >> xshift) & 1) << bit;
++ }
++ NT7506_writeb_data(plane1);
++ NT7506_writeb_data(plane2);
++ }
++ }
++
++ }
++}
++
++static void nt7506fb_fillrect(struct fb_info *info, const struct fb_fillrect *rect)
++{
++ sys_fillrect(info, rect);
++}
++
++
++
++static void nt7506fb_copyarea(struct fb_info *info,
++ const struct fb_copyarea *area)
++{
++ sys_copyarea(info, area);
++}
++
++
++static void nt7506fb_imageblit(struct fb_info *info, const struct fb_image *image)
++{
++ sys_imageblit(info, image);
++}
++
++
++/*
++ * this is the access path from userspace. they can seek and write to
++ * the fb. it's inefficient for them to do anything less than 128*8
++ * writes since we update the lcd in each write() anyway.
++ */
++static ssize_t nt7506fb_write(struct fb_info *info, const char __user *buf,
++ size_t count, loff_t *ppos)
++{
++ unsigned long p = *ppos;
++ unsigned int fbmemlength;
++ int err = 0;
++
++ fbmemlength = (info->var.xres * info->var.yres) / (8 / info->var.bits_per_pixel);
++
++ if ( p > fbmemlength ) {
++ return -EFBIG;
++ }
++
++ if ( (count + p) > fbmemlength ) {
++ count = fbmemlength - p;
++ err = -ENOSPC;
++ }
++
++ if ( count ) {
++ char *base_addr = (char __force *) info->screen_base;
++ if ( copy_from_user(base_addr + p, buf, count) )
++ err = -EFAULT;
++ }
++
++ if ( !err )
++ *ppos += count;
++
++ return err ? err : count;
++}
++
++
++static int nt7506fb_mmap(struct fb_info *info, struct vm_area_struct *vma)
++{
++ unsigned long off;
++ unsigned long start;
++ u32 len;
++
++ if (vma->vm_end - vma->vm_start == 0)
++ return 0;
++ if (vma->vm_pgoff > (~0UL >> PAGE_SHIFT))
++ return -EINVAL;
++ off = vma->vm_pgoff << PAGE_SHIFT;
++ start = info->fix.smem_start;
++ len = info->fix.smem_len;
++ if (off >= len)
++ {
++ return -EINVAL;
++
++ }
++ if ((vma->vm_end - vma->vm_start + off) > len)
++ {
++ return -EINVAL;
++ }
++ off += start;
++ vma->vm_pgoff = off >> PAGE_SHIFT;
++ if (remap_pfn_range(vma, vma->vm_start, virt_to_phys((void *)info->fix.smem_start) >> PAGE_SHIFT,
++ info->fix.smem_len, vma->vm_page_prot))
++
++ {
++ return -EAGAIN;
++ }
++ return 0;
++
++}
++
++
++static int nt7506fb_ioctl(struct fb_info *info,
++ unsigned int cmd, unsigned long arg)
++{
++ unsigned char frame_rate;
++
++ switch ( cmd ) {
++ case FBIO_FRAMERATE:
++ if (get_user(frame_rate, (unsigned char *)arg))
++ return -EFAULT;
++ printk(KERN_INFO "fb%d: framerate=%d Hz\n", info->node, frame_rate);
++ _fps = frame_rate;
++ return 0;
++
++ default:
++ return -EINVAL;
++ }
++}
++
++
++static struct fb_ops nt7506fb_ops = {
++ .owner = THIS_MODULE,
++ .fb_open = nt7506fb_open,
++ .fb_read = fb_sys_read,
++ .fb_write = nt7506fb_write,
++ .fb_release = nt7506fb_release,
++ .fb_pan_display = nt7506fb_pan_display,
++ .fb_fillrect = nt7506fb_fillrect,
++ .fb_copyarea = nt7506fb_copyarea,
++ .fb_imageblit = nt7506fb_imageblit,
++ .fb_ioctl = nt7506fb_ioctl,
++ .fb_mmap = nt7506fb_mmap,
++};
++
++
++static void
++nt7506fb_start_timer(void)
++{
++ fb_timer.expires = jiffies + (HZ/_fps);
++ add_timer(&fb_timer);
++}
++
++static void
++nt7506fb_refresh(unsigned long data)
++{
++ nt7506fb_lcd_update(info->par);
++ nt7506fb_start_timer();
++}
++
++/*
++ * Grayscale levels adjustment
++ */
++
++#ifdef CONFIG_FB_NT7506_GRAYSCALE
++
++static void nt7506fb_set_gray_level(unsigned char index, unsigned char level)
++{
++ NT7506_writeb_ctl(NT_GRAY_SCALE | index);
++ NT7506_writeb_ctl(GRAY_VALUE(level));
++ NT7506_writeb_ctl(NT_GRAY_SCALE | (index+1));
++ NT7506_writeb_ctl(GRAY_VALUE(level));
++}
++
++#ifdef CONFIG_PROC_FS
++#include "nt7506fb-procfs.c"
++#endif
++
++#endif
++
++
++/*
++ * Device driver intialisation
++ */
++
++static int __init
++nt7506fb_probe(struct platform_device *dev)
++{
++ int retval = -ENOMEM;
++ struct nt7506fb_par *par;
++ static unsigned char *videomemory;
++ static int videomemorysize;
++ int i;
++
++ NT7506_init_lcd(DEFAULT_CONTRAST);
++
++ videomemorysize = LCD_WIDTH * LCD_HEIGHT / 4;
++
++ if (!(videomemory = kmalloc(videomemorysize,GFP_ATOMIC)))
++ goto failout;
++ memset(videomemory, 0, videomemorysize);
++
++ info = framebuffer_alloc(sizeof(struct nt7506fb_par), &dev->dev);
++
++ if (!info)
++ goto out_alloc;
++ info->screen_base = (char __iomem *)videomemory;
++ info->fbops = &nt7506fb_ops;
++
++ info->var = nt7506fb_var;
++ info->fix = nt7506fb_fix;
++ info->fix.smem_start = (unsigned long)videomemory;
++ info->fix.smem_len = videomemorysize;
++
++ par = info->par;
++ par->info = info;
++
++ info->flags = FBINFO_FLAG_DEFAULT;
++ spin_lock_init(&par->lock);
++ platform_set_drvdata(dev, info);
++
++#ifdef CONFIG_FB_NT7506_GRAYSCALE
++ /* Allocate cmap */
++ retval = fb_alloc_cmap(&info->cmap, 4, 0);
++ if (retval < 0) {
++ printk(KERN_ERR "fb%d: Failed to allocate colormap\n", info->node);
++ goto out_register;
++ }
++
++ /* Set cmap */
++ for (i = 0; i < 4; i++)
++ info->cmap.red[i] = (((4*i)+1)*(0xFFFF))/16;
++ memcpy(info->cmap.green, info->cmap.red, sizeof(u16)*4);
++ memcpy(info->cmap.blue, info->cmap.red, sizeof(u16)*4);
++#endif
++
++ /* Register framebuffer */
++ retval = register_framebuffer(info);
++ if (retval < 0)
++ goto out_register;
++
++ setup_timer(&fb_timer, nt7506fb_refresh, (unsigned long) par);
++
++ printk(KERN_INFO
++ "fb%d: nt7506 frame buffer device, using %dK of video memory\n",
++ info->node, videomemorysize >> 10);
++
++ /* Create procfs entries for grayscale levels adjustment */
++#ifdef CONFIG_PROC_FS
++#ifdef CONFIG_FB_NT7506_GRAYSCALE
++ nt7506fb_proc_init(par);
++#endif
++#endif
++
++ /* Initialize backlight and contrast control (do not abort driver if it fails) */
++ nt7506fb_bl_init(par);
++ nt7506fb_lcd_init(par);
++
++ nt7506fb_start_timer();
++
++ return 0;
++
++out_register:
++ framebuffer_release(info);
++out_alloc:
++ vfree(videomemory);
++failout:
++ return retval;
++}
++
++static int nt7506fb_remove(struct platform_device *dev)
++{
++ struct fb_info *info = platform_get_drvdata(dev);
++
++ del_timer(&fb_timer);
++
++ if (info) {
++ nt7506fb_lcd_exit(info->par);
++ nt7506fb_bl_exit(info);
++ unregister_framebuffer(info);
++ vfree((void __force *)info->screen_base);
++ framebuffer_release(info);
++ }
++ return 0;
++}
++
++#ifdef CONFIG_PM
++static int nt7506fb_suspend(struct platform_device *dev, pm_message_t state)
++{
++ struct fb_info *info = platform_get_drvdata(dev);
++
++ printk(KERN_INFO DRIVER_NAME ": suspend\n");
++
++ info->bl_dev->props.power = FB_BLANK_POWERDOWN;
++ nt7506fb_bl_update_status(info->bl_dev);
++
++ return 0;
++}
++
++static int nt7506fb_resume(struct platform_device *dev)
++{
++ struct fb_info *info = platform_get_drvdata(dev);
++
++ printk(KERN_INFO DRIVER_NAME ": resume\n");
++
++ info->bl_dev->props.power = FB_BLANK_UNBLANK;
++ nt7506fb_bl_update_status(info->bl_dev);
++
++ return 0;
++}
++#else
++#define nt7506fb_suspend NULL
++#define nt7506fb_resume NULL
++#endif
++
++
++static struct platform_driver nt7506fb_driver = {
++ .probe = nt7506fb_probe,
++ .remove = nt7506fb_remove,
++ .suspend = nt7506fb_suspend,
++ .resume = nt7506fb_resume,
++ .driver = {
++ .name = DRIVER_NAME,
++ },
++};
++
++static struct platform_device *nt7506fb_device;
++
++static int __init nt7506fb_init(void)
++{
++ int ret;
++
++
++ if (!(lcd_mem = request_mem_region(LCD_BASE, LCD_SIZE, "mpc8313-lcd")))
++ return -ENOMEM;
++
++ if (!(_lcd_io = ioremap(LCD_BASE, LCD_SIZE)))
++ {
++ release_mem_region(LCD_BASE, LCD_SIZE);
++ lcd_mem = NULL;
++ return -ENOMEM;
++ }
++ ret = platform_driver_register(&nt7506fb_driver);
++
++ if (!ret) {
++ nt7506fb_device = platform_device_alloc(DRIVER_NAME, 0);
++ if (nt7506fb_device)
++ {
++ ret = platform_device_add(nt7506fb_device);
++ }
++ else
++ {
++ ret = -ENOMEM;
++ }
++ if (ret)
++ {
++ platform_device_put(nt7506fb_device);
++ platform_driver_unregister(&nt7506fb_driver);
++ }
++
++ }
++
++
++ return ret;
++
++}
++
++
++static void NT7506_init_lcd(char ael)
++{
++ /* this resets the lcd*/
++ char bl = _backlight ? LCD_BCKLIGH : LCD_BCKLIGHN;
++
++ iowrite16(LCD_RSTN | LCD_ERD | bl, _lcd_io);
++ udelay(100);
++ iowrite16(LCD_RST| LCD_ERD | bl, _lcd_io);
++ udelay(200);
++ /* Soft reset*/
++ NT7506_writeb_ctl(NT_RESET);
++ /* Disable ICON display*/
++ NT7506_writeb_ctl(NT_ICON|OFF);
++ /* Sets the duty ratio 1/128*/
++ NT7506_writeb_ctl(NT_DUTY); NT7506_writeb_ctl(DUTY_1_128);
++ /* Sets reverse direction between RAM column address and segment driver*/
++ NT7506_writeb_ctl(NT_ADC_REV);
++ NT7506_writeb_ctl(NT_SHL_NOR);
++ /* Enales the built in Oscillator circuit.*/
++ NT7506_writeb_ctl(NT_OSC);
++ /* Set Initial row to 0*/
++ NT7506_writeb_ctl(NT_COM0); NT7506_writeb_ctl(0);
++ /* Sets DC-DC*/
++ NT7506_writeb_ctl(NT_DCDC|TIME6);
++ /* Selects resistance ratio of the internal resistor*/
++ NT7506_writeb_ctl(NT_REG_RES|RES_7_2);
++ /* set Reference Voltage mode*/
++ NT7506_writeb_ctl(NT_ELEC_VOL); NT7506_writeb_ctl(ael);
++ /* Selects LCD bias ratio*/
++ NT7506_writeb_ctl(NT_BIAS|BIAS_1_11);
++
++ NT7506_writeb_ctl(NT_DATA_DIR); NT7506_writeb_ctl(0);
++ NT7506_writeb_ctl(NT_FRC_PWM|PWM15);
++
++#ifdef CONFIG_FB_NT7506_GRAYSCALE
++ /* Feed grayscale palette */
++ nt7506fb_set_gray_level(GRAY_INDEX_WHITE, GRAY_LEVEL_WHITE);
++ nt7506fb_set_gray_level(GRAY_INDEX_LIGHT, GRAY_LEVEL_LIGHT);
++ nt7506fb_set_gray_level(GRAY_INDEX_DARK, GRAY_LEVEL_DARK);
++ nt7506fb_set_gray_level(GRAY_INDEX_BLACK, GRAY_LEVEL_BLACK);
++#endif
++
++ /* Select power circuit functions */
++ NT7506_writeb_ctl(NT_POWER|VC);
++ udelay(5000);
++ NT7506_writeb_ctl(NT_POWER|VC|VR);
++ udelay(5000);
++ NT7506_writeb_ctl(NT_POWER|VC|VR|VF);
++ udelay(5000);
++ /* Reverses the display status on LCD panel */
++ NT7506_writeb_ctl(NT_REV_DISP|OFF);
++ /* Forces the whole LCD points to be turned on regardless of the contents of the display data RAM*/
++ NT7506_writeb_ctl(NT_DISP|ON);
++ /* Set Initial Start Line Address */
++ NT7506_writeb_ctl(NT_START_LINE); NT7506_writeb_ctl(0x00);
++}
++
++static void __exit nt7506fb_exit(void)
++{
++ if (lcd_mem)
++ release_mem_region(LCD_BASE, LCD_SIZE);
++ lcd_mem = NULL;
++ platform_device_unregister(nt7506fb_device);
++ platform_driver_unregister(&nt7506fb_driver);
++}
++
++module_param(tuhold, ulong, 0);
++MODULE_PARM_DESC(tuhold, "Time to hold between strobing data to NT7506 board");
++
++module_init(nt7506fb_init);
++module_exit(nt7506fb_exit);
++
++MODULE_DESCRIPTION("fbdev driver for Novatek NT7506 monochrome LCD board");
++MODULE_AUTHOR("Alexandre Coffignal");
++MODULE_LICENSE("GPL");
++
+Index: linux-2.6.29/include/linux/nt7506fb.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.29/include/linux/nt7506fb.h 2009-04-01 17:38:36.000000000 +0200
+@@ -0,0 +1,31 @@
++
++/*
++ * (C) Copyright 2008
++ * Alexandre Coffignal, CénoSYS, alexandre.coffignal@cenosys.com
++ *
++ * 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 __LINUX_NT7506FB_H__
++#define __LINUX_NT7506FB_H__
++
++#define FBIO_FRAMERATE _IOR('f', 1, char)
++
++#endif
+Index: linux-2.6.29/drivers/video/nt7506fb-procfs.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.29/drivers/video/nt7506fb-procfs.c 2009-04-01 17:38:36.000000000 +0200
+@@ -0,0 +1,119 @@
++/*
++ * FB driver for NT7506 monochrome/grayscale LCD board
++ * Device setup using procfs
++ *
++ * Copyright (C) 2009, Goobie (www.goobie.fr).
++ *
++ * Sylvain Giroudon <sylvain.giroudon@goobie.fr>
++ *
++ * This software program is licensed subject to the GNU General Public License
++ * (GPL).Version 2,June 1991, available at http://www.fsf.org/copyleft/gpl.html
++ */
++
++#include <linux/proc_fs.h>
++#include <linux/uaccess.h>
++
++struct nt7506fb_proc_entry {
++ char *name;
++ unsigned char index;
++ unsigned char level;
++ struct nt7506fb_par *par;
++};
++
++static struct nt7506fb_proc_entry nt7506fb_proc_entries[] = {
++ { "white", GRAY_INDEX_WHITE, GRAY_LEVEL_WHITE },
++ { "light", GRAY_INDEX_LIGHT, GRAY_LEVEL_LIGHT },
++ { "dark", GRAY_INDEX_DARK, GRAY_LEVEL_DARK },
++ { "black", GRAY_INDEX_BLACK, GRAY_LEVEL_BLACK },
++};
++
++static int nt7506fb_proc_read(char *page, char **start, off_t off, int count,
++ int *eof, void *data)
++{
++ struct nt7506fb_proc_entry *entry = data;
++ int len;
++
++ len = sprintf(page, "%d\n", entry->level);
++
++ len -= off;
++ if ( len < count ) {
++ *eof = 1;
++ if ( len <= 0 )
++ return 0;
++ } else {
++ len = count;
++ }
++
++ *start = page + off;
++
++ return len;
++}
++
++
++static int nt7506fb_proc_write(struct file *file, const char *buf,
++ unsigned long count, void *data)
++{
++ struct nt7506fb_proc_entry *entry = data;
++ char lbuf[count+1];
++
++ /* Only root can do this */
++ if ( !capable(CAP_SYS_ADMIN) )
++ return -EACCES;
++
++ memset(lbuf, 0, sizeof(lbuf));
++
++ if (copy_from_user(lbuf, buf, count))
++ return -EFAULT;
++
++ if ( sscanf(lbuf, "%hhi", &entry->level) == 1 ) {
++ if ( entry->level > GRAY_LEVEL_MAX )
++ entry->level = GRAY_LEVEL_MAX;
++
++ /* Set grayscale palette entry */
++ nt7506fb_set_gray_level(entry->index, entry->level);
++ }
++ else {
++ printk(KERN_INFO DRIVER_NAME ": [%s] Syntax error in expression\n", entry->name);
++ return -EINVAL;
++ }
++
++ return count;
++}
++
++
++static int nt7506fb_proc_init(struct nt7506fb_par *par)
++{
++ struct proc_dir_entry *root;
++ struct proc_dir_entry *ent;
++ int i;
++
++ /* Create nt7506fb proc directory */
++ printk(KERN_INFO DRIVER_NAME ": Creating setup entries in /proc/" DRIVER_NAME "/\n");
++
++ root = proc_mkdir(DRIVER_NAME, NULL);
++ if ( root == NULL ) {
++ printk(KERN_WARNING DRIVER_NAME ": Cannot create directory /proc/" DRIVER_NAME "\n");
++ return -1;
++ }
++
++ root->owner = THIS_MODULE;
++
++ /* Create gray level entries */
++ for (i = 0; i < ARRAY_SIZE(nt7506fb_proc_entries); i++) {
++ struct nt7506fb_proc_entry *entry = &nt7506fb_proc_entries[i];
++
++ entry->par = par;
++
++ ent = create_proc_entry(entry->name, S_IFREG|S_IWUSR, root);
++ if ( ent == NULL ) {
++ printk(KERN_WARNING DRIVER_NAME ": Cannot create entry /proc/" DRIVER_NAME "/%s\n", entry->name);
++ return -1;
++ }
++
++ ent->owner = THIS_MODULE;
++ ent->data = entry;
++ ent->write_proc = nt7506fb_proc_write;
++ ent->read_proc = nt7506fb_proc_read;
++ }
++ return 0;
++}
diff --git a/recipes/linux/linux-2.6.29/boc01/boc01.dts b/recipes/linux/linux-2.6.29/boc01/boc01.dts
new file mode 100644
index 0000000000..710ef8fec0
--- /dev/null
+++ b/recipes/linux/linux-2.6.29/boc01/boc01.dts
@@ -0,0 +1,340 @@
+/*
+ * Bolloré telecom CPE v01 Device Tree Source
+ *
+ * Copyright 2005, 2006, 2007 Freescale Semiconductor Inc.
+ * Copyright 2008, 2009 Bolloré telecom.
+ *
+ * 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.
+ */
+
+/dts-v1/;
+
+/ {
+ model = "MPC8313ERDB";
+ compatible = "MPC8313ERDB", "MPC831xRDB", "MPC83xxRDB";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ aliases {
+ ethernet1 = &enet1;
+ serial0 = &serial0;
+ pci0 = &pci0;
+ };
+
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ PowerPC,8313@0 {
+ device_type = "cpu";
+ reg = <0x0>;
+ d-cache-line-size = <32>;
+ i-cache-line-size = <32>;
+ d-cache-size = <16384>;
+ i-cache-size = <16384>;
+ timebase-frequency = <0>; // from bootloader
+ bus-frequency = <0>; // from bootloader
+ clock-frequency = <0>; // from bootloader
+ };
+ };
+
+ memory {
+ device_type = "memory";
+ reg = <0x00000000 0x08000000>; // 128MB at 0
+ };
+
+ localbus@e0005000 {
+ #address-cells = <2>;
+ #size-cells = <1>;
+ compatible = "fsl,mpc8313-elbc", "fsl,elbc", "simple-bus";
+ reg = <0xe0005000 0x1000>;
+ interrupts = <77 0x8>;
+ interrupt-parent = <&ipic>;
+
+ // CS0 and CS1 are swapped when
+ // booting from nand, but the
+ // addresses are the same.
+ ranges = <0x0 0x0 0xfe000000 0x00800000
+ 0x1 0x0 0xe2800000 0x00008000
+ 0x2 0x0 0xf0000000 0x00020000
+ 0x3 0x0 0xfa000000 0x00008000>;
+
+ flash@0,0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "cfi-flash";
+ reg = <0x0 0x0 0x800000>;
+ bank-width = <2>;
+ device-width = <1>;
+ };
+
+ nand@1,0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "fsl,mpc8313-fcm-nand",
+ "fsl,elbc-fcm-nand";
+ reg = <0x1 0x0 0x2000>;
+
+ kernel@0 {
+ reg = <0x0 0x400000>;
+ read-only;
+ };
+
+ fs@400000 {
+ reg = <0x400000 0x4000000>;
+ };
+
+ appli@4400000 {
+ reg = <0x4400000 0x3c00000>;
+ };
+ };
+ };
+
+ soc8313@e0000000 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ device_type = "soc";
+ compatible = "simple-bus";
+ ranges = <0x0 0xe0000000 0x00100000>;
+ reg = <0xe0000000 0x00000200>;
+ bus-frequency = <0>;
+
+ wdt@200 {
+ device_type = "watchdog";
+ compatible = "mpc83xx_wdt";
+ reg = <0x200 0x100>;
+ };
+
+ sleep-nexus {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "simple-bus";
+ sleep = <&pmc 0x03000000>;
+ ranges;
+
+ i2c@3000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ cell-index = <0>;
+ compatible = "fsl-i2c";
+ reg = <0x3000 0x100>;
+ interrupts = <14 0x8>;
+ interrupt-parent = <&ipic>;
+ dfsrr;
+ rtc@6f {
+ compatible = "isl12024";
+ reg = <0x6f>;
+ };
+ at24@50 {
+ compatible = "at24,24c32";
+ reg = <0x50>;
+ };
+ at24@57 {
+ compatible = "at24,isl12024";
+ reg = <0x57>;
+ };
+ };
+
+ crypto@30000 {
+ compatible = "fsl,sec2.2", "fsl,sec2.1",
+ "fsl,sec2.0";
+ reg = <0x30000 0x10000>;
+ interrupts = <11 0x8>;
+ interrupt-parent = <&ipic>;
+ fsl,num-channels = <1>;
+ fsl,channel-fifo-len = <24>;
+ fsl,exec-units-mask = <0x4c>;
+ fsl,descriptor-types-mask = <0x0122003f>;
+ };
+ };
+
+ i2c@3100 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ cell-index = <1>;
+ compatible = "fsl-i2c";
+ reg = <0x3100 0x100>;
+ interrupts = <15 0x8>;
+ interrupt-parent = <&ipic>;
+ dfsrr;
+ };
+
+ spi@7000 {
+ cell-index = <0>;
+ compatible = "fsl,spi";
+ reg = <0x7000 0x1000>;
+ interrupts = <16 0x8>;
+ interrupt-parent = <&ipic>;
+ mode = "cpu";
+ };
+
+ /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */
+ usb@23000 {
+ compatible = "fsl-usb2-dr";
+ reg = <0x23000 0x1000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupt-parent = <&ipic>;
+ interrupts = <38 0x8>;
+ phy_type = "utmi_wide";
+ sleep = <&pmc 0x00300000>;
+ };
+
+ enet1: ethernet@25000 {
+ cell-index = <1>;
+ device_type = "network";
+ model = "eTSEC";
+ compatible = "gianfar";
+ reg = <0x25000 0x1000>;
+ local-mac-address = [ 00 00 00 00 00 00 ];
+ interrupts = <34 0x8 33 0x8 32 0x8>;
+ interrupt-parent = <&ipic>;
+ fixed-link = <1 1 100 0 0>;
+ sleep = <&pmc 0x10000000>;
+ fsl,magic-packet;
+ };
+
+ serial0: serial@4600 {
+ cell-index = <0>;
+ device_type = "serial";
+ compatible = "ns16550";
+ reg = <0x4600 0x100>;
+ clock-frequency = <0>;
+ interrupts = <10 0x8>;
+ interrupt-parent = <&ipic>;
+ };
+
+ /* IPIC
+ * interrupts cell = <intr #, sense>
+ * sense values match linux IORESOURCE_IRQ_* defines:
+ * sense == 8: Level, low assertion
+ * sense == 2: Edge, high-to-low change
+ */
+ ipic: pic@700 {
+ interrupt-controller;
+ #address-cells = <0>;
+ #interrupt-cells = <2>;
+ reg = <0x700 0x100>;
+ device_type = "ipic";
+ };
+
+ pmc: power@b00 {
+ compatible = "fsl,mpc8313-pmc", "fsl,mpc8349-pmc";
+ reg = <0xb00 0x100 0xa00 0x100>;
+ interrupts = <80 8>;
+ interrupt-parent = <&ipic>;
+ fsl,mpc8313-wakeup-timer = <&gtm1>;
+
+ /* Remove this (or change to "okay") if you have
+ * a REVA3 or later board, if you apply one of the
+ * workarounds listed in section 8.5 of the board
+ * manual, or if you are adapting this device tree
+ * to a different board.
+ */
+ status = "okay";
+ };
+
+ gtm1: timer@500 {
+ compatible = "fsl,mpc8313-gtm", "fsl,gtm";
+ reg = <0x500 0x100>;
+ interrupts = <72 8 78 8 84 8 90 8>;
+ interrupt-parent = <&ipic>;
+ };
+
+ timer@600 {
+ compatible = "fsl,mpc8313-gtm", "fsl,gtm";
+ reg = <0x600 0x100>;
+ interrupts = <91 8 79 8 85 8 73 8>;
+ interrupt-parent = <&ipic>;
+ };
+
+ wakeup@27000 {
+ compatible = "fsl,wakeup-it", "fsl,gtm";
+ reg = <0x27000 0x100>;
+ interrupts = <17 8 19 8>;
+ interrupt-parent = <&ipic>;
+ };
+
+ };
+
+ sleep-nexus {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "simple-bus";
+ sleep = <&pmc 0x00010000>;
+ ranges;
+
+ pci0: pci@e0008500 {
+ cell-index = <1>;
+ interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
+ interrupt-map = <
+ /* IDSEL 0x0F - PCI slot */
+ 0x7800 0x0 0x0 0x1 &ipic 48 0x8
+ 0x7800 0x0 0x0 0x2 &ipic 48 0x8
+ 0x7800 0x0 0x0 0x3 &ipic 48 0x8
+ 0x7800 0x0 0x0 0x4 &ipic 48 0x8>;
+ interrupt-parent = <&ipic>;
+ interrupts = <66 0x8>;
+ bus-range = <0x0 0x0>;
+ ranges = <0x02000000 0x0 0x90000000 0x90000000 0x0 0x10000000
+ 0x42000000 0x0 0x80000000 0x80000000 0x0 0x10000000
+ 0x01000000 0x0 0x00000000 0xe2000000 0x0 0x00100000>;
+ clock-frequency = <66666666>;
+ #interrupt-cells = <1>;
+ #size-cells = <2>;
+ #address-cells = <3>;
+ reg = <0xe0008500 0x100>;
+ compatible = "fsl,mpc8349-pci";
+ device_type = "pci";
+ };
+
+ dma@82a8 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "fsl,mpc8313-dma", "fsl,elo-dma";
+ reg = <0xe00082a8 4>;
+ ranges = <0 0xe0008100 0x1a8>;
+ interrupt-parent = <&ipic>;
+ interrupts = <71 8>;
+
+ dma-channel@0 {
+ compatible = "fsl,mpc8313-dma-channel",
+ "fsl,elo-dma-channel";
+ reg = <0 0x28>;
+ interrupt-parent = <&ipic>;
+ interrupts = <71 8>;
+ cell-index = <0>;
+ };
+
+ dma-channel@80 {
+ compatible = "fsl,mpc8313-dma-channel",
+ "fsl,elo-dma-channel";
+ reg = <0x80 0x28>;
+ interrupt-parent = <&ipic>;
+ interrupts = <71 8>;
+ cell-index = <1>;
+ };
+
+ dma-channel@100 {
+ compatible = "fsl,mpc8313-dma-channel",
+ "fsl,elo-dma-channel";
+ reg = <0x100 0x28>;
+ interrupt-parent = <&ipic>;
+ interrupts = <71 8>;
+ cell-index = <2>;
+ };
+
+ dma-channel@180 {
+ compatible = "fsl,mpc8313-dma-channel",
+ "fsl,elo-dma-channel";
+ reg = <0x180 0x28>;
+ interrupt-parent = <&ipic>;
+ interrupts = <71 8>;
+ cell-index = <3>;
+ };
+ };
+ };
+};
diff --git a/recipes/linux/linux-2.6.29/boc01/defconfig b/recipes/linux/linux-2.6.29/boc01/defconfig
new file mode 100644
index 0000000000..0e14d23947
--- /dev/null
+++ b/recipes/linux/linux-2.6.29/boc01/defconfig
@@ -0,0 +1,2041 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.29
+# Wed Apr 1 18:36:07 2009
+#
+# CONFIG_PPC64 is not set
+
+#
+# Processor support
+#
+CONFIG_6xx=y
+# CONFIG_PPC_85xx is not set
+# CONFIG_PPC_8xx is not set
+# CONFIG_40x is not set
+# CONFIG_44x is not set
+# CONFIG_E200 is not set
+CONFIG_PPC_FPU=y
+# CONFIG_FSL_EMB_PERFMON is not set
+# CONFIG_ALTIVEC is not set
+CONFIG_PPC_STD_MMU=y
+CONFIG_PPC_STD_MMU_32=y
+# CONFIG_PPC_MM_SLICES is not set
+# CONFIG_SMP is not set
+CONFIG_PPC32=y
+CONFIG_WORD_SIZE=32
+# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
+CONFIG_MMU=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_HARDIRQS=y
+# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+CONFIG_IRQ_PER_CPU=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_ARCH_HAS_ILOG2_U32=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_GPIO=y
+# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
+CONFIG_PPC=y
+CONFIG_EARLY_PRINTK=y
+CONFIG_GENERIC_NVRAM=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_PPC_OF=y
+CONFIG_OF=y
+CONFIG_PPC_UDBG_16550=y
+# CONFIG_GENERIC_TBSYNC is not set
+CONFIG_AUDIT_ARCH=y
+CONFIG_GENERIC_BUG=y
+CONFIG_DEFAULT_UIMAGE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+# CONFIG_PPC_DCR_NATIVE is not set
+# CONFIG_PPC_DCR_MMIO is not set
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_CLASSIC_RCU=y
+# CONFIG_TREE_RCU is not set
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_PREEMPT_RCU_TRACE is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_GROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+# CONFIG_RT_GROUP_SCHED is not set
+CONFIG_USER_SCHED=y
+# CONFIG_CGROUP_SCHED is not set
+# CONFIG_CGROUPS is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+# CONFIG_RELAY is not set
+# CONFIG_NAMESPACES is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_EMBEDDED=y
+CONFIG_SYSCTL_SYSCALL=y
+# CONFIG_KALLSYMS 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 is not set
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+# CONFIG_AIO is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_PCI_QUIRKS=y
+CONFIG_COMPAT_BRK=y
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+CONFIG_PROFILING=y
+# CONFIG_OPROFILE is not set
+CONFIG_HAVE_OPROFILE=y
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_FREEZER=y
+
+#
+# Platform support
+#
+CONFIG_PPC_MULTIPLATFORM=y
+CONFIG_CLASSIC32=y
+# CONFIG_PPC_CHRP is not set
+# CONFIG_MPC5121_ADS is not set
+# CONFIG_MPC5121_GENERIC is not set
+# CONFIG_PPC_MPC52xx is not set
+# CONFIG_PPC_PMAC is not set
+# CONFIG_PPC_CELL is not set
+# CONFIG_PPC_CELL_NATIVE is not set
+# CONFIG_PPC_82xx is not set
+# CONFIG_PQ2ADS is not set
+CONFIG_PPC_83xx=y
+CONFIG_MPC831x_RDB=y
+# CONFIG_MPC832x_MDS is not set
+# CONFIG_MPC832x_RDB is not set
+# CONFIG_MPC834x_MDS is not set
+# CONFIG_MPC834x_ITX is not set
+# CONFIG_MPC836x_MDS is not set
+# CONFIG_MPC836x_RDK is not set
+# CONFIG_MPC837x_MDS is not set
+# CONFIG_MPC837x_RDB is not set
+# CONFIG_SBC834x is not set
+# CONFIG_ASP834x is not set
+CONFIG_PPC_MPC831x=y
+# CONFIG_PPC_86xx is not set
+# CONFIG_EMBEDDED6xx is not set
+CONFIG_IPIC=y
+# CONFIG_MPIC is not set
+# CONFIG_MPIC_WEIRD is not set
+# CONFIG_PPC_I8259 is not set
+# CONFIG_PPC_RTAS is not set
+# CONFIG_MMIO_NVRAM is not set
+# CONFIG_PPC_MPC106 is not set
+# CONFIG_PPC_970_NAP is not set
+# CONFIG_PPC_INDIRECT_IO is not set
+# CONFIG_GENERIC_IOMAP is not set
+# CONFIG_CPU_FREQ is not set
+# CONFIG_TAU is not set
+# CONFIG_QUICC_ENGINE is not set
+# CONFIG_FSL_ULI1575 is not set
+CONFIG_MPC8xxx_GPIO=y
+# CONFIG_SIMPLE_GPIO is not set
+# CONFIG_MCU_MPC8349EMITX is not set
+
+#
+# Kernel options
+#
+# CONFIG_HIGHMEM is not set
+# CONFIG_NO_HZ is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=250
+# CONFIG_SCHED_HRTICK is not set
+CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+CONFIG_BINFMT_ELF=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+# CONFIG_HAVE_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_IOMMU_HELPER is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_HAS_WALK_MEMORY=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+# CONFIG_KEXEC is not set
+# CONFIG_CRASH_DUMP is not set
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+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_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_MIGRATION=y
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_UNEVICTABLE_LRU=y
+CONFIG_PPC_4K_PAGES=y
+# CONFIG_PPC_16K_PAGES is not set
+# CONFIG_PPC_64K_PAGES is not set
+CONFIG_FORCE_MAX_ZONEORDER=11
+CONFIG_PROC_DEVICETREE=y
+# CONFIG_CMDLINE_BOOL is not set
+CONFIG_EXTRA_TARGETS=""
+CONFIG_PM=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_VERBOSE=y
+CONFIG_CAN_PM_TRACE=y
+CONFIG_PM_SLEEP=y
+CONFIG_SUSPEND=y
+# CONFIG_PM_TEST_SUSPEND is not set
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_SECCOMP=y
+CONFIG_ISA_DMA_API=y
+
+#
+# Bus options
+#
+CONFIG_ZONE_DMA=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_PPC_INDIRECT_PCI=y
+CONFIG_FSL_SOC=y
+CONFIG_FSL_PCI=y
+CONFIG_FSL_LBC=y
+CONFIG_PPC_PCI_CHOICE=y
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_SYSCALL=y
+# CONFIG_PCIEPORTBUS is not set
+CONFIG_ARCH_SUPPORTS_MSI=y
+# CONFIG_PCI_MSI is not set
+CONFIG_PCI_LEGACY=y
+# CONFIG_PCI_STUB is not set
+# CONFIG_PCCARD is not set
+# CONFIG_HOTPLUG_PCI is not set
+# CONFIG_HAS_RAPIDIO is not set
+
+#
+# Advanced setup
+#
+# CONFIG_ADVANCED_OPTIONS is not set
+
+#
+# Default settings for advanced configuration options are used
+#
+CONFIG_LOWMEM_SIZE=0x30000000
+CONFIG_PAGE_OFFSET=0xc0000000
+CONFIG_KERNEL_START=0xc0000000
+CONFIG_PHYSICAL_START=0x00000000
+CONFIG_TASK_SIZE=0xc0000000
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_COMPAT_NET_DEV_OPS=y
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_XFRM_IPCOMP=m
+# CONFIG_NET_KEY is not set
+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=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IP_PNP_RARP=y
+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_LRO is not set
+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=m
+# CONFIG_IPV6_PRIVACY is not set
+# CONFIG_IPV6_ROUTER_PREF is not set
+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=m
+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=m
+CONFIG_IPV6_SIT=m
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_IPV6_MROUTE is not set
+# CONFIG_NETWORK_SECMARK is not set
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CT_ACCT=y
+CONFIG_NF_CONNTRACK_MARK=y
+# CONFIG_NF_CONNTRACK_EVENTS is not set
+# CONFIG_NF_CT_PROTO_DCCP is not set
+CONFIG_NF_CT_PROTO_GRE=m
+CONFIG_NF_CT_PROTO_SCTP=m
+CONFIG_NF_CT_PROTO_UDPLITE=m
+CONFIG_NF_CONNTRACK_AMANDA=m
+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_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NETFILTER_TPROXY=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_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_TPROXY=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=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_HASHLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=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_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+# CONFIG_NETFILTER_XT_MATCH_RECENT_PROC_COMPAT is not set
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_SOCKET=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_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+# CONFIG_IP_VS is not set
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+CONFIG_IP_NF_QUEUE=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_ADDRTYPE=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_TTL=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_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PROTO_GRE=m
+CONFIG_NF_NAT_PROTO_UDPLITE=m
+CONFIG_NF_NAT_PROTO_SCTP=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_H323=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_CONNTRACK_IPV6=m
+CONFIG_IP6_NF_QUEUE=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_RAW=m
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_IP6=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+# CONFIG_BRIDGE_EBT_ULOG is not set
+# CONFIG_BRIDGE_EBT_NFLOG is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_TIPC is not set
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+CONFIG_STP=m
+CONFIG_BRIDGE=m
+# CONFIG_NET_DSA is not set
+CONFIG_VLAN_8021Q=m
+# CONFIG_VLAN_8021Q_GVRP is not set
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+CONFIG_LLC2=m
+# 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=m
+CONFIG_NET_SCHED=y
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_ATM=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=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_DRR=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_CLS_FLOW=m
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_EMATCH_TEXT=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_ACT_SKBEDIT=m
+CONFIG_NET_CLS_IND=y
+CONFIG_NET_SCH_FIFO=y
+# CONFIG_DCB is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+# CONFIG_PHONET is not set
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+CONFIG_CFG80211=m
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_NL80211=y
+CONFIG_WIRELESS_OLD_REGULATORY=y
+CONFIG_WIRELESS_EXT=y
+# CONFIG_WIRELESS_EXT_SYSFS is not set
+CONFIG_LIB80211=m
+CONFIG_LIB80211_CRYPT_WEP=m
+CONFIG_LIB80211_CRYPT_CCMP=m
+CONFIG_LIB80211_CRYPT_TKIP=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=m
+
+#
+# Rate control algorithm selection
+#
+CONFIG_MAC80211_RC_PID=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT_PID=y
+# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
+CONFIG_MAC80211_RC_DEFAULT="pid"
+# CONFIG_MAC80211_MESH is not set
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUG_MENU is not set
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=m
+CONFIG_FIRMWARE_IN_KERNEL=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_CONNECTOR is not set
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_TESTS=m
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_OF_PARTS is not set
+# CONFIG_MTD_AR7_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
+# CONFIG_MTD_OOPS 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 is not set
+CONFIG_MTD_CFI_AMDSTD=y
+# 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
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_PHYSMAP_COMPAT=y
+CONFIG_MTD_PHYSMAP_START=0xfe000000
+CONFIG_MTD_PHYSMAP_LEN=0x0800000
+CONFIG_MTD_PHYSMAP_BANKWIDTH=2
+# CONFIG_MTD_PHYSMAP_OF is not set
+# CONFIG_MTD_INTEL_VR_NOR 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_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
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_NAND_ECC_SMC is not set
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_CAFE is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+# CONFIG_MTD_NAND_PLATFORM is not set
+# CONFIG_MTD_ALAUDA is not set
+CONFIG_MTD_NAND_FSL_ELBC=y
+CONFIG_MTD_NAND_FSL_UPM=y
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+CONFIG_OF_DEVICE=y
+CONFIG_OF_GPIO=y
+CONFIG_OF_I2C=y
+CONFIG_OF_SPI=y
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# 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=y
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+# 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=16
+CONFIG_BLK_DEV_RAM_SIZE=32768
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_BLK_DEV_HD is not set
+CONFIG_MISC_DEVICES=y
+# CONFIG_PHANTOM is not set
+# CONFIG_SGI_IOC4 is not set
+# CONFIG_TIFM_CORE is not set
+# CONFIG_ICS932S401 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_HP_ILO is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=y
+# CONFIG_EEPROM_AT25 is not set
+# CONFIG_EEPROM_LEGACY is not set
+# CONFIG_EEPROM_93CX6 is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# 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=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=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=m
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+# CONFIG_SCSI_LOWLEVEL is not set
+# CONFIG_SCSI_DH is not set
+# CONFIG_ATA is not set
+# CONFIG_MD is not set
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# Enable only one of the two stacks, unless you know what you are doing
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_IEEE1394 is not set
+# CONFIG_I2O is not set
+# CONFIG_MACINTOSH_DRIVERS is not set
+CONFIG_NETDEVICES=y
+# CONFIG_IFB is not set
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+# CONFIG_VETH is not set
+# CONFIG_ARCNET is not set
+CONFIG_PHYLIB=y
+
+#
+# MII PHY device drivers
+#
+# CONFIG_MARVELL_PHY is not set
+# CONFIG_DAVICOM_PHY is not set
+# CONFIG_QSEMI_PHY is not set
+# CONFIG_LXT_PHY is not set
+# CONFIG_CICADA_PHY is not set
+# CONFIG_VITESSE_PHY is not set
+# CONFIG_SMSC_PHY is not set
+# CONFIG_BROADCOM_PHY is not set
+# CONFIG_ICPLUS_PHY is not set
+# CONFIG_REALTEK_PHY is not set
+# CONFIG_NATIONAL_PHY is not set
+# CONFIG_STE10XP is not set
+# CONFIG_LSI_ET1011C_PHY is not set
+CONFIG_FIXED_PHY=y
+# CONFIG_MDIO_BITBANG is not set
+# CONFIG_NET_ETHERNET is not set
+CONFIG_MII=y
+CONFIG_NETDEV_1000=y
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+# CONFIG_E1000E is not set
+# CONFIG_IP1000 is not set
+# CONFIG_IGB 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_VIA_VELOCITY is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+CONFIG_GIANFAR=y
+# CONFIG_MV643XX_ETH is not set
+# CONFIG_QLA3XXX is not set
+# CONFIG_ATL1 is not set
+# CONFIG_ATL1E is not set
+# CONFIG_ATL1C is not set
+# CONFIG_JME is not set
+# CONFIG_NETDEV_10000 is not set
+# CONFIG_TR is not set
+
+#
+# Wireless LAN
+#
+CONFIG_WLAN_PRE80211=y
+# CONFIG_STRIP is not set
+CONFIG_WLAN_80211=y
+# CONFIG_LIBERTAS is not set
+# CONFIG_LIBERTAS_THINFIRM is not set
+# CONFIG_AIRO is not set
+# CONFIG_HERMES is not set
+# CONFIG_ATMEL is not set
+# CONFIG_PRISM54 is not set
+# CONFIG_USB_ZD1201 is not set
+# CONFIG_USB_NET_RNDIS_WLAN is not set
+# CONFIG_RTL8180 is not set
+# CONFIG_RTL8187 is not set
+# CONFIG_ADM8211 is not set
+# CONFIG_MAC80211_HWSIM is not set
+# CONFIG_P54_COMMON is not set
+CONFIG_ATH5K=m
+# CONFIG_ATH5K_DEBUG is not set
+CONFIG_ATH9K=m
+# CONFIG_ATH9K_DEBUG is not set
+# CONFIG_IPW2100 is not set
+# CONFIG_IPW2200 is not set
+# CONFIG_IWLCORE is not set
+# CONFIG_IWLWIFI_LEDS is not set
+# CONFIG_IWLAGN is not set
+# CONFIG_IWL3945 is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_FIRMWARE_NVRAM=y
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+# CONFIG_B43 is not set
+# CONFIG_B43LEGACY is not set
+# CONFIG_ZD1211RW is not set
+# CONFIG_RT2X00 is not set
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+CONFIG_USB_USBNET=y
+# CONFIG_USB_NET_AX8817X is not set
+CONFIG_USB_NET_CDCETHER=y
+# CONFIG_USB_NET_DM9601 is not set
+# CONFIG_USB_NET_SMSC95XX is not set
+# CONFIG_USB_NET_GL620A is not set
+# CONFIG_USB_NET_NET1080 is not set
+# CONFIG_USB_NET_PLUSB is not set
+# CONFIG_USB_NET_MCS7830 is not set
+# CONFIG_USB_NET_RNDIS_HOST is not set
+CONFIG_USB_NET_CDC_SUBSET=y
+# CONFIG_USB_ALI_M5632 is not set
+# CONFIG_USB_AN2720 is not set
+CONFIG_USB_BELKIN=y
+# CONFIG_USB_ARMLINUX is not set
+# CONFIG_USB_EPSON2888 is not set
+# CONFIG_USB_KC2190 is not set
+# CONFIG_USB_NET_ZAURUS is not set
+# CONFIG_WAN is not set
+# CONFIG_ATM_DRIVERS 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_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_ISDN is not set
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+CONFIG_INPUT_POLLDEV=y
+
+#
+# Userland interfaces
+#
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+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_TABLET is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+CONFIG_INPUT_MISC=y
+# CONFIG_INPUT_ATI_REMOTE is not set
+# CONFIG_INPUT_ATI_REMOTE2 is not set
+# CONFIG_INPUT_KEYSPAN_REMOTE is not set
+# CONFIG_INPUT_POWERMATE is not set
+# CONFIG_INPUT_YEALINK is not set
+# CONFIG_INPUT_CM109 is not set
+# CONFIG_INPUT_UINPUT is not set
+CONFIG_INPUT_CAPSENSE_BTNS=y
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+CONFIG_DEVKMEM=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_NOZOMI is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+# CONFIG_SERIAL_8250_PCI is not set
+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_UARTLITE is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+# CONFIG_SERIAL_OF_PLATFORM is not set
+CONFIG_UNIX98_PTYS=y
+# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+# CONFIG_HVC_UDBG is not set
+# CONFIG_IPMI_HANDLER is not set
+CONFIG_HW_RANDOM=y
+# CONFIG_NVRAM is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+CONFIG_GPIO_MPC8313=y
+CONFIG_EXIO_MPC8313=y
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+CONFIG_DEVPORT=y
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_HELPER_AUTO=y
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+# 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_ISCH is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_GPIO is not set
+CONFIG_I2C_MPC=y
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_SIMTEC is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_TINY_USB is not set
+
+#
+# Graphics adapter I2C/DDC channel drivers
+#
+# CONFIG_I2C_VOODOO3 is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_STUB is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_DS1682 is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_PCF8575 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_SENSORS_TSL2550 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
+CONFIG_SPI=y
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_BITBANG is not set
+# CONFIG_SPI_GPIO is not set
+CONFIG_SPI_MPC83xx=y
+
+#
+# SPI Protocol Masters
+#
+CONFIG_SPI_SPIDEV=y
+# CONFIG_SPI_TLE62X0 is not set
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+CONFIG_ARCH_REQUIRE_GPIOLIB=y
+CONFIG_GPIOLIB=y
+# CONFIG_GPIO_SYSFS is not set
+
+#
+# Memory mapped GPIO expanders:
+#
+# CONFIG_GPIO_XILINX is not set
+
+#
+# I2C GPIO expanders:
+#
+# CONFIG_GPIO_MAX732X is not set
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_GPIO_PCF857X is not set
+
+#
+# PCI GPIO expanders:
+#
+# CONFIG_GPIO_BT8XX is not set
+
+#
+# SPI GPIO expanders:
+#
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MCP23S08 is not set
+# CONFIG_W1 is not set
+CONFIG_POWER_SUPPLY=y
+CONFIG_POWER_SUPPLY_DEBUG=y
+# CONFIG_PDA_POWER is not set
+# CONFIG_BATTERY_DS2760 is not set
+# CONFIG_BATTERY_BQ27x00 is not set
+CONFIG_HWMON=y
+# CONFIG_HWMON_VID is not set
+# CONFIG_SENSORS_AD7414 is not set
+# CONFIG_SENSORS_AD7418 is not set
+# CONFIG_SENSORS_ADCXX is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1029 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ADT7462 is not set
+# CONFIG_SENSORS_ADT7470 is not set
+# CONFIG_SENSORS_ADT7473 is not set
+# CONFIG_SENSORS_ADT7475 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_I5K_AMB is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_F71882FG is not set
+# CONFIG_SENSORS_F75375S 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_LM73=y
+# 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_LM93 is not set
+# CONFIG_SENSORS_LTC4245 is not set
+# CONFIG_SENSORS_MAX1111 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_MAX6650 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_DME1737 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_ADS7828 is not set
+# CONFIG_SENSORS_THMC50 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_VT8231 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_W83L786NG is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+CONFIG_THERMAL=y
+# CONFIG_THERMAL_HWMON is not set
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+# CONFIG_ALIM7101_WDT is not set
+CONFIG_8xxx_WDT=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_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+# CONFIG_SSB is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_TPS65010 is not set
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_REGULATOR is not set
+
+#
+# Multimedia devices
+#
+
+#
+# Multimedia core support
+#
+# CONFIG_VIDEO_DEV is not set
+# CONFIG_DVB_CORE is not set
+# CONFIG_VIDEO_MEDIA is not set
+
+#
+# Multimedia drivers
+#
+# CONFIG_DAB is not set
+
+#
+# Graphics support
+#
+# CONFIG_AGP is not set
+# CONFIG_DRM is not set
+# CONFIG_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
+# CONFIG_FB_CFB_FILLRECT is not set
+# CONFIG_FB_CFB_COPYAREA is not set
+# CONFIG_FB_CFB_IMAGEBLIT is not set
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+CONFIG_FB_SYS_FILLRECT=y
+CONFIG_FB_SYS_COPYAREA=y
+CONFIG_FB_SYS_IMAGEBLIT=y
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=y
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_BACKLIGHT=y
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_CYBER2000 is not set
+CONFIG_FB_NT7506=y
+CONFIG_FB_NT7506_GRAYSCALE=y
+# CONFIG_FB_OF is not set
+# CONFIG_FB_CT65550 is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_VGA16 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_S3 is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_VIA 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_VT8623 is not set
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_CARMINE is not set
+# CONFIG_FB_FSL_DIU is not set
+# CONFIG_FB_IBM_GXT4500 is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+# CONFIG_LCD_LTV350QV is not set
+# CONFIG_LCD_ILI9320 is not set
+# CONFIG_LCD_TDO24M is not set
+# CONFIG_LCD_VGG2432A4 is not set
+# CONFIG_LCD_PLATFORM is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_GENERIC is not set
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE is not set
+# CONFIG_LOGO is not set
+CONFIG_SOUND=m
+CONFIG_SOUND_OSS_CORE=y
+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_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
+# CONFIG_SND_DRIVERS is not set
+# CONFIG_SND_PCI is not set
+# CONFIG_SND_PPC is not set
+# CONFIG_SND_SPI is not set
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_USX2Y=m
+CONFIG_SND_USB_CAIAQ=m
+CONFIG_SND_USB_CAIAQ_INPUT=y
+# CONFIG_SND_SOC is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=m
+# CONFIG_HID_DEBUG is not set
+# CONFIG_HIDRAW is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+# CONFIG_HID_PID 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
+
+#
+# Special HID drivers
+#
+CONFIG_HID_COMPAT=y
+# CONFIG_HID_A4TECH is not set
+CONFIG_HID_APPLE=m
+# CONFIG_HID_BELKIN is not set
+# CONFIG_HID_CHERRY is not set
+# CONFIG_HID_CHICONY is not set
+# CONFIG_HID_CYPRESS is not set
+# CONFIG_HID_EZKEY is not set
+# CONFIG_HID_GYRATION is not set
+CONFIG_HID_LOGITECH=m
+# CONFIG_LOGITECH_FF is not set
+# CONFIG_LOGIRUMBLEPAD2_FF is not set
+CONFIG_HID_MICROSOFT=m
+# CONFIG_HID_MONTEREY is not set
+# CONFIG_HID_NTRIG is not set
+# CONFIG_HID_PANTHERLORD is not set
+# CONFIG_HID_PETALYNX is not set
+# CONFIG_HID_SAMSUNG is not set
+# CONFIG_HID_SONY is not set
+# CONFIG_HID_SUNPLUS is not set
+# CONFIG_GREENASIA_FF is not set
+# CONFIG_HID_TOPSEED is not set
+# CONFIG_THRUSTMASTER_FF is not set
+# CONFIG_ZEROPLUS_FF is not set
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_DEVICE_CLASS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_SUSPEND is not set
+# CONFIG_USB_OTG is not set
+# CONFIG_USB_OTG_WHITELIST is not set
+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+CONFIG_USB_MON=y
+# CONFIG_USB_WUSB is not set
+# CONFIG_USB_WUSB_CBAF is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_C67X00_HCD is not set
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+CONFIG_USB_EHCI_FSL=y
+CONFIG_USB_EHCI_HCD_PPC_OF=y
+# CONFIG_USB_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_ISP1760_HCD is not set
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_HCD_PPC_OF=y
+CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
+# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set
+CONFIG_USB_OHCI_HCD_PCI=y
+CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y
+CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+# CONFIG_USB_WHCI_HCD is not set
+# CONFIG_USB_HWA_HCD is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+# CONFIG_USB_WDM is not set
+# CONFIG_USB_TMC is not set
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD 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_ISD200 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_ALAUDA is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+#
+# USB port drivers
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_SEVSEG is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_BERRY_CHARGE 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_SISUSBVGA is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+# CONFIG_USB_ISIGHTFW is not set
+# CONFIG_USB_VST is not set
+# CONFIG_USB_ATM is not set
+# CONFIG_USB_GADGET is not set
+
+#
+# OTG and related infrastructure
+#
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_UWB is not set
+# CONFIG_MMC is not set
+# CONFIG_MEMSTICK is not set
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_PCA9532 is not set
+# CONFIG_LEDS_GPIO is not set
+# CONFIG_LEDS_PCA955X is not set
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_BACKLIGHT=y
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
+# CONFIG_ACCESSIBILITY is not set
+# CONFIG_INFINIBAND is not set
+# CONFIG_EDAC is not set
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+CONFIG_RTC_DRV_ISL12024=y
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1374 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_MAX6900 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_M41T80 is not set
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+
+#
+# SPI RTC drivers
+#
+# CONFIG_RTC_DRV_M41T94 is not set
+# CONFIG_RTC_DRV_DS1305 is not set
+# CONFIG_RTC_DRV_DS1390 is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_R9701 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_DS3234 is not set
+
+#
+# Platform RTC drivers
+#
+# CONFIG_RTC_DRV_CMOS is not set
+# CONFIG_RTC_DRV_DS1286 is not set
+# CONFIG_RTC_DRV_DS1511 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_STK17TA8 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_M48T35 is not set
+# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_BQ4802 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# on-CPU RTC drivers
+#
+# CONFIG_RTC_DRV_PPC is not set
+# CONFIG_DMADEVICES is not set
+# CONFIG_UIO is not set
+# CONFIG_STAGING 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_EXT4_FS is not set
+CONFIG_JBD=m
+CONFIG_FS_MBCACHE=m
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+CONFIG_FILE_LOCKING=y
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+# CONFIG_AUTOFS_FS is not set
+CONFIG_AUTOFS4_FS=m
+# CONFIG_FUSE_FS is not set
+
+#
+# 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=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+# CONFIG_CONFIGFS_FS is not set
+CONFIG_MISC_FILESYSTEMS=y
+# 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_FS_WBUF_VERIFY is not set
+# 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_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_SQUASHFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V3=y
+# CONFIG_NFSD_V3_ACL is not set
+CONFIG_NFSD_V4=y
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+# CONFIG_SUNRPC_REGISTER_V4 is not set
+CONFIG_RPCSEC_GSS_KRB5=m
+# 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 is not set
+# 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
+
+#
+# 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=y
+# CONFIG_LDM_DEBUG 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
+# CONFIG_SYSV68_PARTITION is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-15"
+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=m
+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=m
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+CONFIG_NLS_UTF8=m
+# CONFIG_DLM is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=m
+# CONFIG_CRC_T10DIF is not set
+CONFIG_CRC_ITU_T=y
+CONFIG_CRC32=y
+CONFIG_CRC7=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_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_HAVE_LMB=y
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=1024
+# 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 is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_DEBUG_MEMORY_INIT is not set
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+
+#
+# Tracers
+#
+# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+CONFIG_PRINT_STACK_DEPTH=64
+# CONFIG_IRQSTACKS is not set
+# CONFIG_BOOTX_TEXT is not set
+# CONFIG_PPC_EARLY_DEBUG is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITYFS is not set
+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+# CONFIG_CRYPTO_FIPS is not set
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_GF128MUL=m
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_CRYPTD=m
+CONFIG_CRYPTO_AUTHENC=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Authenticated Encryption with Associated Data
+#
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_SEQIV is not set
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=y
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+CONFIG_CRYPTO_ECB=y
+CONFIG_CRYPTO_LRW=m
+CONFIG_CRYPTO_PCBC=m
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_HMAC=m
+CONFIG_CRYPTO_XCBC=m
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_MICHAEL_MIC=m
+# CONFIG_CRYPTO_RMD128 is not set
+# CONFIG_CRYPTO_RMD160 is not set
+# CONFIG_CRYPTO_RMD256 is not set
+# CONFIG_CRYPTO_RMD320 is not set
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_WP512=m
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=y
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_ARC4=y
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_DES=y
+CONFIG_CRYPTO_FCRYPT=m
+CONFIG_CRYPTO_KHAZAD=m
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=m
+# CONFIG_CRYPTO_LZO is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_HW=y
+# CONFIG_CRYPTO_DEV_HIFN_795X is not set
+# CONFIG_CRYPTO_DEV_TALITOS is not set
+# CONFIG_PPC_CLOCK is not set
+# CONFIG_VIRTUALIZATION is not set
diff --git a/recipes/linux/linux-2.6.29/canyonlands/0001-powerpc-4xx-Add-PPC4xx-PCIe-MSI-support.patch b/recipes/linux/linux-2.6.29/canyonlands/0001-powerpc-4xx-Add-PPC4xx-PCIe-MSI-support.patch
new file mode 100644
index 0000000000..177b5d54a1
--- /dev/null
+++ b/recipes/linux/linux-2.6.29/canyonlands/0001-powerpc-4xx-Add-PPC4xx-PCIe-MSI-support.patch
@@ -0,0 +1,634 @@
+From aa1671e0b1a5b72dbf714a1c13cb9850f9ecaee7 Mon Sep 17 00:00:00 2001
+From: Stefan Roese <sr@denx.de>
+Date: Wed, 10 Sep 2008 06:02:17 +0200
+Subject: [PATCH] powerpc/4xx: Add PPC4xx PCIe MSI support
+
+This MSI driver can be used on all PCIe enabled PPC4xx variants.
+This is currently 405EX, 440SPe and 460EX/GT.
+
+This driver version is a testing version and no release. It still
+has some known problems which need to be solved:
+
+- Longshine LCS-8337TXR
+ MSI's are successfully generated on 405EX (Kilauea) and 460EX
+ (Canyonlands). But the MSI generation stops at some time and
+ not further MSI's are generated anymore.
+
+- Intel PRO/1000 PT Desktop
+ No MSI is generated at all
+
+Signed-off-by: Stefan Roese <sr@denx.de>
+---
+ arch/powerpc/boot/dts/canyonlands.dts | 25 +++
+ arch/powerpc/boot/dts/katmai.dts | 12 +
+ arch/powerpc/boot/dts/kilauea.dts | 21 ++
+ arch/powerpc/include/asm/dcr-regs.h | 5 +
+ arch/powerpc/sysdev/Makefile | 3 +-
+ arch/powerpc/sysdev/ppc4xx_msi.c | 358 +++++++++++++++++++++++++++++++++
+ arch/powerpc/sysdev/ppc4xx_pci.c | 46 ++++-
+ arch/powerpc/sysdev/ppc4xx_pci.h | 11 +
+ 8 files changed, 479 insertions(+), 2 deletions(-)
+ create mode 100644 arch/powerpc/sysdev/ppc4xx_msi.c
+
+diff --git a/arch/powerpc/boot/dts/canyonlands.dts b/arch/powerpc/boot/dts/canyonlands.dts
+index 79fe412..5c8b419 100644
+--- a/arch/powerpc/boot/dts/canyonlands.dts
++++ b/arch/powerpc/boot/dts/canyonlands.dts
+@@ -111,6 +111,11 @@
+ ranges;
+ clock-frequency = <0>; /* Filled in by U-Boot */
+
++ MQ0: memqueue {
++ compatible = "ibm,mq-460ex";
++ dcr-reg = <0x040 0x011>;
++ };
++
+ SDRAM0: sdram {
+ compatible = "ibm,sdram-460ex", "ibm,sdram-405gp";
+ dcr-reg = <0x010 0x002>;
+@@ -395,6 +400,8 @@
+ 0x0 0x0 0x0 0x2 &UIC3 0xd 0x4 /* swizzled int B */
+ 0x0 0x0 0x0 0x3 &UIC3 0xe 0x4 /* swizzled int C */
+ 0x0 0x0 0x0 0x4 &UIC3 0xf 0x4 /* swizzled int D */>;
++
++ mq-device = <&MQ0>;
+ };
+
+ PCIE1: pciex@d20000000 {
+@@ -436,6 +443,24 @@
+ 0x0 0x0 0x0 0x2 &UIC3 0x11 0x4 /* swizzled int B */
+ 0x0 0x0 0x0 0x3 &UIC3 0x12 0x4 /* swizzled int C */
+ 0x0 0x0 0x0 0x4 &UIC3 0x13 0x4 /* swizzled int D */>;
++
++ mq-device = <&MQ0>;
++ };
++
++ MSI: msi@c10000000 {
++ compatible = "ibm,ppc4xx-msi-460ex", "ibm,ppc4xx-msi";
++ reg = <0xc 0x10000000 0x100>;
++ sdr-base = <0x36c>;
++ interrupts = <24 1
++ 25 1
++ 26 1
++ 27 1
++ 28 1
++ 29 1
++ 30 1
++ 31 1>;
++ interrupt-parent = <&UIC3>;
++ mq-device = <&MQ0>;
+ };
+ };
+ };
+diff --git a/arch/powerpc/boot/dts/katmai.dts b/arch/powerpc/boot/dts/katmai.dts
+index 077819b..b70bdcb 100644
+--- a/arch/powerpc/boot/dts/katmai.dts
++++ b/arch/powerpc/boot/dts/katmai.dts
+@@ -392,6 +392,18 @@
+ 0x0 0x0 0x0 0x3 &UIC3 0xa 0x4 /* swizzled int C */
+ 0x0 0x0 0x0 0x4 &UIC3 0xb 0x4 /* swizzled int D */>;
+ };
++
++ MSI: msi@400300000 {
++ compatible = "ibm,ppc4xx-msi-440spe", "ibm,ppc4xx-msi";
++ reg = <0x4 0x00300000 0x100>;
++ sdr-base = <0x3b0>;
++ /* test-only: right only 4 UIC interrupts are mapped on 440SPe */
++ interrupts = <12 1
++ 13 1
++ 14 1
++ 15 1>;
++ interrupt-parent = <&UIC0>;
++ };
+ };
+
+ chosen {
+diff --git a/arch/powerpc/boot/dts/kilauea.dts b/arch/powerpc/boot/dts/kilauea.dts
+index dececc4..56fad7c 100644
+--- a/arch/powerpc/boot/dts/kilauea.dts
++++ b/arch/powerpc/boot/dts/kilauea.dts
+@@ -342,5 +342,26 @@
+ 0x0 0x0 0x0 0x3 &UIC2 0xd 0x4 /* swizzled int C */
+ 0x0 0x0 0x0 0x4 &UIC2 0xe 0x4 /* swizzled int D */>;
+ };
++
++ MSI: msi@0ef620000 {
++ compatible = "ibm,ppc4xx-msi-405ex", "ibm,ppc4xx-msi";
++ reg = <0xef620000 0x100>;
++ sdr-base = <0x4b0>;
++ interrupts = <15 1
++ 16 1
++ 17 1
++ 18 1
++ 19 1
++ 20 1
++ 21 1
++ 22 1
++ 23 1
++ 24 1
++ 25 1
++ 26 1
++ 27 1
++ 28 1>;
++ interrupt-parent = <&UIC2>;
++ };
+ };
+ };
+diff --git a/arch/powerpc/include/asm/dcr-regs.h b/arch/powerpc/include/asm/dcr-regs.h
+index 828e3aa..c69dfc2 100644
+--- a/arch/powerpc/include/asm/dcr-regs.h
++++ b/arch/powerpc/include/asm/dcr-regs.h
+@@ -157,4 +157,9 @@
+ #define L2C_SNP_SSR_32G 0x0000f000
+ #define L2C_SNP_ESR 0x00000800
+
++/*
++ * Memory Queue Modules DCR offsets
++ */
++#define MQ0_BAUH 0x10
++
+ #endif /* __DCR_REGS_H__ */
+diff --git a/arch/powerpc/sysdev/Makefile b/arch/powerpc/sysdev/Makefile
+index 5afce11..034a989 100644
+--- a/arch/powerpc/sysdev/Makefile
++++ b/arch/powerpc/sysdev/Makefile
+@@ -6,6 +6,7 @@ mpic-msi-obj-$(CONFIG_PCI_MSI) += mpic_msi.o mpic_u3msi.o mpic_pasemi_msi.o
+ obj-$(CONFIG_MPIC) += mpic.o $(mpic-msi-obj-y)
+ fsl-msi-obj-$(CONFIG_PCI_MSI) += fsl_msi.o
+ obj-$(CONFIG_PPC_MSI_BITMAP) += msi_bitmap.o
++ppc4xx-msi-obj-$(CONFIG_PCI_MSI) += ppc4xx_msi.o
+
+ obj-$(CONFIG_PPC_MPC106) += grackle.o
+ obj-$(CONFIG_PPC_DCR_NATIVE) += dcr-low.o
+@@ -35,7 +36,7 @@ obj-$(CONFIG_4xx_SOC) += ppc4xx_soc.o
+ obj-$(CONFIG_XILINX_VIRTEX) += xilinx_intc.o
+ obj-$(CONFIG_OF_RTC) += of_rtc.o
+ ifeq ($(CONFIG_PCI),y)
+-obj-$(CONFIG_4xx) += ppc4xx_pci.o
++obj-$(CONFIG_4xx) += ppc4xx_pci.o $(ppc4xx-msi-obj-y)
+ endif
+ obj-$(CONFIG_PPC4xx_GPIO) += ppc4xx_gpio.o
+
+diff --git a/arch/powerpc/sysdev/ppc4xx_msi.c b/arch/powerpc/sysdev/ppc4xx_msi.c
+new file mode 100644
+index 0000000..7c95499
+--- /dev/null
++++ b/arch/powerpc/sysdev/ppc4xx_msi.c
+@@ -0,0 +1,358 @@
++/*
++ * IBM/AMCC PPC4xx PCIe MSI handling
++ *
++ * Copyright 2008 Stefan Roese <sr@denx.de>, DENX Software Engineering
++ *
++ * Loosly based on a PPC4xx MSI version posted to linuxppc-dev from
++ * Preetesh Parekh <pparekh@amcc.com>
++ *
++ * 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.
++ */
++
++#undef DEBUG
++
++#include <linux/irq.h>
++#include <linux/bootmem.h>
++#include <linux/bitmap.h>
++#include <linux/msi.h>
++#include <linux/pci.h>
++#include <linux/of_platform.h>
++#include <asm/ppc-pci.h>
++
++#include <asm/dcr.h>
++#include <asm/dcr-regs.h>
++#include <asm/reg.h>
++
++#define U64_TO_U32_LOW(val) ((u32)((val) & 0x00000000ffffffffULL))
++#define U64_TO_U32_HIGH(val) ((u32)((val) >> 32))
++
++#define RES_TO_U32_LOW(val) \
++ ((sizeof(resource_size_t) > sizeof(u32)) ? U64_TO_U32_LOW(val) : (val))
++#define RES_TO_U32_HIGH(val) \
++ ((sizeof(resource_size_t) > sizeof(u32)) ? U64_TO_U32_HIGH(val) : (0))
++
++/*
++ * Byte reversal for PEIH message handling is handled differently
++ * on 4xx PPC variants:
++ *
++ * 405EX One bit for both directions (in- and outbound)
++ * 440SPe No byte-reversal configuration bit at all
++ * 460EX/GT 2 bits, one for inbound and one for outbount messages
++ */
++
++/* 405EX */
++#define SDR0_PEIHS2_BREV (0x80000000 >> 30)
++
++/* 460EX/GT */
++#define SDR0_PEIHS2_OMBR (0x80000000 >> 29)
++#define SDR0_PEIHS2_IMBR (0x80000000 >> 30)
++
++#define PEIH_TERMADH 0x00
++#define PEIH_TERMADL 0x08
++#define PEIH_MSIED 0x10
++#define PEIH_MSIMK 0x18
++#define PEIH_MSIASS 0x20
++#define PEIH_FLUSH0 0x30
++#define PEIH_FLUSH1 0x38
++#define PEIH_CNTRST 0x48
++
++#define PPC4XX_MSI_DATA 0x00000000
++#define PPC4XX_MSI_DATA_MASK 0xFFFFFFE0
++
++#define NR_MSI_IRQS 32
++
++struct ppc4xx_msi {
++ u32 msi_addr_lo;
++ u32 msi_addr_hi;
++ int virq[NR_MSI_IRQS];
++ int irqs;
++
++ unsigned long *irq_bitmap;
++ spinlock_t bitmap_lock;
++
++ dma_addr_t paddr;
++};
++
++static struct ppc4xx_msi *ppc4xx_msi;
++
++static int ppc4xx_msi_alloc_irqs(struct ppc4xx_msi *msi, int num)
++{
++ unsigned long flags;
++ int order = get_count_order(num);
++ int offset;
++
++ spin_lock_irqsave(&msi->bitmap_lock, flags);
++ offset = bitmap_find_free_region(msi->irq_bitmap, NR_MSI_IRQS, order);
++ spin_unlock_irqrestore(&msi->bitmap_lock, flags);
++
++ pr_debug("%s: allocated 0x%x (2^%d) at offset 0x%x\n",
++ __func__, num, order, offset);
++
++ return offset;
++}
++
++static void ppc4xx_msi_free_irqs(struct ppc4xx_msi *msi, int offset, int num)
++{
++ unsigned long flags;
++ int order = get_count_order(num);
++
++ pr_debug("%s: freeing 0x%x (2^%d) at offset 0x%x\n",
++ __func__, num, order, offset);
++
++ spin_lock_irqsave(&msi->bitmap_lock, flags);
++ bitmap_release_region(msi->irq_bitmap, offset, order);
++ spin_unlock_irqrestore(&msi->bitmap_lock, flags);
++}
++
++static int ppc4xx_msi_init_allocator(struct ppc4xx_msi *msi)
++{
++ int size = BITS_TO_LONGS(NR_MSI_IRQS) * sizeof(u32);
++
++ msi->irq_bitmap = kzalloc(size, GFP_KERNEL);
++ if (msi->irq_bitmap == NULL) {
++ pr_debug("%s: ENOMEM allocating allocator bitmap!\n", __func__);
++ return -ENOMEM;
++ }
++
++ bitmap_allocate_region(msi->irq_bitmap, 0, get_count_order(NR_MSI_IRQS));
++ ppc4xx_msi_free_irqs(msi, 0, NR_MSI_IRQS);
++
++ return 0;
++}
++
++static int ppc4xx_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
++{
++ struct msi_desc *entry;
++ struct msi_msg msg;
++ int msi_irq;
++ struct ppc4xx_msi *msi = ppc4xx_msi;
++ int rc;
++
++ msg.address_hi = ppc4xx_msi->msi_addr_hi;
++ msg.address_lo = ppc4xx_msi->msi_addr_lo;
++
++ list_for_each_entry(entry, &dev->msi_list, list) {
++ msi_irq = ppc4xx_msi_alloc_irqs(msi, 1);
++ if ((msi_irq < 0) || (msi_irq >= msi->irqs)) {
++ pr_debug("%s: fail allocating msi interrupt\n", __func__);
++ rc = -ENOSPC;
++ goto out_free;
++ }
++
++ set_irq_msi(ppc4xx_msi->virq[msi_irq], entry);
++ pr_debug("%s: allocated virq %d (hw %d) addr 0x%08x\n",
++ __func__, ppc4xx_msi->virq[msi_irq], msi_irq, msg.address_lo);
++
++ /* Write message to PCI device */
++ msg.data = PPC4XX_MSI_DATA | msi_irq;
++ write_msi_msg(ppc4xx_msi->virq[msi_irq], &msg);
++ }
++
++ return 0;
++
++out_free:
++ return rc;
++}
++
++static int ppc4xx_msi_check_device(struct pci_dev *pdev, int nvec, int type)
++{
++ if (type == PCI_CAP_ID_MSIX)
++ pr_debug("ppc4xx_msi: MSI-X untested, trying anyway\n");
++
++ return 0;
++}
++
++static void ppc4xx_teardown_msi_irqs(struct pci_dev *dev)
++{
++ struct msi_desc *entry;
++ struct ppc4xx_msi *msi = ppc4xx_msi;
++
++ list_for_each_entry(entry, &dev->msi_list, list) {
++ if (entry->irq == NO_IRQ)
++ continue;
++
++ pr_debug("%s: freeing virq %d\n", __func__, entry->irq);
++ set_irq_msi(entry->irq, NULL);
++ ppc4xx_msi_free_irqs(msi, entry->irq, 1);
++ irq_dispose_mapping(entry->irq);
++ }
++
++ return;
++}
++
++static int __devinit ppc4xx_of_msi_probe(struct of_device *dev,
++ const struct of_device_id *match)
++{
++ struct device_node *np = dev->node;
++ struct device_node *mq_np;
++ struct resource res;
++ struct ppc4xx_msi *msi = NULL;
++ void __iomem *peih_regs = NULL;
++ void *vaddr = NULL;
++ const u32 *pval;
++ u32 sdr_base;
++ int count;
++ int i;
++ int rc;
++ u64 msi_addr = 0;
++ u32 val = 0;
++
++ printk(KERN_INFO "Setting up PPC4xx MSI support\n");
++
++ msi = kzalloc(sizeof(struct ppc4xx_msi), GFP_KERNEL);
++ if (!msi) {
++ printk(KERN_ERR "No memory for MSI structure!\n");
++ rc = -ENOMEM;
++ goto error_out;
++ }
++
++ /* Fetch PCIe interrupt handler registers address */
++ if (of_address_to_resource(np, 0, &res)) {
++ printk(KERN_ERR "%s: Can't get PCI-E interrupt handler space!\n",
++ np->full_name);
++ rc = -ENOMEM;
++ goto error_out;
++ }
++
++ peih_regs = ioremap(res.start, res.end - res.start + 1);
++ if (!peih_regs) {
++ printk(KERN_ERR "%s: ioremap failed!\n", np->full_name);
++ rc = -ENOMEM;
++ goto error_out;
++ }
++
++ pval = of_get_property(np, "sdr-base", NULL);
++ if (pval == NULL) {
++ printk(KERN_ERR "%s: Missing sdr-base!\n", np->full_name);
++ rc = -ENOMEM;
++ goto error_out;
++ }
++ sdr_base = *pval;
++
++ /* Set byte reversal bit(s) if necessary */
++ if (of_device_is_compatible(np, "ibm,ppc4xx-msi-405ex"))
++ val = SDR0_PEIHS2_BREV;
++ if ((of_device_is_compatible(np, "ibm,ppc4xx-msi-460ex")) ||
++ (of_device_is_compatible(np, "ibm,ppc4xx-msi-460gt")))
++ val = SDR0_PEIHS2_IMBR | SDR0_PEIHS2_OMBR;
++
++ /* Set base address for PEIH */
++ mtdcri(SDR0, sdr_base + 0, RES_TO_U32_HIGH(res.start));
++ mtdcri(SDR0, sdr_base + 1, RES_TO_U32_LOW(res.start) | val);
++ pr_debug("%s: MSI PEIH physical address at %llx\n", __func__, (u64)res.start);
++
++ /*
++ * MSI termintaion address needs to be located in an local
++ * area mapped to the PCIe bus via a PIM (PCI Inbound Message Window).
++ * Only this way the accesses get forwarded to the PLB where they are
++ * decoded.
++ */
++ vaddr = dma_alloc_coherent(&dev->dev, PAGE_SIZE, &msi->paddr, GFP_KERNEL);
++
++ /*
++ * On 460EX/GT the PEIH (PCIe Interrupt Handler) logic is implemented
++ * on the HB (High Bandwidth) segment of the PLB. This implies that the
++ * target address must reside in the HB segment range.
++ * The DCR MQ0_BAUH (PLB Base Address, upper 32 bits (HB)) configures
++ * the offset for this HB access window. The optional "mq-device"
++ * points to the Memory-Queue Module device node, which configures
++ * the base address of the HB PLB segment.
++ */
++ pval = of_get_property(np, "mq-device", NULL);
++ if (pval) {
++ mq_np = of_find_node_by_phandle(*pval);
++ if (mq_np) {
++ pval = of_get_property(mq_np, "dcr-reg", NULL);
++ if (pval)
++ msi_addr = (u64)mfdcr(*pval + MQ0_BAUH) << 32;
++ }
++ }
++
++ /* Now add physical address of the cache coherent area */
++ msi_addr += msi->paddr;
++ msi->msi_addr_hi = U64_TO_U32_HIGH(msi_addr);
++ msi->msi_addr_lo = U64_TO_U32_LOW(msi_addr);
++ pr_debug("%s: MSI termination address: vaddr=%p paddr=%llx\n",
++ __func__, vaddr, msi_addr);
++
++ /* Progam the Interrupt handler Termination addr registers */
++ out_be32(peih_regs + PEIH_TERMADH, msi->msi_addr_hi);
++ out_be32(peih_regs + PEIH_TERMADL, msi->msi_addr_lo);
++
++ /* Program MSI Expected data and Mask bits */
++ out_be32(peih_regs + PEIH_MSIED, PPC4XX_MSI_DATA);
++ out_be32(peih_regs + PEIH_MSIMK, PPC4XX_MSI_DATA_MASK);
++
++ rc = ppc4xx_msi_init_allocator(msi);
++ if (rc) {
++ printk(KERN_ERR "Error allocating MSI bitmap!\n");
++ goto error_out;
++ }
++
++ pval = of_get_property(np, "interrupts", &count);
++ if (!pval) {
++ printk(KERN_ERR "No interrupts property found on %s!\n",
++ np->full_name);
++ rc = -ENODEV;
++ goto error_out;
++ }
++ if (count % 8 != 0) {
++ printk(KERN_ERR "Malformed interrupts property on %s!\n",
++ np->full_name);
++ rc = -EINVAL;
++ goto error_out;
++ }
++
++ count /= sizeof(u32);
++ for (i = 0; i < count / 2; i++) {
++ msi->virq[i] = irq_of_parse_and_map(np, i);
++ pr_debug("%s: virq[%d] = %d\n", __func__, i, msi->virq[i]);
++ }
++
++ iounmap(peih_regs);
++
++ msi->irqs = count;
++ ppc4xx_msi = msi;
++
++ WARN_ON(ppc_md.setup_msi_irqs);
++ ppc_md.setup_msi_irqs = ppc4xx_setup_msi_irqs;
++ ppc_md.teardown_msi_irqs = ppc4xx_teardown_msi_irqs;
++ ppc_md.msi_check_device = ppc4xx_msi_check_device;
++
++ return 0;
++
++error_out:
++ if (vaddr)
++ dma_free_coherent(&dev->dev, PAGE_SIZE, vaddr, msi->paddr);
++
++ if (peih_regs)
++ iounmap(peih_regs);
++
++ if (msi)
++ kfree(msi);
++
++ return rc;
++}
++
++static const struct of_device_id ppc4xx_of_msi_ids[] = {
++ {
++ .compatible = "ibm,ppc4xx-msi",
++ },
++ {}
++};
++
++static struct of_platform_driver ppc4xx_of_msi_driver = {
++ .name = "ibm-msi",
++ .match_table = ppc4xx_of_msi_ids,
++ .probe = ppc4xx_of_msi_probe,
++};
++
++static __init int ppc4xx_of_msi_init(void)
++{
++ return of_register_platform_driver(&ppc4xx_of_msi_driver);
++}
++
++subsys_initcall(ppc4xx_of_msi_init);
+diff --git a/arch/powerpc/sysdev/ppc4xx_pci.c b/arch/powerpc/sysdev/ppc4xx_pci.c
+index d3e4d61..03e5c63 100644
+--- a/arch/powerpc/sysdev/ppc4xx_pci.c
++++ b/arch/powerpc/sysdev/ppc4xx_pci.c
+@@ -1393,6 +1393,10 @@ static void __init ppc4xx_configure_pciex_PIMs(struct ppc4xx_pciex_port *port,
+ {
+ resource_size_t size = res->end - res->start + 1;
+ u64 sa;
++ struct device_node *np = port->node;
++ struct device_node *mq_np;
++ const u32 *pval;
++ u32 bauh = 0;
+
+ if (port->endpoint) {
+ resource_size_t ep_addr = 0;
+@@ -1442,10 +1446,50 @@ static void __init ppc4xx_configure_pciex_PIMs(struct ppc4xx_pciex_port *port,
+
+ out_le32(mbase + PCI_BASE_ADDRESS_0, RES_TO_U32_LOW(res->start));
+ out_le32(mbase + PCI_BASE_ADDRESS_1, RES_TO_U32_HIGH(res->start));
++
++ /*
++ * For MSI support some 4xx platforms (e.g. 460EX/GT) need
++ * to configure a 2nd PIM to enable access to the HB PLB
++ * segment where the PEIH MSI termination address is located
++ * and snooped from the PEIH.
++ * The optional "mq-device" points to the Memory-Queue Module
++ * device node, which configures the base address of the HB PLB
++ * segment.
++ */
++ pval = of_get_property(np, "mq-device", NULL);
++ if (pval) {
++ mq_np = of_find_node_by_phandle(*pval);
++ if (mq_np) {
++ pval = of_get_property(mq_np, "dcr-reg", NULL);
++ if (pval)
++ bauh = mfdcr(*pval + MQ0_BAUH);
++ }
++ }
++
++ if (bauh) {
++ out_le32(mbase + PECFG_BAR2HMPA, RES_TO_U32_HIGH(sa));
++ out_le32(mbase + PECFG_BAR2LMPA, RES_TO_U32_LOW(sa));
++
++ /* The setup of the split looks weird to me ... let's see
++ * if it works
++ */
++ out_le32(mbase + PECFG_PIM3LAL, 0x00000000);
++ out_le32(mbase + PECFG_PIM3LAH, 0x00000000);
++ out_le32(mbase + PECFG_PIM4LAL, 0x00000000);
++ out_le32(mbase + PECFG_PIM4LAH, 0x00000000);
++ out_le32(mbase + PECFG_PIM34SAH, 0xffff0000);
++ out_le32(mbase + PECFG_PIM34SAL, 0x00000000);
++
++ out_le32(mbase + PECFG_RTBAR2L, RES_TO_U32_LOW(res->start));
++ out_le32(mbase + PECFG_RTBAR2H, RES_TO_U32_HIGH(res->start) + bauh);
++ }
+ }
+
+ /* Enable inbound mapping */
+- out_le32(mbase + PECFG_PIMEN, 0x1);
++ if (bauh == 0)
++ out_le32(mbase + PECFG_PIMEN, 0x1);
++ else
++ out_le32(mbase + PECFG_PIMEN, 0x5);
+
+ /* Enable I/O, Mem, and Busmaster cycles */
+ out_le16(mbase + PCI_COMMAND,
+diff --git a/arch/powerpc/sysdev/ppc4xx_pci.h b/arch/powerpc/sysdev/ppc4xx_pci.h
+index d04e40b..b1d7d31 100644
+--- a/arch/powerpc/sysdev/ppc4xx_pci.h
++++ b/arch/powerpc/sysdev/ppc4xx_pci.h
+@@ -398,6 +398,14 @@
+ #define PECFG_PIM1LAH 0x34c
+ #define PECFG_PIM01SAL 0x350
+ #define PECFG_PIM01SAH 0x354
++#define PECFG_PIM2LAL 0x358
++#define PECFG_PIM2LAH 0x35c
++#define PECFG_PIM3LAL 0x360
++#define PECFG_PIM3LAH 0x364
++#define PECFG_PIM4LAL 0x368
++#define PECFG_PIM4LAH 0x36c
++#define PECFG_PIM34SAL 0x370
++#define PECFG_PIM34SAH 0x374
+
+ #define PECFG_POM0LAL 0x380
+ #define PECFG_POM0LAH 0x384
+@@ -406,6 +414,9 @@
+ #define PECFG_POM2LAL 0x390
+ #define PECFG_POM2LAH 0x394
+
++#define PECFG_RTBAR2L 0x3b8
++#define PECFG_RTBAR2H 0x3bc
++
+ /* SDR Bit Mappings */
+ #define PESDRx_RCSSET_HLDPLB 0x10000000
+ #define PESDRx_RCSSET_RSTGU 0x01000000
+--
+1.6.2.1
+
diff --git a/recipes/linux/linux-2.6.29/canyonlands/defconfig b/recipes/linux/linux-2.6.29/canyonlands/defconfig
new file mode 100644
index 0000000000..ff2a335c65
--- /dev/null
+++ b/recipes/linux/linux-2.6.29/canyonlands/defconfig
@@ -0,0 +1,791 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.28
+# Mon Mar 30 10:24:29 2009
+#
+# CONFIG_PPC64 is not set
+
+#
+# Processor support
+#
+# CONFIG_6xx is not set
+# CONFIG_PPC_85xx is not set
+# CONFIG_PPC_8xx is not set
+# CONFIG_40x is not set
+CONFIG_44x=y
+# CONFIG_E200 is not set
+CONFIG_PPC_FPU=y
+CONFIG_4xx=y
+CONFIG_BOOKE=y
+CONFIG_PTE_64BIT=y
+CONFIG_PHYS_64BIT=y
+# CONFIG_PPC_MM_SLICES is not set
+CONFIG_NOT_COHERENT_CACHE=y
+CONFIG_PPC32=y
+CONFIG_WORD_SIZE=32
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_MMU=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_HARDIRQS=y
+# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+CONFIG_IRQ_PER_CPU=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_ARCH_HAS_ILOG2_U32=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
+CONFIG_PPC=y
+CONFIG_EARLY_PRINTK=y
+CONFIG_GENERIC_NVRAM=y
+CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_PPC_OF=y
+CONFIG_OF=y
+CONFIG_PPC_UDBG_16550=y
+# CONFIG_GENERIC_TBSYNC is not set
+CONFIG_AUDIT_ARCH=y
+CONFIG_GENERIC_BUG=y
+# CONFIG_DEFAULT_UIMAGE is not set
+CONFIG_PPC_DCR_NATIVE=y
+# CONFIG_PPC_DCR_MMIO is not set
+CONFIG_PPC_DCR=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=19
+# CONFIG_CGROUPS is not set
+# CONFIG_GROUP_SCHED is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+# CONFIG_RELAY is not set
+# CONFIG_NAMESPACES is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=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_COMPAT_BRK=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_ANON_INODES=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_PCI_QUIRKS=y
+CONFIG_SLUB_DEBUG=y
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_SLOB is not set
+# CONFIG_PROFILING is not set
+# CONFIG_MARKERS is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+CONFIG_BLOCK=y
+CONFIG_LBD=y
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_CLASSIC_RCU=y
+# CONFIG_FREEZER is not set
+CONFIG_PPC4xx_PCI_EXPRESS=y
+
+#
+# Platform support
+#
+# CONFIG_PPC_CELL is not set
+# CONFIG_PPC_CELL_NATIVE is not set
+# CONFIG_PQ2ADS is not set
+# CONFIG_BAMBOO is not set
+# CONFIG_EBONY is not set
+# CONFIG_SAM440EP is not set
+# CONFIG_SEQUOIA is not set
+# CONFIG_TAISHAN is not set
+# CONFIG_KATMAI is not set
+# CONFIG_RAINIER is not set
+# CONFIG_WARP is not set
+# CONFIG_ARCHES is not set
+CONFIG_CANYONLANDS=y
+# CONFIG_GLACIER is not set
+# CONFIG_YOSEMITE is not set
+# CONFIG_XILINX_VIRTEX440_GENERIC_BOARD is not set
+CONFIG_PPC44x_SIMPLE=y
+# CONFIG_PPC4xx_GPIO is not set
+CONFIG_460EX=y
+# CONFIG_IPIC is not set
+# CONFIG_MPIC is not set
+# CONFIG_MPIC_WEIRD is not set
+# CONFIG_PPC_I8259 is not set
+# CONFIG_PPC_RTAS is not set
+# CONFIG_MMIO_NVRAM is not set
+# CONFIG_PPC_MPC106 is not set
+# CONFIG_PPC_970_NAP is not set
+# CONFIG_PPC_INDIRECT_IO is not set
+# CONFIG_GENERIC_IOMAP is not set
+# CONFIG_CPU_FREQ is not set
+# CONFIG_FSL_ULI1575 is not set
+
+#
+# Kernel options
+#
+# CONFIG_HIGHMEM is not set
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=250
+CONFIG_SCHED_HRTICK=y
+CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+CONFIG_BINFMT_ELF=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+# CONFIG_HAVE_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_MATH_EMULATION is not set
+# CONFIG_IOMMU_HELPER is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_HAS_WALK_MEMORY=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+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_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_MIGRATION=y
+# CONFIG_RESOURCES_64BIT is not set
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_UNEVICTABLE_LRU=y
+CONFIG_FORCE_MAX_ZONEORDER=11
+CONFIG_PROC_DEVICETREE=y
+CONFIG_CMDLINE_BOOL=y
+CONFIG_CMDLINE=" debug "
+CONFIG_EXTRA_TARGETS=""
+CONFIG_SECCOMP=y
+CONFIG_ISA_DMA_API=y
+
+#
+# Bus options
+#
+CONFIG_ZONE_DMA=y
+CONFIG_PPC_INDIRECT_PCI=y
+CONFIG_4xx_SOC=y
+CONFIG_PPC_PCI_CHOICE=y
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_SYSCALL=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_PCIEAER=y
+# CONFIG_PCIEASPM is not set
+CONFIG_ARCH_SUPPORTS_MSI=y
+CONFIG_PCI_MSI=y
+CONFIG_PCI_LEGACY=y
+CONFIG_PCI_DEBUG=y
+# CONFIG_PCCARD is not set
+# CONFIG_HOTPLUG_PCI is not set
+# CONFIG_HAS_RAPIDIO is not set
+
+#
+# Advanced setup
+#
+# CONFIG_ADVANCED_OPTIONS is not set
+
+#
+# Default settings for advanced configuration options are used
+#
+CONFIG_LOWMEM_SIZE=0x30000000
+CONFIG_PAGE_OFFSET=0xc0000000
+CONFIG_KERNEL_START=0xc0000000
+CONFIG_PHYSICAL_START=0x00000000
+CONFIG_TASK_SIZE=0xc0000000
+CONFIG_CONSISTENT_START=0xff100000
+CONFIG_CONSISTENT_SIZE=0x00200000
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP 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_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 is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_LRO is not set
+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_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_NET_DSA 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
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+# CONFIG_PHONET is not set
+CONFIG_WIRELESS=y
+# CONFIG_CFG80211 is not set
+CONFIG_WIRELESS_OLD_REGULATORY=y
+# CONFIG_WIRELESS_EXT is not set
+# CONFIG_MAC80211 is not set
+# CONFIG_IEEE80211 is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+CONFIG_FIRMWARE_IN_KERNEL=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+CONFIG_CONNECTOR=y
+CONFIG_PROC_EVENTS=y
+# CONFIG_MTD is not set
+CONFIG_OF_DEVICE=y
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# 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 is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_SX8 is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=35000
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_XILINX_SYSACE is not set
+# CONFIG_BLK_DEV_HD is not set
+# CONFIG_MISC_DEVICES is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+# CONFIG_SCSI is not set
+# CONFIG_SCSI_DMA is not set
+# CONFIG_SCSI_NETLINK is not set
+# CONFIG_ATA is not set
+# CONFIG_MD is not set
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# Enable only one of the two stacks, unless you know what you are doing
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_IEEE1394 is not set
+# CONFIG_I2O is not set
+# CONFIG_MACINTOSH_DRIVERS is not set
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+# CONFIG_VETH is not set
+# CONFIG_ARCNET is not set
+# CONFIG_PHYLIB is not set
+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_NET_TULIP is not set
+# CONFIG_HP100 is not set
+CONFIG_IBM_NEW_EMAC=y
+CONFIG_IBM_NEW_EMAC_RXB=256
+CONFIG_IBM_NEW_EMAC_TXB=256
+CONFIG_IBM_NEW_EMAC_POLL_WEIGHT=32
+CONFIG_IBM_NEW_EMAC_RX_COPY_THRESHOLD=256
+CONFIG_IBM_NEW_EMAC_RX_SKB_HEADROOM=0
+# CONFIG_IBM_NEW_EMAC_DEBUG is not set
+CONFIG_IBM_NEW_EMAC_ZMII=y
+CONFIG_IBM_NEW_EMAC_RGMII=y
+CONFIG_IBM_NEW_EMAC_TAH=y
+CONFIG_IBM_NEW_EMAC_EMAC4=y
+# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
+# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
+# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
+# CONFIG_NET_PCI is not set
+# CONFIG_B44 is not set
+# CONFIG_ATL2 is not set
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+# CONFIG_TR is not set
+
+#
+# Wireless LAN
+#
+# CONFIG_WLAN_PRE80211 is not set
+# CONFIG_WLAN_80211 is not set
+# CONFIG_IWLWIFI_LEDS is not set
+# 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_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_ISDN is not set
+# CONFIG_PHONE 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_DEVKMEM=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_NOZOMI is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+# CONFIG_SERIAL_8250_PCI is not set
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_SERIAL_8250_EXTENDED=y
+# CONFIG_SERIAL_8250_MANY_PORTS is not set
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+# CONFIG_SERIAL_8250_DETECT_IRQ is not set
+# CONFIG_SERIAL_8250_RSA is not set
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_UARTLITE is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+CONFIG_SERIAL_OF_PLATFORM=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+CONFIG_ALTPCIESGDMA=m
+# CONFIG_ALTPCIECHDMA is not set
+# CONFIG_IPMI_HANDLER is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_NVRAM is not set
+# CONFIG_GEN_RTC is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+CONFIG_DEVPORT=y
+# CONFIG_I2C is not set
+# CONFIG_SPI is not set
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+# CONFIG_GPIOLIB is not set
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON is not set
+# CONFIG_THERMAL is not set
+# CONFIG_THERMAL_HWMON is not set
+# CONFIG_WATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+# CONFIG_SSB is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_REGULATOR is not set
+
+#
+# Multimedia devices
+#
+
+#
+# Multimedia core support
+#
+# CONFIG_VIDEO_DEV is not set
+# CONFIG_DVB_CORE is not set
+# CONFIG_VIDEO_MEDIA is not set
+
+#
+# Multimedia drivers
+#
+CONFIG_DAB=y
+
+#
+# Graphics support
+#
+# CONFIG_AGP is not set
+# CONFIG_DRM is not set
+# CONFIG_VGASTATE is not set
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+# CONFIG_FB is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+# CONFIG_SOUND is not set
+# CONFIG_USB_SUPPORT is not set
+# CONFIG_UWB is not set
+# CONFIG_MMC is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_NEW_LEDS is not set
+# CONFIG_ACCESSIBILITY is not set
+# CONFIG_INFINIBAND is not set
+# CONFIG_EDAC is not set
+# CONFIG_RTC_CLASS is not set
+# CONFIG_DMADEVICES is not set
+# CONFIG_UIO is not set
+# CONFIG_STAGING is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_EXT4_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+CONFIG_FILE_LOCKING=y
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+# 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 is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+# CONFIG_MSDOS_FS is not set
+# CONFIG_VFAT_FS is not set
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+# 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=y
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+# CONFIG_NFS_V4 is not set
+CONFIG_ROOT_NFS=y
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+# CONFIG_SUNRPC_REGISTER_V4 is not set
+# 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
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_NLS is not set
+# CONFIG_DLM is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_T10DIF is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_HAVE_LMB=y
+
+#
+# Kernel hacking
+#
+CONFIG_PRINTK_TIME=y
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=1024
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS 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_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_WRITECOUNT is not set
+# CONFIG_DEBUG_MEMORY_INIT is not set
+# CONFIG_DEBUG_LIST is not set
+CONFIG_DEBUG_SG=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+
+#
+# Tracers
+#
+# CONFIG_FUNCTION_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_CONTEXT_SWITCH_TRACER is not set
+# CONFIG_BOOT_TRACER is not set
+# CONFIG_STACK_TRACER is not set
+# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+# CONFIG_CODE_PATCHING_SELFTEST is not set
+# CONFIG_FTR_FIXUP_SELFTEST is not set
+# CONFIG_MSI_BITMAP_SELFTEST is not set
+# CONFIG_XMON is not set
+# CONFIG_IRQSTACKS is not set
+# CONFIG_VIRQ_DEBUG is not set
+# CONFIG_BDI_SWITCH is not set
+# CONFIG_PPC_EARLY_DEBUG is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITYFS is not set
+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
+# CONFIG_CRYPTO is not set
+# CONFIG_PPC_CLOCK is not set
+# CONFIG_VIRTUALIZATION is not set
diff --git a/recipes/linux/linux-2.6.29/canyonlands/ppc4xx_pcie_payload.patch b/recipes/linux/linux-2.6.29/canyonlands/ppc4xx_pcie_payload.patch
new file mode 100644
index 0000000000..02c21bfea7
--- /dev/null
+++ b/recipes/linux/linux-2.6.29/canyonlands/ppc4xx_pcie_payload.patch
@@ -0,0 +1,15 @@
+Index: linux-2.6.28/arch/powerpc/sysdev/ppc4xx_pci.c
+===================================================================
+--- linux-2.6.28.orig/arch/powerpc/sysdev/ppc4xx_pci.c 2009-03-19 17:46:18.000000000 +0100
++++ linux-2.6.28/arch/powerpc/sysdev/ppc4xx_pci.c 2009-03-19 17:46:55.000000000 +0100
+@@ -1591,7 +1591,9 @@
+ if (!port->endpoint) {
+ /* Set Class Code to PCI-PCI bridge and Revision Id to 1 */
+ out_le32(mbase + 0x208, 0x06040001);
+-
++ printk(KERN_INFO "maximum payload size 512 bytes.\n");
++ /* maximum payload size 512 bytes */
++ out_le32(mbase + 0x25C, 0x00000002);
+ printk(KERN_INFO "PCIE%d: successfully set as root-complex\n",
+ port->index);
+ } else {
diff --git a/recipes/linux/linux-epia_2.6.19.2.bb b/recipes/linux/linux-epia_2.6.19.2.bb
index 29f53a4dae..ce253c45c6 100644
--- a/recipes/linux/linux-epia_2.6.19.2.bb
+++ b/recipes/linux/linux-epia_2.6.19.2.bb
@@ -6,7 +6,8 @@ PR = "r1"
KERNEL_CCSUFFIX = "-3.3.4"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
- file://epia_defconfig"
+ file://epia_defconfig \
+ file://linux-2.6-limits.patch;patch=1"
S = "${WORKDIR}/linux-${PV}"
COMPATIBLE_HOST = 'i.86.*-linux'
diff --git a/recipes/linux/linux-ixp4xx/nslu2/defconfig-2.6.29 b/recipes/linux/linux-ixp4xx/nslu2/defconfig-2.6.29
new file mode 100644
index 0000000000..f10ec6a2cc
--- /dev/null
+++ b/recipes/linux/linux-ixp4xx/nslu2/defconfig-2.6.29
@@ -0,0 +1,2305 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.29
+# Fri Mar 27 15:56:39 2009
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_MMU=y
+# CONFIG_NO_IOPORT is not set
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=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_ZONE_DMA=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not SET
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_CLASSIC_RCU=y
+# CONFIG_TREE_RCU is not set
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_PREEMPT_RCU_TRACE is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_GROUP_SCHED is not set
+# CONFIG_CGROUPS is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+# CONFIG_RELAY is not set
+# CONFIG_NAMESPACES is not set
+# CONFIG_BLK_DEV_INITRD is not set
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_EMBEDDED=y
+CONFIG_UID16=y
+# CONFIG_SYSCTL_SYSCALL is not set
+# CONFIG_KALLSYMS 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_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+# CONFIG_VM_EVENT_COUNTERS is not set
+CONFIG_PCI_QUIRKS=y
+CONFIG_COMPAT_BRK=y
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+# CONFIG_PROFILING is not set
+CONFIG_HAVE_OPROFILE=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_MODVERSIONS=y
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_BLK_DEV_INTEGRITY 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_FREEZER is not set
+
+#
+# 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_CLPS711X 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_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+CONFIG_ARCH_IXP4XX=y
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_KIRKWOOD is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_LOKI is not set
+# CONFIG_ARCH_MV78XX0 is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_ORION5X 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_S3C64XX is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_DAVINCI is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_MSM is not set
+# CONFIG_ARCH_W90X900 is not set
+CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y
+
+#
+# Intel IXP4xx Implementation Options
+#
+
+#
+# IXP4xx Platforms
+#
+CONFIG_MACH_NSLU2=y
+CONFIG_MACH_AVILA=y
+CONFIG_MACH_LOFT=y
+# CONFIG_ARCH_ADI_COYOTE is not set
+# CONFIG_MACH_GATEWAY7001 is not set
+# CONFIG_MACH_WG302V2 is not set
+CONFIG_ARCH_IXDP425=y
+CONFIG_MACH_IXDPG425=y
+# CONFIG_MACH_IXDP465 is not set
+# CONFIG_MACH_KIXRP435 is not set
+CONFIG_ARCH_IXCDP1100=y
+# CONFIG_ARCH_PRPMC1100 is not set
+CONFIG_MACH_NAS100D=y
+CONFIG_MACH_DSMG600=y
+CONFIG_ARCH_IXDP4XX=y
+CONFIG_MACH_FSG=y
+# CONFIG_MACH_GTWX5715 is not set
+
+#
+# IXP4xx Options
+#
+# CONFIG_IXP4XX_INDIRECT_PCI is not set
+CONFIG_IXP4XX_QMGR=y
+CONFIG_IXP4XX_NPE=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_PABRT_NOIFAR=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+CONFIG_CPU_BIG_ENDIAN=y
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_OUTER_CACHE is not set
+# CONFIG_IWMMXT is not set
+CONFIG_XSCALE_PMU=y
+CONFIG_DMABOUNCE=y
+
+#
+# Bus support
+#
+CONFIG_PCI=y
+CONFIG_PCI_SYSCALL=y
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+CONFIG_PCI_LEGACY=y
+# CONFIG_PCI_STUB is not set
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_VMSPLIT_3G=y
+# CONFIG_VMSPLIT_2G is not set
+# CONFIG_VMSPLIT_1G is not set
+CONFIG_PAGE_OFFSET=0xC0000000
+# CONFIG_PREEMPT is not set
+CONFIG_HZ=100
+CONFIG_AEABI=y
+CONFIG_OABI_COMPAT=y
+CONFIG_ARCH_FLATMEM_HAS_HOLES=y
+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
+# CONFIG_ARCH_SELECT_MEMORY_MODEL 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_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_UNEVICTABLE_LRU=y
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE=" noirqdebug console=ttyS0,115200n8"
+# CONFIG_XIP_KERNEL is not set
+CONFIG_KEXEC=y
+CONFIG_ATAGS_PROC=y
+
+#
+# CPU Power Management
+#
+# CONFIG_CPU_IDLE 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_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_HAVE_AOUT=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+
+#
+# Power management options
+#
+# CONFIG_PM is not set
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_COMPAT_NET_DEV_OPS=y
+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_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_XFRM_IPCOMP=m
+# 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=m
+# 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_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_LRO is not set
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+CONFIG_TCP_CONG_ADVANCED=y
+# CONFIG_TCP_CONG_BIC is not set
+CONFIG_TCP_CONG_CUBIC=y
+# CONFIG_TCP_CONG_WESTWOOD is not set
+# CONFIG_TCP_CONG_HTCP is not set
+# CONFIG_TCP_CONG_HSTCP is not set
+# CONFIG_TCP_CONG_HYBLA is not set
+# CONFIG_TCP_CONG_VEGAS is not set
+# CONFIG_TCP_CONG_SCALABLE is not set
+# CONFIG_TCP_CONG_LP is not set
+# CONFIG_TCP_CONG_VENO is not set
+# CONFIG_TCP_CONG_YEAH is not set
+# CONFIG_TCP_CONG_ILLINOIS is not set
+# CONFIG_DEFAULT_BIC is not set
+# CONFIG_DEFAULT_CUBIC is not set
+# CONFIG_DEFAULT_HTCP is not set
+# CONFIG_DEFAULT_VEGAS is not set
+# CONFIG_DEFAULT_WESTWOOD is not set
+CONFIG_DEFAULT_RENO=y
+CONFIG_DEFAULT_TCP_CONG="reno"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=m
+# CONFIG_IPV6_PRIVACY is not set
+# CONFIG_IPV6_ROUTER_PREF is not set
+# CONFIG_IPV6_OPTIMISTIC_DAD 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_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_IPV6_MROUTE is not set
+# CONFIG_NETWORK_SECMARK is not set
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CT_ACCT=y
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+# CONFIG_NF_CT_PROTO_DCCP is not set
+CONFIG_NF_CT_PROTO_GRE=m
+CONFIG_NF_CT_PROTO_SCTP=m
+# CONFIG_NF_CT_PROTO_UDPLITE is not set
+CONFIG_NF_CONNTRACK_AMANDA=m
+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_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NETFILTER_TPROXY=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_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
+CONFIG_NETFILTER_XT_TARGET_TPROXY=m
+# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set
+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_HASHLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
+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_MULTIPORT=m
+# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+# CONFIG_NETFILTER_XT_MATCH_RECENT_PROC_COMPAT is not set
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_SOCKET=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_TIME is not set
+# CONFIG_NETFILTER_XT_MATCH_U32 is not set
+# CONFIG_IP_VS is not set
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+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_ADDRTYPE=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_TTL=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_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PROTO_GRE=m
+CONFIG_NF_NAT_PROTO_SCTP=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_H323=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_CONNTRACK_IPV6=m
+# CONFIG_IP6_NF_QUEUE is not set
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_RAW=m
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+# CONFIG_BRIDGE_EBT_IP6 is not set
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
+# CONFIG_BRIDGE_EBT_NFLOG is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+CONFIG_TIPC=m
+# CONFIG_TIPC_ADVANCED is not set
+# CONFIG_TIPC_DEBUG is not set
+# CONFIG_ATM is not set
+CONFIG_STP=m
+CONFIG_BRIDGE=m
+# CONFIG_NET_DSA is not set
+CONFIG_VLAN_8021Q=m
+# CONFIG_VLAN_8021Q_GVRP 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=m
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+# CONFIG_X25 is not set
+# CONFIG_LAPB 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
+# CONFIG_DCB is not set
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN 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_HCIBTUSB is not set
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+# CONFIG_BT_HCIUART_LL is not set
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIVHCI=m
+# CONFIG_AF_RXRPC is not set
+# CONFIG_PHONET is not set
+CONFIG_WIRELESS=y
+CONFIG_CFG80211=m
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_NL80211=y
+CONFIG_WIRELESS_OLD_REGULATORY=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WIRELESS_EXT_SYSFS=y
+CONFIG_LIB80211=m
+CONFIG_LIB80211_CRYPT_WEP=m
+CONFIG_LIB80211_CRYPT_CCMP=m
+CONFIG_LIB80211_CRYPT_TKIP=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=m
+
+#
+# Rate control algorithm selection
+#
+CONFIG_MAC80211_RC_PID=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT_PID=y
+# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
+CONFIG_MAC80211_RC_DEFAULT="pid"
+# CONFIG_MAC80211_MESH is not set
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUG_MENU is not set
+# CONFIG_WIMAX is not set
+CONFIG_RFKILL=m
+# CONFIG_RFKILL_INPUT is not set
+CONFIG_RFKILL_LEDS=y
+# CONFIG_NET_9P is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+CONFIG_FIRMWARE_IN_KERNEL=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_CONNECTOR is not set
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_TESTS is not set
+CONFIG_MTD_REDBOOT_PARTS=y
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+# CONFIG_MTD_AFS_PARTS is not set
+# CONFIG_MTD_AR7_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=y
+CONFIG_NFTL_RW=y
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS 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
+
+#
+# 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_INTEL_VR_NOR 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_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
+# CONFIG_MTD_NAND is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# 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=m
+# 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_XIP is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_ATA_OVER_ETH=m
+CONFIG_MISC_DEVICES=y
+# CONFIG_PHANTOM is not set
+# CONFIG_SGI_IOC4 is not set
+CONFIG_TIFM_CORE=m
+# CONFIG_TIFM_7XX1 is not set
+# CONFIG_ICS932S401 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_HP_ILO is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+# CONFIG_EEPROM_AT24 is not set
+# CONFIG_EEPROM_LEGACY is not set
+CONFIG_EEPROM_93CX6=m
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# 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=y
+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=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+CONFIG_SCSI_ISCSI_ATTRS=m
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+CONFIG_SCSI_LOWLEVEL=y
+CONFIG_ISCSI_TCP=m
+# 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_AIC94XX is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_SCSI_ADVANSYS is not set
+# CONFIG_SCSI_ARCMSR is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_MEGARAID_SAS is not set
+# CONFIG_SCSI_HPTIOP is not set
+# CONFIG_LIBFC is not set
+# CONFIG_FCOE is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_MVSAS is not set
+# CONFIG_SCSI_STEX is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+# CONFIG_SCSI_QLA_FC is not set
+# CONFIG_SCSI_QLA_ISCSI 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
+# CONFIG_SCSI_SRP is not set
+# CONFIG_SCSI_DH is not set
+CONFIG_ATA=m
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_SATA_PMP=y
+# CONFIG_SATA_AHCI is not set
+# CONFIG_SATA_SIL24 is not set
+CONFIG_ATA_SFF=y
+# CONFIG_SATA_SVW is not set
+# CONFIG_ATA_PIIX is not set
+# CONFIG_SATA_MV is not set
+# CONFIG_SATA_NV is not set
+# CONFIG_PDC_ADMA is not set
+# CONFIG_SATA_QSTOR is not set
+# CONFIG_SATA_PROMISE is not set
+# CONFIG_SATA_SX4 is not set
+# CONFIG_SATA_SIL is not set
+# CONFIG_SATA_SIS is not set
+# CONFIG_SATA_ULI is not set
+CONFIG_SATA_VIA=m
+# CONFIG_SATA_VITESSE is not set
+# CONFIG_SATA_INIC162X is not set
+# CONFIG_PATA_ALI is not set
+# CONFIG_PATA_AMD is not set
+CONFIG_PATA_ARTOP=m
+# CONFIG_PATA_ATIIXP is not set
+# CONFIG_PATA_CMD640_PCI is not set
+# CONFIG_PATA_CMD64X is not set
+# CONFIG_PATA_CS5520 is not set
+# CONFIG_PATA_CS5530 is not set
+# CONFIG_PATA_CYPRESS is not set
+# CONFIG_PATA_EFAR is not set
+# CONFIG_ATA_GENERIC is not set
+# CONFIG_PATA_HPT366 is not set
+# CONFIG_PATA_HPT37X is not set
+# CONFIG_PATA_HPT3X2N is not set
+# CONFIG_PATA_HPT3X3 is not set
+# CONFIG_PATA_IT821X is not set
+# CONFIG_PATA_IT8213 is not set
+# CONFIG_PATA_JMICRON is not set
+# CONFIG_PATA_TRIFLEX is not set
+# CONFIG_PATA_MARVELL is not set
+# CONFIG_PATA_MPIIX is not set
+# CONFIG_PATA_OLDPIIX is not set
+# CONFIG_PATA_NETCELL is not set
+# CONFIG_PATA_NINJA32 is not set
+# CONFIG_PATA_NS87410 is not set
+# CONFIG_PATA_NS87415 is not set
+# CONFIG_PATA_OPTI is not set
+# CONFIG_PATA_OPTIDMA is not set
+# CONFIG_PATA_PDC_OLD is not set
+# CONFIG_PATA_RADISYS is not set
+# CONFIG_PATA_RZ1000 is not set
+# CONFIG_PATA_SC1200 is not set
+# CONFIG_PATA_SERVERWORKS is not set
+# CONFIG_PATA_PDC2027X is not set
+# CONFIG_PATA_SIL680 is not set
+# CONFIG_PATA_SIS is not set
+# CONFIG_PATA_VIA is not set
+# CONFIG_PATA_WINBOND is not set
+# CONFIG_PATA_PLATFORM is not set
+CONFIG_PATA_IXP4XX_CF=m
+# CONFIG_PATA_SCH is not set
+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_RAID456=m
+CONFIG_MD_RAID5_RESHAPE=y
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_CRYPT=m
+# CONFIG_DM_SNAPSHOT is not set
+# CONFIG_DM_MIRROR is not set
+# CONFIG_DM_ZERO is not set
+# CONFIG_DM_MULTIPATH is not set
+# CONFIG_DM_DELAY is not set
+# CONFIG_DM_UEVENT is not set
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# Enable only one of the two stacks, unless you know what you are doing
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_IEEE1394 is not set
+# CONFIG_I2O is not set
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+# CONFIG_VETH is not set
+# CONFIG_ARCNET is not set
+CONFIG_PHYLIB=y
+
+#
+# MII PHY device drivers
+#
+# CONFIG_MARVELL_PHY is not set
+# CONFIG_DAVICOM_PHY is not set
+# CONFIG_QSEMI_PHY is not set
+# CONFIG_LXT_PHY is not set
+# CONFIG_CICADA_PHY is not set
+# CONFIG_VITESSE_PHY is not set
+# CONFIG_SMSC_PHY is not set
+# CONFIG_BROADCOM_PHY is not set
+# CONFIG_ICPLUS_PHY is not set
+# CONFIG_REALTEK_PHY is not set
+# CONFIG_NATIONAL_PHY is not set
+# CONFIG_STE10XP is not set
+# CONFIG_LSI_ET1011C_PHY is not set
+# CONFIG_FIXED_PHY is not set
+# CONFIG_MDIO_BITBANG is not set
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+CONFIG_IXP4XX_ETH=y
+# CONFIG_AX88796 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_SMC91X is not set
+# CONFIG_DM9000 is not set
+# CONFIG_SMC911X is not set
+# CONFIG_SMSC911X is not set
+# CONFIG_DNET is not set
+# CONFIG_NET_TULIP is not set
+# CONFIG_HP100 is not set
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
+# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
+# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR 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_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_R6040 is not set
+# CONFIG_SIS900 is not set
+# CONFIG_EPIC100 is not set
+# CONFIG_SMSC9420 is not set
+# CONFIG_SUNDANCE is not set
+# CONFIG_TLAN is not set
+# CONFIG_VIA_RHINE is not set
+# CONFIG_SC92031 is not set
+# CONFIG_ATL2 is not set
+CONFIG_NETDEV_1000=y
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+# CONFIG_E1000E is not set
+# CONFIG_IP1000 is not set
+# CONFIG_IGB 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_VIA_VELOCITY=m
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+# CONFIG_QLA3XXX is not set
+# CONFIG_ATL1 is not set
+# CONFIG_ATL1E is not set
+# CONFIG_ATL1C is not set
+# CONFIG_JME is not set
+# CONFIG_NETDEV_10000 is not set
+# CONFIG_TR is not set
+
+#
+# Wireless LAN
+#
+# CONFIG_WLAN_PRE80211 is not set
+CONFIG_WLAN_80211=y
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+# CONFIG_LIBERTAS_DEBUG is not set
+# CONFIG_LIBERTAS_THINFIRM is not set
+# CONFIG_HERMES is not set
+# CONFIG_ATMEL is not set
+# CONFIG_PRISM54 is not set
+CONFIG_USB_ZD1201=m
+# CONFIG_USB_NET_RNDIS_WLAN is not set
+# CONFIG_RTL8180 is not set
+CONFIG_RTL8187=m
+# CONFIG_ADM8211 is not set
+# CONFIG_MAC80211_HWSIM is not set
+# CONFIG_P54_COMMON is not set
+# CONFIG_ATH5K is not set
+# CONFIG_ATH9K is not set
+CONFIG_IPW2100=m
+CONFIG_IPW2100_MONITOR=y
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+CONFIG_IPW2200_MONITOR=y
+CONFIG_IPW2200_RADIOTAP=y
+CONFIG_IPW2200_PROMISCUOUS=y
+CONFIG_IPW2200_QOS=y
+CONFIG_IPW2200_DEBUG=y
+CONFIG_LIBIPW=m
+# CONFIG_LIBIPW_DEBUG is not set
+CONFIG_IWLWIFI=m
+CONFIG_IWLCORE=m
+# CONFIG_IWLWIFI_LEDS is not set
+# CONFIG_IWLWIFI_RFKILL is not set
+# CONFIG_IWLWIFI_DEBUG is not set
+# CONFIG_IWLAGN is not set
+CONFIG_IWL3945=m
+# CONFIG_IWL3945_RFKILL is not set
+# CONFIG_IWL3945_SPECTRUM_MEASUREMENT is not set
+CONFIG_IWL3945_LEDS=y
+CONFIG_IWL3945_DEBUG=y
+# CONFIG_HOSTAP is not set
+# CONFIG_B43 is not set
+# CONFIG_B43LEGACY is not set
+CONFIG_ZD1211RW=m
+CONFIG_ZD1211RW_DEBUG=y
+CONFIG_RT2X00=m
+# CONFIG_RT2400PCI is not set
+# CONFIG_RT2500PCI is not set
+# CONFIG_RT61PCI is not set
+CONFIG_RT2500USB=m
+CONFIG_RT73USB=m
+CONFIG_RT2X00_LIB_USB=m
+CONFIG_RT2X00_LIB=m
+CONFIG_RT2X00_LIB_FIRMWARE=y
+CONFIG_RT2X00_LIB_CRYPTO=y
+CONFIG_RT2X00_LIB_RFKILL=y
+CONFIG_RT2X00_LIB_LEDS=y
+CONFIG_RT2X00_DEBUG=y
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+
+#
+# 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_DM9601=m
+# CONFIG_USB_NET_SMSC95XX is not set
+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_KC2190=y
+CONFIG_USB_NET_ZAURUS=m
+CONFIG_USB_HSO=m
+# 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=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_MPPE=m
+CONFIG_PPPOE=m
+# CONFIG_PPPOL2TP is not set
+# CONFIG_SLIP is not set
+CONFIG_SLHC=m
+# CONFIG_NET_FC is not set
+CONFIG_NETCONSOLE=m
+CONFIG_NETCONSOLE_DYNAMIC=y
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+# CONFIG_INPUT_POLLDEV is not set
+
+#
+# Userland interfaces
+#
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=y
+# 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_TABLET is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_IXP4XX_BEEPER=y
+CONFIG_INPUT_ATI_REMOTE=m
+CONFIG_INPUT_ATI_REMOTE2=m
+CONFIG_INPUT_KEYSPAN_REMOTE=m
+# CONFIG_INPUT_POWERMATE is not set
+CONFIG_INPUT_YEALINK=m
+CONFIG_INPUT_CM109=m
+CONFIG_INPUT_UINPUT=m
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+# CONFIG_VT is not set
+CONFIG_DEVKMEM=y
+CONFIG_SERIAL_NONSTANDARD=y
+# CONFIG_COMPUTONE is not set
+# CONFIG_ROCKETPORT is not set
+# CONFIG_CYCLADES is not set
+# CONFIG_DIGIEPCA is not set
+# CONFIG_MOXA_INTELLIO is not set
+# CONFIG_MOXA_SMARTIO is not set
+# CONFIG_ISI is not set
+# CONFIG_SYNCLINKMP is not set
+# CONFIG_SYNCLINK_GT is not set
+CONFIG_N_HDLC=m
+# CONFIG_RISCOM8 is not set
+# CONFIG_SPECIALIX is not set
+# CONFIG_SX is not set
+# CONFIG_RIO is not set
+# CONFIG_STALDRV is not set
+# CONFIG_NOZOMI is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_PCI=m
+CONFIG_SERIAL_8250_NR_UARTS=2
+CONFIG_SERIAL_8250_RUNTIME_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_DEVPTS_MULTIPLE_INSTANCES is not set
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_IPMI_HANDLER is not set
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_IXP4XX=y
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+CONFIG_DEVPORT=y
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_ALGOBIT=y
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+# 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_ISCH is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+CONFIG_I2C_GPIO=y
+# CONFIG_I2C_IOP3XX is not set
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_SIMTEC is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_TAOS_EVM is not set
+CONFIG_I2C_TINY_USB=m
+
+#
+# Graphics adapter I2C/DDC channel drivers
+#
+# CONFIG_I2C_VOODOO3 is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_STUB is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_DS1682 is not set
+CONFIG_SENSORS_PCF8574=m
+# CONFIG_PCF8575 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_SENSORS_TSL2550 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
+# CONFIG_SPI is not set
+CONFIG_W1=m
+
+#
+# 1-wire Bus Masters
+#
+# CONFIG_W1_MASTER_MATROX is not set
+CONFIG_W1_MASTER_DS2490=m
+CONFIG_W1_MASTER_DS2482=m
+# CONFIG_W1_MASTER_GPIO is not set
+
+#
+# 1-wire Slaves
+#
+CONFIG_W1_SLAVE_THERM=m
+CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2431=m
+CONFIG_W1_SLAVE_DS2433=m
+CONFIG_W1_SLAVE_DS2433_CRC=y
+# CONFIG_W1_SLAVE_DS2760 is not set
+# CONFIG_W1_SLAVE_BQ27000 is not set
+# CONFIG_POWER_SUPPLY is not set
+CONFIG_HWMON=m
+CONFIG_HWMON_VID=m
+# CONFIG_SENSORS_AD7414 is not set
+CONFIG_SENSORS_AD7418=m
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1029 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ADT7462 is not set
+# CONFIG_SENSORS_ADT7470 is not set
+# CONFIG_SENSORS_ADT7473 is not set
+# CONFIG_SENSORS_ADT7475 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_I5K_AMB is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_F71882FG is not set
+# CONFIG_SENSORS_F75375S 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_LM93 is not set
+# CONFIG_SENSORS_LTC4245 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_MAX6650 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_DME1737 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_ADS7828 is not set
+# CONFIG_SENSORS_THMC50 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_VT8231 is not set
+CONFIG_SENSORS_W83781D=m
+# 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_W83L786NG is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+# CONFIG_THERMAL is not set
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+CONFIG_IXP4XX_WATCHDOG=m
+# CONFIG_ALIM7101_WDT is not set
+
+#
+# PCI-based Watchdog Cards
+#
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+# CONFIG_SSB is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_PCF50633 is not set
+
+#
+# Multimedia devices
+#
+
+#
+# Multimedia core support
+#
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L2_COMMON=m
+CONFIG_VIDEO_ALLOW_V4L1=y
+CONFIG_VIDEO_V4L1_COMPAT=y
+# CONFIG_DVB_CORE is not set
+CONFIG_VIDEO_MEDIA=m
+
+#
+# Multimedia drivers
+#
+CONFIG_VIDEO_SAA7146=m
+CONFIG_VIDEO_SAA7146_VV=m
+# CONFIG_MEDIA_ATTACH is not set
+CONFIG_MEDIA_TUNER=m
+# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_TEA5761=m
+CONFIG_MEDIA_TUNER_TEA5767=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC5000=m
+CONFIG_VIDEO_V4L2=m
+CONFIG_VIDEO_V4L1=m
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF_DMA_SG=m
+CONFIG_VIDEOBUF_VMALLOC=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_IR=m
+CONFIG_VIDEO_TVEEPROM=m
+CONFIG_VIDEO_TUNER=m
+CONFIG_VIDEO_CAPTURE_DRIVERS=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
+CONFIG_VIDEO_IR_I2C=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_VIVI=m
+# CONFIG_VIDEO_BT848 is not set
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_CPIA2 is not set
+CONFIG_VIDEO_SAA5246A=m
+CONFIG_VIDEO_SAA5249=m
+# CONFIG_VIDEO_STRADIS is not set
+# CONFIG_VIDEO_ZORAN is not set
+CONFIG_VIDEO_SAA7134=m
+# CONFIG_VIDEO_SAA7134_ALSA is not set
+# CONFIG_VIDEO_MXB is not set
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_CX88=m
+CONFIG_VIDEO_CX88_ALSA=m
+# CONFIG_VIDEO_CX88_BLACKBIRD is not set
+# CONFIG_VIDEO_IVTV is not set
+# CONFIG_VIDEO_CAFE_CCIC is not set
+# CONFIG_SOC_CAMERA is not set
+CONFIG_V4L_USB_DRIVERS=y
+# CONFIG_USB_VIDEO_CLASS is not set
+# CONFIG_USB_GSPCA is not set
+# CONFIG_VIDEO_PVRUSB2 is not set
+# CONFIG_VIDEO_EM28XX is not set
+# CONFIG_VIDEO_USBVISION is not set
+# CONFIG_USB_VICAM is not set
+# CONFIG_USB_IBMCAM is not set
+# CONFIG_USB_KONICAWC is not set
+# CONFIG_USB_QUICKCAM_MESSENGER is not set
+# CONFIG_USB_ET61X251 is not set
+# CONFIG_VIDEO_OVCAMCHIP 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_ZC0301 is not set
+# CONFIG_USB_PWC is not set
+CONFIG_USB_ZR364XX=m
+# CONFIG_USB_STKWEBCAM is not set
+# CONFIG_USB_S2255 is not set
+# CONFIG_RADIO_ADAPTERS is not set
+# CONFIG_DAB is not set
+
+#
+# Graphics support
+#
+# CONFIG_DRM is not set
+# CONFIG_VGASTATE is not set
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+# CONFIG_FB is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+CONFIG_SOUND=m
+CONFIG_SOUND_OSS_CORE=y
+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_PCM_OSS_PLUGINS=y
+# CONFIG_SND_HRTIMER is not set
+# 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
+CONFIG_SND_DRIVERS=y
+# 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
+CONFIG_SND_PCI=y
+# CONFIG_SND_AD1889 is not set
+# CONFIG_SND_ALS300 is not set
+# 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_AW2 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_OXYGEN is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_DARLA20 is not set
+# CONFIG_SND_GINA20 is not set
+# CONFIG_SND_LAYLA20 is not set
+# CONFIG_SND_DARLA24 is not set
+# CONFIG_SND_GINA24 is not set
+# CONFIG_SND_LAYLA24 is not set
+# CONFIG_SND_MONA is not set
+# CONFIG_SND_MIA is not set
+# CONFIG_SND_ECHO3G is not set
+# CONFIG_SND_INDIGO is not set
+# CONFIG_SND_INDIGOIO is not set
+# CONFIG_SND_INDIGODJ is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X 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_FM801 is not set
+# CONFIG_SND_HDA_INTEL is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_HDSPM is not set
+# CONFIG_SND_HIFIER 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_KORG1212 is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_PCXHR is not set
+# CONFIG_SND_RIPTIDE is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VIRTUOSO is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_YMFPCI is not set
+CONFIG_SND_ARM=y
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_CAIAQ=m
+CONFIG_SND_USB_CAIAQ_INPUT=y
+# CONFIG_SND_SOC is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=m
+# CONFIG_HID_DEBUG is not set
+# CONFIG_HIDRAW is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+# CONFIG_HID_PID is not set
+CONFIG_USB_HIDDEV=y
+
+#
+# USB HID Boot Protocol drivers
+#
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+
+#
+# Special HID drivers
+#
+CONFIG_HID_COMPAT=y
+# CONFIG_HID_A4TECH is not set
+# CONFIG_HID_APPLE is not set
+# CONFIG_HID_BELKIN is not set
+# CONFIG_HID_CHERRY is not set
+# CONFIG_HID_CHICONY is not set
+# CONFIG_HID_CYPRESS is not set
+# CONFIG_HID_EZKEY is not set
+# CONFIG_HID_GYRATION is not set
+# CONFIG_HID_LOGITECH is not set
+# CONFIG_HID_MICROSOFT is not set
+# CONFIG_HID_MONTEREY is not set
+# CONFIG_HID_NTRIG is not set
+# CONFIG_HID_PANTHERLORD is not set
+# CONFIG_HID_PETALYNX is not set
+# CONFIG_HID_SAMSUNG is not set
+# CONFIG_HID_SONY is not set
+# CONFIG_HID_SUNPLUS is not set
+# CONFIG_GREENASIA_FF is not set
+# CONFIG_HID_TOPSEED is not set
+# CONFIG_THRUSTMASTER_FF is not set
+# CONFIG_ZEROPLUS_FF is not set
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DEVICE_CLASS is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+# CONFIG_USB_OTG_WHITELIST is not set
+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+# CONFIG_USB_MON is not set
+CONFIG_USB_WUSB=m
+CONFIG_USB_WUSB_CBAF=m
+# CONFIG_USB_WUSB_CBAF_DEBUG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_C67X00_HCD is not set
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y
+CONFIG_USB_EHCI_BIG_ENDIAN_DESC=y
+# CONFIG_USB_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_ISP1760_HCD is not set
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_UHCI_HCD=m
+# CONFIG_USB_U132_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+CONFIG_USB_WHCI_HCD=m
+CONFIG_USB_HWA_HCD=m
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+# CONFIG_USB_WDM is not set
+# CONFIG_USB_TMC is not set
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD 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=y
+# CONFIG_USB_STORAGE_ISD200 is not set
+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_ONETOUCH=y
+CONFIG_USB_STORAGE_KARMA=y
+# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+#
+# USB port drivers
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_EZUSB=y
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+# CONFIG_USB_SERIAL_CH341 is not set
+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_IUU is not set
+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_MOTOROLA is not set
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+# CONFIG_USB_SERIAL_OTI6858 is not set
+# CONFIG_USB_SERIAL_SPCP8X5 is not set
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+# CONFIG_USB_SERIAL_SIEMENS_MPI is not set
+# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
+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_OPTICON is not set
+# CONFIG_USB_SERIAL_DEBUG is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+CONFIG_USB_ADUTUX=m
+# CONFIG_USB_SEVSEG is not set
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_BERRY_CHARGE=m
+CONFIG_USB_LED=m
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_PHIDGET=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETMOTORCONTROL=m
+CONFIG_USB_PHIDGETSERVO=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_FTDI_ELAN=m
+# CONFIG_USB_APPLEDISPLAY is not set
+CONFIG_USB_SISUSBVGA=m
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+# CONFIG_USB_ISIGHTFW is not set
+# CONFIG_USB_VST is not set
+# CONFIG_USB_GADGET is not set
+
+#
+# OTG and related infrastructure
+#
+# CONFIG_USB_GPIO_VBUS is not set
+CONFIG_UWB=m
+CONFIG_UWB_HWA=m
+CONFIG_UWB_WHCI=m
+# CONFIG_UWB_WLP is not set
+# CONFIG_UWB_I1480U is not set
+# CONFIG_MMC is not set
+CONFIG_MEMSTICK=m
+# CONFIG_MEMSTICK_DEBUG is not set
+
+#
+# MemoryStick drivers
+#
+# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
+# CONFIG_MSPRO_BLOCK is not set
+
+#
+# MemoryStick Host Controller Drivers
+#
+CONFIG_MEMSTICK_TIFM_MS=m
+CONFIG_MEMSTICK_JMICRON_38X=m
+# CONFIG_ACCESSIBILITY is not set
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+CONFIG_LEDS_FSG=y
+# CONFIG_LEDS_PCA9532 is not set
+CONFIG_LEDS_GPIO=y
+# CONFIG_LEDS_PCA955X is not set
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
+# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+
+#
+# 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
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+CONFIG_RTC_DRV_DS1307=y
+# CONFIG_RTC_DRV_DS1374 is not set
+CONFIG_RTC_DRV_DS1672=y
+# CONFIG_RTC_DRV_MAX6900 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+CONFIG_RTC_DRV_ISL1208=y
+CONFIG_RTC_DRV_X1205=y
+CONFIG_RTC_DRV_PCF8563=y
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_M41T80 is not set
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+
+#
+# SPI RTC drivers
+#
+
+#
+# Platform RTC drivers
+#
+# CONFIG_RTC_DRV_CMOS is not set
+# CONFIG_RTC_DRV_DS1286 is not set
+# CONFIG_RTC_DRV_DS1511 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_STK17TA8 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_M48T35 is not set
+# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_BQ4802 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# on-CPU RTC drivers
+#
+# CONFIG_DMADEVICES is not set
+# CONFIG_REGULATOR is not set
+# CONFIG_UIO is not set
+# CONFIG_STAGING 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_EXT4_FS=m
+# CONFIG_EXT4DEV_COMPAT is not set
+CONFIG_EXT4_FS_XATTR=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+# CONFIG_EXT4_FS_SECURITY is not set
+CONFIG_JBD=m
+CONFIG_JBD2=m
+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_FILE_LOCKING=y
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+# 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=y
+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_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_CONFIGFS_FS=m
+CONFIG_MISC_FILESYSTEMS=y
+# 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_FS_WBUF_VERIFY is not set
+# 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_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_CRAMFS is not set
+CONFIG_SQUASHFS=m
+CONFIG_SQUASHFS_EMBEDDED=y
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V3=y
+# CONFIG_NFSD_V3_ACL is not set
+CONFIG_NFSD_V4=y
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+# CONFIG_SUNRPC_REGISTER_V4 is not set
+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_WEAK_PW_HASH is not set
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+# 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
+
+#
+# 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
+# CONFIG_SYSV68_PARTITION is not set
+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
+# CONFIG_DLM is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=1024
+# 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 is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_DEBUG_MEMORY_INIT is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_HAVE_FUNCTION_TRACER=y
+
+#
+# Tracers
+#
+# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_DEBUG_USER is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITYFS is not set
+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
+CONFIG_XOR_BLOCKS=m
+CONFIG_ASYNC_CORE=m
+CONFIG_ASYNC_MEMCPY=m
+CONFIG_ASYNC_XOR=m
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+# CONFIG_CRYPTO_FIPS is not set
+CONFIG_CRYPTO_ALGAPI=m
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=m
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_GF128MUL=m
+CONFIG_CRYPTO_NULL=m
+# CONFIG_CRYPTO_CRYPTD is not set
+CONFIG_CRYPTO_AUTHENC=m
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Authenticated Encryption with Associated Data
+#
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_SEQIV is not set
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=m
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_LRW=m
+CONFIG_CRYPTO_PCBC=m
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_HMAC=m
+CONFIG_CRYPTO_XCBC=m
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+# CONFIG_CRYPTO_RMD128 is not set
+# CONFIG_CRYPTO_RMD160 is not set
+# CONFIG_CRYPTO_RMD256 is not set
+# CONFIG_CRYPTO_RMD320 is not set
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_WP512=m
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_FCRYPT=m
+CONFIG_CRYPTO_KHAZAD=m
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_LZO=m
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_HW=y
+# CONFIG_CRYPTO_DEV_HIFN_795X is not set
+# CONFIG_CRYPTO_DEV_IXP4XX is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=y
+# CONFIG_CRC_T10DIF is not set
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_LZO_COMPRESS=m
+CONFIG_LZO_DECOMPRESS=m
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
diff --git a/recipes/linux/linux-ixp4xx_2.6.29.bb b/recipes/linux/linux-ixp4xx_2.6.29.bb
new file mode 100644
index 0000000000..f2c697f69f
--- /dev/null
+++ b/recipes/linux/linux-ixp4xx_2.6.29.bb
@@ -0,0 +1,43 @@
+require linux.inc
+require linux-ixp4xx.inc
+
+DEFAULT_PREFERENCE = "-1"
+
+VANILLA_VERSION = "2.6.29"
+KERNEL_RELEASE = "2.6.29"
+
+# If you use a rc, you will need to use this:
+#PV = "${VANILLA_VERSION}+${KERNEL_RELEASE}+svnr${SRCREV}"
+
+PV = "${KERNEL_RELEASE}+svnr${SRCREV}"
+PR = "r0"
+
+SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${VANILLA_VERSION}.tar.bz2 \
+ svn://svn.nslu2-linux.org/svnroot/kernel/trunk/patches;module=${VANILLA_VERSION};proto=http \
+ file://fix-install.patch;patch=1 \
+ file://defconfig-${KERNEL_RELEASE}"
+
+S = "${WORKDIR}/linux-${VANILLA_VERSION}"
+
+# Apply the patches from the nslu2-linux project (after the patches in SRC_URI)
+do_postpatch() {
+ # Move away OE patches which have been already applied.
+ [ -e patches ] && mv ${S}/patches ${S}/patches.oe
+ [ -e .pc ] && mv .pc .pc.oe
+
+ # Move the NSLU2 patches in place for quilt and apply them.
+ mv ${WORKDIR}/${VANILLA_VERSION} ${S}/patches && cd ${S} && quilt push -av
+
+ # Store the NSLU2 patches
+ mv ${S}/patches ${S}/patches.ixp4xx
+ mv .pc .pc.ixp4xx
+
+ # And move back the OE patches
+ [ -e patches.oe ] && mv ${S}/patches.oe ${S}/patches
+ [ -e .pc.oe ] && mv .pc.oe .pc
+
+ # Copy the defconfig into ${WORKDIR}
+ mv ${WORKDIR}/defconfig-${KERNEL_RELEASE} ${WORKDIR}/defconfig
+}
+
+addtask postpatch after do_patch before do_configure
diff --git a/recipes/linux/linux-nokia800_2.6.18-osso40.bb b/recipes/linux/linux-nokia800_2.6.18-osso40.bb
index 3ffa1d838a..047acc1c9c 100644
--- a/recipes/linux/linux-nokia800_2.6.18-osso40.bb
+++ b/recipes/linux/linux-nokia800_2.6.18-osso40.bb
@@ -1,6 +1,6 @@
require linux-nokia800.inc
-PR = "r4"
+PR = "r5"
SRC_URI = "http://repository.maemo.org/pool/maemo3.1/free/source/kernel-source-rx-34_2.6.18.orig.tar.gz \
http://repository.maemo.org/pool/maemo3.1/free/source/kernel-source-rx-34_2.6.18-osso40.diff.gz;patch=1 \
@@ -10,6 +10,7 @@ SRC_URI = "http://repository.maemo.org/pool/maemo3.1/free/source/kernel-source-r
${RPSRC}/lzo_jffs2_lzomode-r0.patch;patch=1 \
${RPSRC}/lzo_jffs2_sysfs-r0.patch;patch=1 \
file://fix_oprofile.patch;patch=1 \
+ file://linux-2.6-limits.patch;patch=1 \
file://defconfig"
SRC_URI_append_nokia770 = " file://nokia770_nand_fix.patch;patch=1"
diff --git a/recipes/linux/linux-nokia800_2.6.21-osso71.bb b/recipes/linux/linux-nokia800_2.6.21-osso71.bb
index 904d2021c1..1ac4cf1468 100644
--- a/recipes/linux/linux-nokia800_2.6.21-osso71.bb
+++ b/recipes/linux/linux-nokia800_2.6.21-osso71.bb
@@ -1,5 +1,5 @@
require linux-nokia800.inc
-PR = "r4"
+PR = "r5"
DEFAULT_PREFERENCE_nokia770 = "-1"
@@ -7,6 +7,7 @@ SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.21.tar.bz2 \
http://repository.maemo.org/pool/os2008/free/source/k/kernel-source-rx-34/kernel-source-rx-34_2.6.21.0-osso71.diff.gz;patch=1 \
http://www.rpsys.net/openzaurus/patches/archive/input_power-r7.patch;patch=1 \
file://suspend-button.patch;patch=1 \
+ file://linux-2.6-limits.patch;patch=1 \
file://defconfig"
S = "${WORKDIR}/linux-2.6.21"
diff --git a/recipes/linux/linux-omap-2.6.28/mmctiming.patch b/recipes/linux/linux-omap-2.6.28/mmctiming.patch
new file mode 100644
index 0000000000..ec540ab3cb
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.28/mmctiming.patch
@@ -0,0 +1,16 @@
+Index: git/drivers/mmc/core/core.c
+===================================================================
+--- git.orig/drivers/mmc/core/core.c
++++ git/drivers/mmc/core/core.c
+@@ -284,9 +284,9 @@ void mmc_set_data_timeout(struct mmc_dat
+ * The limit is really 250 ms, but that is
+ * insufficient for some crappy cards.
+ */
+- limit_us = 300000;
++ limit_us = 500000;
+ else
+- limit_us = 100000;
++ limit_us = 200000;
+
+ /*
+ * SDHC cards always use these fixed values.
diff --git a/recipes/linux/linux-omap-2.6.29/0001-board-ldp-add-regulator-info-to-get-the-microSD-slo.patch b/recipes/linux/linux-omap-2.6.29/0001-board-ldp-add-regulator-info-to-get-the-microSD-slo.patch
new file mode 100644
index 0000000000..49045f7bb1
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/0001-board-ldp-add-regulator-info-to-get-the-microSD-slo.patch
@@ -0,0 +1,90 @@
+From 7efa7cc5b807cb840c62b5bf54bf47181c9b95a6 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@openembedded.org>
+Date: Mon, 30 Mar 2009 15:21:37 +0200
+Subject: [PATCH v2] ARM: OMAP: board-ldp: add regulator info to get the microSD slot working again
+
+The ldp board was left behind when other boards got updated. The ldp info was copied from the beagleboard board file and s/beagle/ldp/g
+
+Changes since v1:
+ * dropped vsim portion since only 4 pins are hooked up
+
+Signed-off-by: Koen Kooi <koen@beagleboard.org>
+---
+ arch/arm/mach-omap2/board-ldp.c | 32 ++++++++++++++++++++++++++++++++
+ 1 files changed, 32 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c
+index 30926b0..19a5c15 100644
+--- a/arch/arm/mach-omap2/board-ldp.c
++++ b/arch/arm/mach-omap2/board-ldp.c
+@@ -22,6 +22,7 @@
+ #include <linux/clk.h>
+ #include <linux/spi/spi.h>
+ #include <linux/spi/ads7846.h>
++#include <linux/regulator/machine.h>
+ #include <linux/i2c/twl4030.h>
+
+ #include <mach/hardware.h>
+@@ -450,7 +451,16 @@ static struct twl4030_script *twl4030_scripts[] __initdata = {
+ &wrst_script,
+ };
+
++static const struct twl4030_resconfig ldp_resconfig[] = {
++ /* disable regulators that u-boot left enabled; the
++ * devices' drivers should be managing these.
++ */
++ { .resource = RES_VMMC1, },
++ { 0, },
++};
++
+ static struct twl4030_power_data sdp3430_t2scripts_data __initdata = {
++ .resource_config = ldp_resconfig,
+ .scripts = twl4030_scripts,
+ .size = ARRAY_SIZE(twl4030_scripts),
+ };
+@@ -474,6 +484,25 @@ static struct twl4030_madc_platform_data ldp_madc_data = {
+ .irq_line = 1,
+ };
+
++static struct regulator_consumer_supply ldp_vmmc1_supply = {
++ .supply = "vmmc",
++};
++
++/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
++static struct regulator_init_data ldp_vmmc1 = {
++ .constraints = {
++ .min_uV = 1850000,
++ .max_uV = 3150000,
++ .valid_modes_mask = REGULATOR_MODE_NORMAL
++ | REGULATOR_MODE_STANDBY,
++ .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
++ | REGULATOR_CHANGE_MODE
++ | REGULATOR_CHANGE_STATUS,
++ },
++ .num_consumer_supplies = 1,
++ .consumer_supplies = &ldp_vmmc1_supply,
++};
++
+ static struct twl4030_platform_data ldp_twldata = {
+ .irq_base = TWL4030_IRQ_BASE,
+ .irq_end = TWL4030_IRQ_END,
+@@ -483,6 +512,7 @@ static struct twl4030_platform_data ldp_twldata = {
+ .madc = &ldp_madc_data,
+ .usb = &ldp_usb_data,
+ .power = &sdp3430_t2scripts_data,
++ .vmmc1 = &ldp_vmmc1,
+ .gpio = &ldp_gpio_data,
+ .keypad = &ldp_kp_twl4030_data,
+ };
+@@ -530,6 +560,8 @@ static void __init omap_ldp_init(void)
+ omap_serial_init();
+ usb_musb_init();
+ twl4030_mmc_init(mmc);
++ /* link regulators to MMC adapters */
++ ldp_vmmc1_supply.dev = mmc[0].dev;
+ }
+
+ static void __init omap_ldp_map_io(void)
+--
+1.6.2
+
diff --git a/recipes/linux/linux-omap-2.6.29/beagleboard/defconfig b/recipes/linux/linux-omap-2.6.29/beagleboard/defconfig
index f6c503c0b6..a86cd5bed8 100644
--- a/recipes/linux/linux-omap-2.6.29/beagleboard/defconfig
+++ b/recipes/linux/linux-omap-2.6.29/beagleboard/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.29-omap1
-# Tue Mar 24 13:33:16 2009
+# Thu Apr 2 20:45:56 2009
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -77,7 +77,7 @@ CONFIG_EMBEDDED=y
CONFIG_UID16=y
# CONFIG_SYSCTL_SYSCALL is not set
CONFIG_KALLSYMS=y
-CONFIG_KALLSYMS_ALL=y
+# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
@@ -492,7 +492,8 @@ CONFIG_MAC80211_RC_DEFAULT="pid"
CONFIG_MAC80211_LEDS=y
# CONFIG_MAC80211_DEBUGFS is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
-# CONFIG_WIMAX is not set
+CONFIG_WIMAX=m
+CONFIG_WIMAX_DEBUG_LEVEL=8
# CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set
@@ -733,7 +734,9 @@ CONFIG_P54_USB=y
CONFIG_HOSTAP=y
CONFIG_HOSTAP_FIRMWARE=y
CONFIG_HOSTAP_FIRMWARE_NVRAM=y
-# CONFIG_B43 is not set
+CONFIG_B43=y
+CONFIG_B43_LEDS=y
+# CONFIG_B43_DEBUG is not set
# CONFIG_B43LEGACY is not set
CONFIG_ZD1211RW=y
# CONFIG_ZD1211RW_DEBUG is not set
@@ -748,27 +751,29 @@ CONFIG_RT2X00_LIB_LEDS=y
# CONFIG_RT2X00_DEBUG is not set
#
-# Enable WiMAX (Networking options) to see the WiMAX drivers
+# WiMAX Wireless Broadband devices
#
+# CONFIG_WIMAX_I2400M_USB is not set
+# CONFIG_WIMAX_I2400M_SDIO is not set
#
# USB Network Adapters
#
-CONFIG_USB_CATC=m
-CONFIG_USB_KAWETH=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
+CONFIG_USB_CATC=y
+CONFIG_USB_KAWETH=y
+CONFIG_USB_PEGASUS=y
+CONFIG_USB_RTL8150=y
CONFIG_USB_USBNET=y
CONFIG_USB_NET_AX8817X=y
CONFIG_USB_NET_CDCETHER=y
-CONFIG_USB_NET_DM9601=m
-# CONFIG_USB_NET_SMSC95XX is not set
-CONFIG_USB_NET_GL620A=m
-CONFIG_USB_NET_NET1080=m
-CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_DM9601=y
+CONFIG_USB_NET_SMSC95XX=y
+CONFIG_USB_NET_GL620A=y
+CONFIG_USB_NET_NET1080=y
+CONFIG_USB_NET_PLUSB=y
CONFIG_USB_NET_MCS7830=m
CONFIG_USB_NET_RNDIS_HOST=y
-CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_NET_CDC_SUBSET=y
CONFIG_USB_ALI_M5632=y
CONFIG_USB_AN2720=y
CONFIG_USB_BELKIN=y
@@ -798,7 +803,7 @@ CONFIG_SLHC=m
# Input device support
#
CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
+CONFIG_INPUT_FF_MEMLESS=y
# CONFIG_INPUT_POLLDEV is not set
#
@@ -841,7 +846,15 @@ CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
-# CONFIG_INPUT_MISC is not set
+CONFIG_INPUT_MISC=y
+# CONFIG_INPUT_ATI_REMOTE is not set
+# CONFIG_INPUT_ATI_REMOTE2 is not set
+# CONFIG_INPUT_KEYSPAN_REMOTE is not set
+# CONFIG_INPUT_POWERMATE is not set
+# CONFIG_INPUT_YEALINK is not set
+# CONFIG_INPUT_CM109 is not set
+CONFIG_INPUT_TWL4030_PWRBUTTON=y
+CONFIG_INPUT_UINPUT=y
#
# Hardware I/O ports
@@ -1066,7 +1079,9 @@ CONFIG_SSB_POSSIBLE=y
#
# Sonics Silicon Backplane
#
-# CONFIG_SSB is not set
+CONFIG_SSB=y
+# CONFIG_SSB_SILENT is not set
+# CONFIG_SSB_DEBUG is not set
#
# Multifunction device drivers
@@ -1148,13 +1163,13 @@ CONFIG_USB_VIDEO_CLASS=m
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
CONFIG_USB_GSPCA=m
CONFIG_USB_M5602=m
-# CONFIG_USB_STV06XX is not set
+CONFIG_USB_STV06XX=m
CONFIG_USB_GSPCA_CONEX=m
CONFIG_USB_GSPCA_ETOMS=m
CONFIG_USB_GSPCA_FINEPIX=m
CONFIG_USB_GSPCA_MARS=m
CONFIG_USB_GSPCA_OV519=m
-# CONFIG_USB_GSPCA_OV534 is not set
+CONFIG_USB_GSPCA_OV534=m
CONFIG_USB_GSPCA_PAC207=m
CONFIG_USB_GSPCA_PAC7311=m
CONFIG_USB_GSPCA_SONIXB=m
@@ -1269,10 +1284,10 @@ CONFIG_DVB_STB6000=m
CONFIG_DVB_STV0299=m
CONFIG_DVB_TDA8083=m
CONFIG_DVB_TDA10086=m
-# CONFIG_DVB_TDA8261 is not set
+CONFIG_DVB_TDA8261=m
CONFIG_DVB_VES1X93=m
CONFIG_DVB_TUNER_ITD1000=m
-# CONFIG_DVB_TUNER_CX24113 is not set
+CONFIG_DVB_TUNER_CX24113=m
CONFIG_DVB_TDA826X=m
CONFIG_DVB_TUA6100=m
CONFIG_DVB_CX24116=m
@@ -1313,7 +1328,7 @@ CONFIG_DVB_NXT200X=m
# CONFIG_DVB_OR51132 is not set
CONFIG_DVB_BCM3510=m
CONFIG_DVB_LGDT330X=m
-# CONFIG_DVB_LGDT3304 is not set
+CONFIG_DVB_LGDT3304=m
CONFIG_DVB_S5H1409=m
CONFIG_DVB_AU8522=m
CONFIG_DVB_S5H1411=m
@@ -1321,7 +1336,7 @@ CONFIG_DVB_S5H1411=m
#
# ISDB-T (terrestrial) frontends
#
-# CONFIG_DVB_S921 is not set
+CONFIG_DVB_S921=m
#
# Digital terrestrial only tuners/PLL
@@ -1377,7 +1392,7 @@ CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_MB862XX is not set
# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
CONFIG_OMAP2_DSS=y
-CONFIG_OMAP2_DSS_VRAM_SIZE=14
+CONFIG_OMAP2_DSS_VRAM_SIZE=4
CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y
# CONFIG_OMAP2_DSS_RFBI is not set
CONFIG_OMAP2_DSS_VENC=y
@@ -1391,7 +1406,7 @@ CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=1
# OMAP2/3 Display Device Drivers
#
CONFIG_PANEL_GENERIC=y
-# CONFIG_PANEL_SAMSUNG_LTE430WQ_F0C is not set
+CONFIG_PANEL_SAMSUNG_LTE430WQ_F0C=m
# CONFIG_PANEL_SHARP_LS037V7DW01 is not set
# CONFIG_PANEL_N800 is not set
# CONFIG_CTRL_BLIZZARD is not set
@@ -1439,7 +1454,8 @@ CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQUENCER_OSS=y
-# CONFIG_SND_HRTIMER is not set
+CONFIG_SND_HRTIMER=m
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
# CONFIG_SND_DYNAMIC_MINORS is not set
CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_VERBOSE_PROCFS=y
@@ -1491,15 +1507,15 @@ CONFIG_HID_LOGITECH=y
# CONFIG_LOGIRUMBLEPAD2_FF is not set
CONFIG_HID_MICROSOFT=y
CONFIG_HID_MONTEREY=y
-# CONFIG_HID_NTRIG is not set
+CONFIG_HID_NTRIG=y
CONFIG_HID_PANTHERLORD=y
# CONFIG_PANTHERLORD_FF is not set
CONFIG_HID_PETALYNX=y
CONFIG_HID_SAMSUNG=y
CONFIG_HID_SONY=y
CONFIG_HID_SUNPLUS=y
-# CONFIG_GREENASIA_FF is not set
-# CONFIG_HID_TOPSEED is not set
+CONFIG_GREENASIA_FF=y
+CONFIG_HID_TOPSEED=y
# CONFIG_THRUSTMASTER_FF is not set
# CONFIG_ZEROPLUS_FF is not set
CONFIG_USB_SUPPORT=y
@@ -1533,7 +1549,7 @@ CONFIG_OMAP_EHCI_PHY_MODE=y
# CONFIG_OMAP_EHCI_TLL_MODE is not set
CONFIG_USB_EHCI_ROOT_HUB_TT=y
# CONFIG_USB_EHCI_TT_NEWSCHED is not set
-# CONFIG_USB_OXU210HP_HCD is not set
+CONFIG_USB_OXU210HP_HCD=y
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_OHCI_HCD is not set
# CONFIG_USB_SL811_HCD is not set
@@ -1643,14 +1659,14 @@ CONFIG_USB_SERIAL_SPCP8X5=m
CONFIG_USB_SERIAL_HP4X=m
CONFIG_USB_SERIAL_SAFE=m
# CONFIG_USB_SERIAL_SAFE_PADDED is not set
-# CONFIG_USB_SERIAL_SIEMENS_MPI is not set
+CONFIG_USB_SERIAL_SIEMENS_MPI=m
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_OPTICON is not set
+CONFIG_USB_SERIAL_OPTICON=m
CONFIG_USB_SERIAL_DEBUG=m
#
@@ -1702,14 +1718,13 @@ CONFIG_USB_GADGET_SELECTED=y
# CONFIG_USB_GADGET_DUMMY_HCD is not set
CONFIG_USB_GADGET_DUALSPEED=y
# CONFIG_USB_ZERO is not set
-CONFIG_USB_ETH=y
-CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_ETH is not set
# 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
# CONFIG_USB_G_PRINTER is not set
-# CONFIG_USB_CDC_COMPOSITE is not set
+CONFIG_USB_CDC_COMPOSITE=y
#
# OTG and related infrastructure
@@ -1943,7 +1958,9 @@ CONFIG_UBIFS_FS_LZO=y
CONFIG_UBIFS_FS_ZLIB=y
# CONFIG_UBIFS_FS_DEBUG is not set
# CONFIG_CRAMFS is not set
-# CONFIG_SQUASHFS is not set
+CONFIG_SQUASHFS=y
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set
@@ -2040,7 +2057,7 @@ CONFIG_NLS_ISO8859_1=y
#
# Kernel hacking
#
-# CONFIG_PRINTK_TIME is not set
+CONFIG_PRINTK_TIME=y
CONFIG_ENABLE_WARN_DEPRECATED=y
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=1024
@@ -2084,7 +2101,7 @@ CONFIG_FRAME_POINTER=y
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_FAULT_INJECTION is not set
-CONFIG_LATENCYTOP=y
+# CONFIG_LATENCYTOP is not set
CONFIG_NOP_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_RING_BUFFER=y
diff --git a/recipes/linux/linux-omap-2.6.29/ehci.patch b/recipes/linux/linux-omap-2.6.29/ehci.patch
new file mode 100644
index 0000000000..5a8c84471b
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/ehci.patch
@@ -0,0 +1,131 @@
+Index: git/arch/arm/mach-omap2/board-omap3beagle.c
+===================================================================
+--- git.orig/arch/arm/mach-omap2/board-omap3beagle.c
++++ git/arch/arm/mach-omap2/board-omap3beagle.c
+@@ -154,6 +154,7 @@ static int beagle_twl_gpio_setup(struct
+ * power switch and overcurrent detect
+ */
+
++#if 0 /* TODO: This needs to be modified to not rely on u-boot */
+ gpio_request(gpio + 1, "EHCI_nOC");
+ gpio_direction_input(gpio + 1);
+
+@@ -163,7 +164,7 @@ static int beagle_twl_gpio_setup(struct
+
+ /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
+ gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
+-
++#endif
+ return 0;
+ }
+
+Index: git/arch/arm/mach-omap2/usb-ehci.c
+===================================================================
+--- git.orig/arch/arm/mach-omap2/usb-ehci.c
++++ git/arch/arm/mach-omap2/usb-ehci.c
+@@ -147,9 +147,11 @@ static void setup_ehci_io_mux(void)
+
+ void __init usb_ehci_init(void)
+ {
++#if 0 /* TODO: Setup Pin IO MUX for EHCI - moved this temporarily to U-boot */
+ /* Setup Pin IO MUX for EHCI */
+ if (cpu_is_omap34xx())
+ setup_ehci_io_mux();
++#endif
+
+ if (platform_device_register(&ehci_device) < 0) {
+ printk(KERN_ERR "Unable to register HS-USB (EHCI) device\n");
+Index: git/drivers/usb/host/ehci-omap.c
+===================================================================
+--- git.orig/drivers/usb/host/ehci-omap.c
++++ git/drivers/usb/host/ehci-omap.c
+@@ -48,16 +48,25 @@
+ * to get the PHY state machine in working state
+ */
+ #define EXTERNAL_PHY_RESET
++#ifdef CONFIG_MACH_OMAP3_BEAGLE
++#define EXT_PHY_RESET_GPIO_PORT2 (147)
++#else
+ #define EXT_PHY_RESET_GPIO_PORT1 (57)
+ #define EXT_PHY_RESET_GPIO_PORT2 (61)
++#endif
+ #define EXT_PHY_RESET_DELAY (10)
+
++#define PHY_STP_PULLUP_ENABLE (0x10)
++#define PHY_STP_PULLUP_DISABLE (0x90)
++
+ /* ISSUE2:
+ * USBHOST supports External charge pump PHYs only
+ * Use the VBUS from Port1 to power VBUS of Port2 externally
+ * So use Port2 as the working ULPI port
+ */
++#ifndef CONFIG_MACH_OMAP3_BEAGLE
+ #define VBUS_INTERNAL_CHARGEPUMP_HACK
++#endif
+
+ #endif /* CONFIG_OMAP_EHCI_PHY_MODE */
+
+@@ -225,14 +234,43 @@ static int omap_start_ehc(struct platfor
+
+ #ifdef EXTERNAL_PHY_RESET
+ /* Refer: ISSUE1 */
++#ifndef CONFIG_MACH_OMAP3_BEAGLE
+ gpio_request(EXT_PHY_RESET_GPIO_PORT1, "USB1 PHY reset");
+ gpio_direction_output(EXT_PHY_RESET_GPIO_PORT1, 0);
++#endif
+ gpio_request(EXT_PHY_RESET_GPIO_PORT2, "USB2 PHY reset");
+ gpio_direction_output(EXT_PHY_RESET_GPIO_PORT2, 0);
++ gpio_set_value(EXT_PHY_RESET_GPIO_PORT2, 0);
+ /* Hold the PHY in RESET for enough time till DIR is high */
+ udelay(EXT_PHY_RESET_DELAY);
+ #endif
+
++ /*
++ * The PHY register 0x7 - Interface Control register is
++ * configured to disable the integrated STP pull-up resistor
++ * used for interface protection.
++ *
++ * May not need to be here.
++ */
++ omap_writel((0x7 << EHCI_INSNREG05_ULPI_REGADD_SHIFT) |/* interface reg */
++ (2 << EHCI_INSNREG05_ULPI_OPSEL_SHIFT) |/* Write */
++ (1 << EHCI_INSNREG05_ULPI_PORTSEL_SHIFT) |/* Port1 */
++ (1 << EHCI_INSNREG05_ULPI_CONTROL_SHIFT) |/* Start */
++ (PHY_STP_PULLUP_DISABLE),
++ EHCI_INSNREG05_ULPI);
++
++ while (!(omap_readl(EHCI_INSNREG05_ULPI) & (1<<EHCI_INSNREG05_ULPI_CONTROL_SHIFT)));
++
++ /* Force PHY to HS */
++ omap_writel((0x4 << EHCI_INSNREG05_ULPI_REGADD_SHIFT) |/* function ctrl */
++ (2 << EHCI_INSNREG05_ULPI_OPSEL_SHIFT) |/* Write */
++ (1 << EHCI_INSNREG05_ULPI_PORTSEL_SHIFT) |/* Port1 */
++ (1 << EHCI_INSNREG05_ULPI_CONTROL_SHIFT) |/* Start */
++ (0x40),
++ EHCI_INSNREG05_ULPI);
++
++ while (!(omap_readl(EHCI_INSNREG05_ULPI) & (1<<EHCI_INSNREG05_ULPI_CONTROL_SHIFT)));
++
+ /* Configure TLL for 60Mhz clk for ULPI */
+ ehci_clocks->usbtll_fck_clk = clk_get(&dev->dev, USBHOST_TLL_FCLK);
+ if (IS_ERR(ehci_clocks->usbtll_fck_clk))
+@@ -307,7 +345,9 @@ static int omap_start_ehc(struct platfor
+ * Hold the PHY in RESET for enough time till PHY is settled and ready
+ */
+ udelay(EXT_PHY_RESET_DELAY);
++#ifndef CONFIG_MACH_OMAP3_BEAGLE
+ gpio_set_value(EXT_PHY_RESET_GPIO_PORT1, 1);
++#endif
+ gpio_set_value(EXT_PHY_RESET_GPIO_PORT2, 1);
+ #endif
+
+@@ -393,7 +433,9 @@ static void omap_stop_ehc(struct platfor
+
+
+ #ifdef EXTERNAL_PHY_RESET
++#ifndef CONFIG_MACH_OMAP3_BEAGLE
+ gpio_free(EXT_PHY_RESET_GPIO_PORT1);
++#endif
+ gpio_free(EXT_PHY_RESET_GPIO_PORT2);
+ #endif
+
diff --git a/recipes/linux/linux-omap-2.6.29/fix-unaligned-access.diff b/recipes/linux/linux-omap-2.6.29/fix-unaligned-access.diff
new file mode 100644
index 0000000000..c82090f54a
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/fix-unaligned-access.diff
@@ -0,0 +1,41 @@
+From: Mans Rullgard <mans@mansr.com>
+Date: Sat, 28 Mar 2009 12:54:25 +0000 (+0000)
+Subject: NSM: Fix unaligned accesses in nsm_init_private()
+X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=8f2bd6fdde1ebfef57f65b6cf29b29008c23d297
+
+NSM: Fix unaligned accesses in nsm_init_private()
+
+This fixes unaligned accesses in nsm_init_private() when
+creating nlm_reboot keys.
+
+Signed-off-by: Mans Rullgard <mans@mansr.com>
+---
+
+diff --git a/fs/lockd/mon.c b/fs/lockd/mon.c
+index 5e2c4d5..6d5d4a4 100644
+--- a/fs/lockd/mon.c
++++ b/fs/lockd/mon.c
+@@ -16,6 +16,8 @@
+ #include <linux/sunrpc/svc.h>
+ #include <linux/lockd/lockd.h>
+
++#include <asm/unaligned.h>
++
+ #define NLMDBG_FACILITY NLMDBG_MONITOR
+ #define NSM_PROGRAM 100024
+ #define NSM_VERSION 1
+@@ -274,10 +276,12 @@ static void nsm_init_private(struct nsm_handle *nsm)
+ {
+ u64 *p = (u64 *)&nsm->sm_priv.data;
+ struct timespec ts;
++ s64 ns;
+
+ ktime_get_ts(&ts);
+- *p++ = timespec_to_ns(&ts);
+- *p = (unsigned long)nsm;
++ ns = timespec_to_ns(&ts);
++ put_unaligned(ns, p);
++ put_unaligned((unsigned long)nsm, p + 1);
+ }
+
+ static struct nsm_handle *nsm_create_handle(const struct sockaddr *sap,
diff --git a/recipes/linux/linux-omap-2.6.29/make-alignment-visible.diff b/recipes/linux/linux-omap-2.6.29/make-alignment-visible.diff
new file mode 100644
index 0000000000..9b3958f82a
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/make-alignment-visible.diff
@@ -0,0 +1,26 @@
+From: Mans Rullgard <mans@mansr.com>
+Date: Mon, 13 Oct 2008 19:32:16 +0000 (+0100)
+Subject: ARM: Add prompt for CONFIG_ALIGNMENT_TRAP
+X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=60d60f0ca47fcf4fbb649e45aa64f5a0a4c2f2c8
+
+ARM: Add prompt for CONFIG_ALIGNMENT_TRAP
+
+This adds a prompt text for CONFIG_ALIGNMENT_TRAP, thus making it
+visible in make *config.
+
+Signed-off-by: Mans Rullgard <mans@mansr.com>
+---
+
+diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
+index 61314f6..18d3119 100644
+--- a/arch/arm/Kconfig
++++ b/arch/arm/Kconfig
+@@ -971,7 +971,7 @@ config LEDS_CPU
+ will overrule the CPU usage LED.
+
+ config ALIGNMENT_TRAP
+- bool
++ bool "Enable alignment trap"
+ depends on CPU_CP15_MMU
+ default y if !ARCH_EBSA110
+ help
diff --git a/recipes/linux/linux-omap-2.6.29/mmctiming.patch b/recipes/linux/linux-omap-2.6.29/mmctiming.patch
new file mode 100644
index 0000000000..ec540ab3cb
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/mmctiming.patch
@@ -0,0 +1,16 @@
+Index: git/drivers/mmc/core/core.c
+===================================================================
+--- git.orig/drivers/mmc/core/core.c
++++ git/drivers/mmc/core/core.c
+@@ -284,9 +284,9 @@ void mmc_set_data_timeout(struct mmc_dat
+ * The limit is really 250 ms, but that is
+ * insufficient for some crappy cards.
+ */
+- limit_us = 300000;
++ limit_us = 500000;
+ else
+- limit_us = 100000;
++ limit_us = 200000;
+
+ /*
+ * SDHC cards always use these fixed values.
diff --git a/recipes/linux/linux-omap-2.6.29/omap3-pandora/defconfig b/recipes/linux/linux-omap-2.6.29/omap3-pandora/defconfig
index 5db83f08da..8ac420cc31 100644
--- a/recipes/linux/linux-omap-2.6.29/omap3-pandora/defconfig
+++ b/recipes/linux/linux-omap-2.6.29/omap3-pandora/defconfig
@@ -298,7 +298,7 @@ CONFIG_ZONE_DMA_FLAG=0
CONFIG_VIRT_TO_BUS=y
CONFIG_UNEVICTABLE_LRU=y
CONFIG_LEDS=y
-CONFIG_ALIGNMENT_TRAP=y
+CONFIG_ALIGNMENT_TRAP=n
#
# Boot options
diff --git a/recipes/linux/linux-omap-2.6.29/omap3evm/defconfig b/recipes/linux/linux-omap-2.6.29/omap3evm/defconfig
index da5a8c4b90..da726718c4 100644
--- a/recipes/linux/linux-omap-2.6.29/omap3evm/defconfig
+++ b/recipes/linux/linux-omap-2.6.29/omap3evm/defconfig
@@ -298,7 +298,7 @@ CONFIG_ZONE_DMA_FLAG=0
CONFIG_VIRT_TO_BUS=y
CONFIG_UNEVICTABLE_LRU=y
CONFIG_LEDS=y
-CONFIG_ALIGNMENT_TRAP=y
+CONFIG_ALIGNMENT_TRAP=n
#
# Boot options
diff --git a/recipes/linux/linux-omap-2.6.29/omapzoom/defconfig b/recipes/linux/linux-omap-2.6.29/omapzoom/defconfig
new file mode 100644
index 0000000000..aa11eb04fc
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/omapzoom/defconfig
@@ -0,0 +1,1951 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.29-omap1
+# Mon Mar 30 15:25:29 2009
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_MMU=y
+# CONFIG_NO_IOPORT is not set
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=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_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_OPROFILE_ARMV7=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+CONFIG_BSD_PROCESS_ACCT=y
+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+# CONFIG_AUDIT is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_CLASSIC_RCU=y
+# CONFIG_TREE_RCU is not set
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_PREEMPT_RCU_TRACE is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_GROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+# CONFIG_RT_GROUP_SCHED is not set
+CONFIG_USER_SCHED=y
+# CONFIG_CGROUP_SCHED is not set
+# CONFIG_CGROUPS is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_RELAY=y
+# CONFIG_NAMESPACES is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_EMBEDDED=y
+CONFIG_UID16=y
+# CONFIG_SYSCTL_SYSCALL is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+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_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_COMPAT_BRK=y
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+CONFIG_PROFILING=y
+CONFIG_TRACEPOINTS=y
+# CONFIG_MARKERS is not set
+CONFIG_OPROFILE=y
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+CONFIG_BLOCK=y
+CONFIG_LBD=y
+CONFIG_BLK_DEV_IO_TRACE=y
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+# CONFIG_FREEZER is not set
+
+#
+# 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_CLPS711X 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_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_KIRKWOOD is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_LOKI is not set
+# CONFIG_ARCH_MV78XX0 is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_ORION5X 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_S3C64XX is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_DAVINCI is not set
+CONFIG_ARCH_OMAP=y
+# CONFIG_ARCH_MSM is not set
+# CONFIG_ARCH_W90X900 is not set
+
+#
+# TI OMAP Implementations
+#
+CONFIG_ARCH_OMAP_OTG=y
+# CONFIG_ARCH_OMAP1 is not set
+# CONFIG_ARCH_OMAP2 is not set
+CONFIG_ARCH_OMAP3=y
+
+#
+# OMAP Feature Selections
+#
+# CONFIG_OMAP_DEBUG_POWERDOMAIN is not set
+# CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set
+CONFIG_OMAP_SMARTREFLEX=y
+# CONFIG_OMAP_SMARTREFLEX_TESTING is not set
+CONFIG_OMAP_RESET_CLOCKS=y
+CONFIG_OMAP_BOOT_TAG=y
+CONFIG_OMAP_BOOT_REASON=y
+# CONFIG_OMAP_COMPONENT_VERSION is not set
+# CONFIG_OMAP_GPIO_SWITCH is not set
+CONFIG_OMAP_MUX=y
+CONFIG_OMAP_MUX_DEBUG=y
+CONFIG_OMAP_MUX_WARNINGS=y
+CONFIG_OMAP_MCBSP=y
+# CONFIG_OMAP_MBOX_FWK is not set
+# CONFIG_OMAP_MPU_TIMER is not set
+CONFIG_OMAP_32K_TIMER=y
+CONFIG_OMAP_32K_TIMER_HZ=128
+CONFIG_OMAP_TICK_GPTIMER=1
+CONFIG_OMAP_DM_TIMER=y
+# CONFIG_OMAP_LL_DEBUG_UART1 is not set
+# CONFIG_OMAP_LL_DEBUG_UART2 is not set
+CONFIG_OMAP_LL_DEBUG_UART3=y
+CONFIG_OMAP_SERIAL_WAKE=y
+CONFIG_ARCH_OMAP34XX=y
+CONFIG_ARCH_OMAP3430=y
+
+#
+# OMAP Board Type
+#
+# CONFIG_MACH_NOKIA_RX51 is not set
+CONFIG_MACH_OMAP_LDP=y
+# CONFIG_MACH_OMAP_3430SDP is not set
+# CONFIG_MACH_OMAP3EVM is not set
+# CONFIG_MACH_OMAP3_BEAGLE is not set
+# CONFIG_MACH_OVERO is not set
+# CONFIG_MACH_OMAP3_PANDORA is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_32v6K=y
+CONFIG_CPU_V7=y
+CONFIG_CPU_32v7=y
+CONFIG_CPU_ABRT_EV7=y
+CONFIG_CPU_PABRT_IFAR=y
+CONFIG_CPU_CACHE_V7=y
+CONFIG_CPU_CACHE_VIPT=y
+CONFIG_CPU_COPY_V6=y
+CONFIG_CPU_TLB_V7=y
+CONFIG_CPU_HAS_ASID=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+CONFIG_ARM_THUMBEE=y
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_BPREDICT_DISABLE is not set
+CONFIG_HAS_TLS_REG=y
+# CONFIG_OUTER_CACHE is not set
+
+#
+# Bus support
+#
+# CONFIG_PCI_SYSCALL is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_VMSPLIT_3G=y
+# CONFIG_VMSPLIT_2G is not set
+# CONFIG_VMSPLIT_1G is not set
+CONFIG_PAGE_OFFSET=0xC0000000
+# CONFIG_PREEMPT is not set
+CONFIG_HZ=128
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ARCH_FLATMEM_HAS_HOLES=y
+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
+# CONFIG_ARCH_SELECT_MEMORY_MODEL 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_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=0
+CONFIG_VIRT_TO_BUS=y
+CONFIG_UNEVICTABLE_LRU=y
+# CONFIG_LEDS is not set
+CONFIG_ALIGNMENT_TRAP=n
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE=" debug "
+# CONFIG_XIP_KERNEL is not set
+CONFIG_KEXEC=y
+CONFIG_ATAGS_PROC=y
+
+#
+# CPU Power Management
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=y
+# CONFIG_CPU_FREQ_DEBUG is not set
+CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_VFP=y
+CONFIG_VFPv3=y
+CONFIG_NEON=y
+# CONFIG_ARM_ERRATUM_451034 is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_HAVE_AOUT=y
+# CONFIG_BINFMT_AOUT is not set
+CONFIG_BINFMT_MISC=y
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+# CONFIG_SUSPEND is not set
+# CONFIG_APM_EMULATION is not set
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_COMPAT_NET_DEV_OPS=y
+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_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_NET_KEY=y
+# CONFIG_NET_KEY_MIGRATE 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=y
+CONFIG_NET_IPIP=m
+# 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=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=y
+CONFIG_INET_XFRM_MODE_TUNNEL=y
+CONFIG_INET_XFRM_MODE_BEET=y
+# CONFIG_INET_LRO is not set
+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=m
+# CONFIG_IPV6_PRIVACY is not set
+# CONFIG_IPV6_ROUTER_PREF is not set
+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+# CONFIG_INET6_AH is not set
+# CONFIG_INET6_ESP is not set
+# CONFIG_INET6_IPCOMP is not set
+# CONFIG_IPV6_MIP6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+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_NDISC_NODETYPE=y
+# CONFIG_IPV6_TUNNEL is not set
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_IPV6_MROUTE is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+CONFIG_STP=m
+CONFIG_BRIDGE=m
+# CONFIG_NET_DSA is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+# 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
+# CONFIG_NET_SCHED is not set
+# CONFIG_DCB is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_IRDA is not set
+CONFIG_BT=y
+CONFIG_BT_L2CAP=y
+CONFIG_BT_SCO=y
+CONFIG_BT_RFCOMM=y
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=y
+CONFIG_BT_BNEP_MC_FILTER=y
+# CONFIG_BT_BNEP_PROTO_FILTER is not set
+CONFIG_BT_HIDP=y
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIBTUSB=y
+CONFIG_BT_HCIBTSDIO=y
+CONFIG_BT_HCIUART=y
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_LL=y
+# CONFIG_BT_HCIBCM203X is not set
+# CONFIG_BT_HCIBPA10X is not set
+# CONFIG_BT_HCIBFUSB is not set
+# CONFIG_BT_HCIBRF6150 is not set
+# CONFIG_BT_HCIH4P is not set
+# CONFIG_BT_HCIVHCI is not set
+# CONFIG_AF_RXRPC is not set
+# CONFIG_PHONET is not set
+CONFIG_WIRELESS=y
+CONFIG_CFG80211=y
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_NL80211=y
+CONFIG_WIRELESS_OLD_REGULATORY=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WIRELESS_EXT_SYSFS=y
+CONFIG_LIB80211=y
+CONFIG_LIB80211_CRYPT_WEP=y
+CONFIG_LIB80211_CRYPT_CCMP=y
+CONFIG_LIB80211_CRYPT_TKIP=y
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=y
+
+#
+# Rate control algorithm selection
+#
+CONFIG_MAC80211_RC_PID=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT_PID=y
+# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
+CONFIG_MAC80211_RC_DEFAULT="pid"
+# CONFIG_MAC80211_MESH is not set
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+CONFIG_FIRMWARE_IN_KERNEL=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_CONNECTOR is not set
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_TESTS is not set
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+# CONFIG_MTD_AR7_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
+# CONFIG_MTD_OOPS 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
+
+#
+# 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_OMAP_NOR=y
+# 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
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+CONFIG_MTD_NAND_ECC_SMC=y
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+# CONFIG_MTD_NAND_GPIO is not set
+CONFIG_MTD_NAND_OMAP2=y
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+# CONFIG_MTD_NAND_PLATFORM is not set
+# CONFIG_MTD_ALAUDA is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=16384
+# CONFIG_BLK_DEV_XIP is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+# CONFIG_ATA_OVER_ETH is not set
+CONFIG_MISC_DEVICES=y
+# CONFIG_ICS932S401 is not set
+# CONFIG_OMAP_STI is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+# CONFIG_EEPROM_AT24 is not set
+# CONFIG_EEPROM_AT25 is not set
+# CONFIG_EEPROM_LEGACY is not set
+CONFIG_EEPROM_93CX6=y
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# 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=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=m
+
+#
+# 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
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# 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_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+CONFIG_SCSI_LOWLEVEL=y
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_LIBFC is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_DH is not set
+# CONFIG_ATA is not set
+# CONFIG_MD is not set
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+# CONFIG_VETH is not set
+# CONFIG_PHYLIB is not set
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_AX88796 is not set
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+# CONFIG_ENC28J60 is not set
+CONFIG_SMC911X=y
+# CONFIG_SMSC911X is not set
+# CONFIG_DNET is not set
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
+# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
+# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
+# CONFIG_B44 is not set
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+
+#
+# Wireless LAN
+#
+# CONFIG_WLAN_PRE80211 is not set
+CONFIG_WLAN_80211=y
+# CONFIG_LIBERTAS is not set
+# CONFIG_LIBERTAS_THINFIRM is not set
+CONFIG_USB_ZD1201=y
+CONFIG_USB_NET_RNDIS_WLAN=y
+CONFIG_RTL8187=y
+# CONFIG_MAC80211_HWSIM is not set
+CONFIG_P54_COMMON=y
+CONFIG_P54_USB=y
+# CONFIG_IWLWIFI_LEDS is not set
+CONFIG_HOSTAP=y
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_FIRMWARE_NVRAM=y
+# CONFIG_B43 is not set
+# CONFIG_B43LEGACY is not set
+CONFIG_ZD1211RW=y
+# CONFIG_ZD1211RW_DEBUG is not set
+CONFIG_RT2X00=y
+CONFIG_RT2500USB=y
+CONFIG_RT73USB=y
+CONFIG_RT2X00_LIB_USB=y
+CONFIG_RT2X00_LIB=y
+CONFIG_RT2X00_LIB_FIRMWARE=y
+CONFIG_RT2X00_LIB_CRYPTO=y
+CONFIG_RT2X00_LIB_LEDS=y
+# CONFIG_RT2X00_DEBUG is not set
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+CONFIG_USB_USBNET=y
+CONFIG_USB_NET_AX8817X=y
+CONFIG_USB_NET_CDCETHER=y
+# CONFIG_USB_NET_DM9601 is not set
+# CONFIG_USB_NET_SMSC95XX is not set
+# CONFIG_USB_NET_GL620A is not set
+CONFIG_USB_NET_NET1080=y
+# CONFIG_USB_NET_PLUSB is not set
+# CONFIG_USB_NET_MCS7830 is not set
+CONFIG_USB_NET_RNDIS_HOST=y
+CONFIG_USB_NET_CDC_SUBSET=y
+# CONFIG_USB_ALI_M5632 is not set
+# CONFIG_USB_AN2720 is not set
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+# CONFIG_USB_EPSON2888 is not set
+# CONFIG_USB_KC2190 is not set
+CONFIG_USB_NET_ZAURUS=y
+# 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=m
+CONFIG_PPPOL2TP=m
+# CONFIG_SLIP is not set
+CONFIG_SLHC=m
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+# CONFIG_INPUT_POLLDEV is not set
+
+#
+# Userland interfaces
+#
+# CONFIG_INPUT_MOUSEDEV is not set
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=y
+# 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_KEYBOARD_STOWAWAY is not set
+CONFIG_KEYBOARD_TWL4030=y
+CONFIG_KEYBOARD_GPIO=y
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=y
+# CONFIG_TOUCHSCREEN_FUJITSU is not set
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_INEXIO 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_TSC2005 is not set
+# CONFIG_TOUCHSCREEN_TSC210X is not set
+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
+# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
+# CONFIG_TOUCHSCREEN_TSC2007 is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+CONFIG_DEVKMEM=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_MANY_PORTS=y
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_DETECT_IRQ=y
+CONFIG_SERIAL_8250_RSA=y
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_IPMI_HANDLER is not set
+CONFIG_HW_RANDOM=y
+# CONFIG_R3964 is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_HELPER_AUTO=y
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_GPIO is not set
+# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_OMAP=y
+# CONFIG_I2C_SIMTEC is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_TINY_USB is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_STUB is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_DS1682 is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_PCF8575 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+CONFIG_TWL4030_MADC=y
+# CONFIG_TWL4030_POWEROFF is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_SENSORS_TSL2550 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
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_BITBANG is not set
+# CONFIG_SPI_GPIO is not set
+CONFIG_SPI_OMAP24XX=y
+
+#
+# SPI Protocol Masters
+#
+# CONFIG_SPI_TSC210X is not set
+# CONFIG_SPI_TSC2301 is not set
+# CONFIG_SPI_SPIDEV is not set
+# CONFIG_SPI_TLE62X0 is not set
+CONFIG_ARCH_REQUIRE_GPIOLIB=y
+CONFIG_GPIOLIB=y
+# CONFIG_DEBUG_GPIO is not set
+# CONFIG_GPIO_SYSFS is not set
+
+#
+# Memory mapped GPIO expanders:
+#
+
+#
+# I2C GPIO expanders:
+#
+# CONFIG_GPIO_MAX732X is not set
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_GPIO_PCF857X is not set
+CONFIG_GPIO_TWL4030=y
+
+#
+# PCI GPIO expanders:
+#
+
+#
+# SPI GPIO expanders:
+#
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MCP23S08 is not set
+CONFIG_W1=y
+
+#
+# 1-wire Bus Masters
+#
+# CONFIG_W1_MASTER_DS2490 is not set
+# CONFIG_W1_MASTER_DS2482 is not set
+# CONFIG_W1_MASTER_DS1WM is not set
+# CONFIG_W1_MASTER_GPIO is not set
+CONFIG_HDQ_MASTER_OMAP=y
+
+#
+# 1-wire Slaves
+#
+# CONFIG_W1_SLAVE_THERM is not set
+# CONFIG_W1_SLAVE_SMEM is not set
+# CONFIG_W1_SLAVE_DS2431 is not set
+# CONFIG_W1_SLAVE_DS2433 is not set
+# CONFIG_W1_SLAVE_DS2760 is not set
+CONFIG_W1_SLAVE_BQ27000=y
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+# CONFIG_PDA_POWER is not set
+# CONFIG_BATTERY_DS2760 is not set
+CONFIG_TWL4030_BCI_BATTERY=y
+# CONFIG_BATTERY_BQ27x00 is not set
+# CONFIG_HWMON is not set
+# CONFIG_THERMAL is not set
+# CONFIG_THERMAL_HWMON is not set
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_NOWAYOUT=y
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+CONFIG_OMAP_WATCHDOG=y
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+# CONFIG_SSB is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_MFD_ASIC3 is not set
+# CONFIG_HTC_EGPIO is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_TPS65010 is not set
+CONFIG_TWL4030_CORE=y
+# CONFIG_TWL4030_POWER is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_MFD_T7L66XB is not set
+# CONFIG_MFD_TC6387XB is not set
+# CONFIG_MFD_TC6393XB is not set
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_PCF50633 is not set
+
+#
+# Multimedia devices
+#
+
+#
+# Multimedia core support
+#
+CONFIG_VIDEO_DEV=y
+CONFIG_VIDEO_V4L2_COMMON=y
+# CONFIG_VIDEO_ALLOW_V4L1 is not set
+CONFIG_VIDEO_V4L1_COMPAT=y
+# CONFIG_DVB_CORE is not set
+CONFIG_VIDEO_MEDIA=y
+
+#
+# Multimedia drivers
+#
+# CONFIG_MEDIA_ATTACH is not set
+CONFIG_MEDIA_TUNER=y
+# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set
+CONFIG_MEDIA_TUNER_SIMPLE=y
+CONFIG_MEDIA_TUNER_TDA8290=y
+CONFIG_MEDIA_TUNER_TDA9887=y
+CONFIG_MEDIA_TUNER_TEA5761=y
+CONFIG_MEDIA_TUNER_TEA5767=y
+CONFIG_MEDIA_TUNER_MT20XX=y
+CONFIG_MEDIA_TUNER_XC2028=y
+CONFIG_MEDIA_TUNER_XC5000=y
+CONFIG_VIDEO_V4L2=y
+CONFIG_VIDEO_CAPTURE_DRIVERS=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
+
+#
+# Encoders/decoders and other helper chips
+#
+
+#
+# Audio decoders
+#
+# CONFIG_VIDEO_TVAUDIO is not set
+# CONFIG_VIDEO_TDA7432 is not set
+# CONFIG_VIDEO_TDA9840 is not set
+# CONFIG_VIDEO_TDA9875 is not set
+# CONFIG_VIDEO_TEA6415C is not set
+# CONFIG_VIDEO_TEA6420 is not set
+# CONFIG_VIDEO_MSP3400 is not set
+# CONFIG_VIDEO_CS5345 is not set
+# CONFIG_VIDEO_CS53L32A is not set
+# CONFIG_VIDEO_M52790 is not set
+# CONFIG_VIDEO_TLV320AIC23B is not set
+# CONFIG_VIDEO_WM8775 is not set
+# CONFIG_VIDEO_WM8739 is not set
+# CONFIG_VIDEO_VP27SMPX is not set
+
+#
+# Video decoders
+#
+# CONFIG_VIDEO_OV7670 is not set
+# CONFIG_VIDEO_TCM825X is not set
+# CONFIG_VIDEO_SAA711X is not set
+# CONFIG_VIDEO_SAA717X is not set
+# CONFIG_VIDEO_TVP514X is not set
+# CONFIG_VIDEO_TVP5150 is not set
+
+#
+# Video and audio decoders
+#
+# CONFIG_VIDEO_CX25840 is not set
+
+#
+# MPEG video encoders
+#
+# CONFIG_VIDEO_CX2341X is not set
+
+#
+# Video encoders
+#
+# CONFIG_VIDEO_SAA7127 is not set
+
+#
+# Video improvement chips
+#
+# CONFIG_VIDEO_UPD64031A is not set
+# CONFIG_VIDEO_UPD64083 is not set
+# CONFIG_VIDEO_VIVI is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_SOC_CAMERA is not set
+CONFIG_V4L_USB_DRIVERS=y
+# CONFIG_USB_VIDEO_CLASS is not set
+# CONFIG_USB_GSPCA is not set
+# CONFIG_VIDEO_PVRUSB2 is not set
+# CONFIG_VIDEO_EM28XX is not set
+# CONFIG_VIDEO_USBVISION is not set
+# CONFIG_USB_ET61X251 is not set
+# CONFIG_USB_SN9C102 is not set
+# CONFIG_USB_ZC0301 is not set
+# CONFIG_USB_ZR364XX is not set
+# CONFIG_USB_STKWEBCAM is not set
+# CONFIG_USB_S2255 is not set
+CONFIG_RADIO_ADAPTERS=y
+# CONFIG_USB_DSBR is not set
+# CONFIG_USB_SI470X is not set
+# CONFIG_USB_MR800 is not set
+# CONFIG_RADIO_TEA5764 is not set
+CONFIG_DAB=y
+# CONFIG_USB_DABUSB is not set
+
+#
+# Graphics support
+#
+# CONFIG_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+CONFIG_FB=y
+CONFIG_FIRMWARE_EDID=y
+# CONFIG_FB_DDC is not set
+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+# CONFIG_FB_SYS_FILLRECT is not set
+# CONFIG_FB_SYS_COPYAREA is not set
+# CONFIG_FB_SYS_IMAGEBLIT is not set
+CONFIG_FB_FOREIGN_ENDIAN=y
+CONFIG_FB_BOTH_ENDIAN=y
+# CONFIG_FB_BIG_ENDIAN is not set
+# CONFIG_FB_LITTLE_ENDIAN is not set
+# CONFIG_FB_SYS_FOPS is not set
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+CONFIG_FB_OMAP=y
+CONFIG_FB_OMAP_LCD_VGA=y
+# CONFIG_FB_OMAP_LCDC_EXTERNAL is not set
+# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
+CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=14
+# CONFIG_OMAP2_DSS is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_LTV350QV=y
+CONFIG_LCD_ILI9320=y
+# CONFIG_LCD_TDO24M is not set
+CONFIG_LCD_VGG2432A4=y
+CONFIG_LCD_PLATFORM=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_GENERIC=y
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# 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
+# CONFIG_LOGO is not set
+CONFIG_SOUND=y
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_HWDEP=y
+CONFIG_SND_RAWMIDI=y
+# 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_HRTIMER is not set
+# 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
+CONFIG_SND_DRIVERS=y
+# 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
+CONFIG_SND_ARM=y
+CONFIG_SND_SPI=y
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=y
+CONFIG_SND_USB_CAIAQ=y
+# CONFIG_SND_USB_CAIAQ_INPUT is not set
+CONFIG_SND_SOC=y
+CONFIG_SND_OMAP_SOC=y
+CONFIG_SND_SOC_I2C_AND_SPI=y
+# CONFIG_SND_SOC_ALL_CODECS is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
+# CONFIG_HID_DEBUG is not set
+# CONFIG_HIDRAW is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=y
+# CONFIG_HID_PID is not set
+# CONFIG_USB_HIDDEV is not set
+
+#
+# Special HID drivers
+#
+CONFIG_HID_COMPAT=y
+# CONFIG_HID_A4TECH is not set
+# CONFIG_HID_APPLE is not set
+# CONFIG_HID_BELKIN is not set
+# CONFIG_HID_CHERRY is not set
+# CONFIG_HID_CHICONY is not set
+# CONFIG_HID_CYPRESS is not set
+# CONFIG_HID_EZKEY is not set
+# CONFIG_HID_GYRATION is not set
+# CONFIG_HID_LOGITECH is not set
+# CONFIG_HID_MICROSOFT is not set
+# CONFIG_HID_MONTEREY is not set
+# CONFIG_HID_NTRIG is not set
+# CONFIG_HID_PANTHERLORD is not set
+# CONFIG_HID_PETALYNX is not set
+# CONFIG_HID_SAMSUNG is not set
+# CONFIG_HID_SONY is not set
+# CONFIG_HID_SUNPLUS is not set
+# CONFIG_GREENASIA_FF is not set
+# CONFIG_HID_TOPSEED is not set
+# CONFIG_THRUSTMASTER_FF is not set
+# CONFIG_ZEROPLUS_FF is not set
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_DEVICE_CLASS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_SUSPEND is not set
+# CONFIG_USB_OTG is not set
+# CONFIG_USB_OTG_WHITELIST is not set
+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+CONFIG_USB_MON=y
+# CONFIG_USB_WUSB is not set
+# CONFIG_USB_WUSB_CBAF is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_C67X00_HCD is not set
+# CONFIG_USB_EHCI_HCD is not set
+# CONFIG_USB_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_OHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+# CONFIG_USB_HWA_HCD is not set
+CONFIG_USB_MUSB_HDRC=y
+CONFIG_USB_MUSB_SOC=y
+
+#
+# OMAP 343x high speed USB support
+#
+CONFIG_USB_MUSB_HOST=y
+# CONFIG_USB_MUSB_PERIPHERAL is not set
+# CONFIG_USB_MUSB_OTG is not set
+# CONFIG_USB_GADGET_MUSB_HDRC is not set
+CONFIG_USB_MUSB_HDRC_HCD=y
+# CONFIG_MUSB_PIO_ONLY is not set
+CONFIG_USB_INVENTRA_DMA=y
+# CONFIG_USB_TI_CPPI_DMA is not set
+# CONFIG_USB_MUSB_DEBUG is not set
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+# CONFIG_USB_WDM is not set
+# CONFIG_USB_TMC is not set
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD 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_ISD200 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_ALAUDA is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+#
+# USB port drivers
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_SEVSEG is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_BERRY_CHARGE 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 is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+# CONFIG_USB_ISIGHTFW is not set
+# CONFIG_USB_VST is not set
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG is not set
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_DEBUG_FS is not set
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_AT91 is not set
+# CONFIG_USB_GADGET_ATMEL_USBA is not set
+# CONFIG_USB_GADGET_FSL_USB2 is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_PXA25X is not set
+# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_S3C2410 is not set
+# CONFIG_USB_GADGET_IMX is not set
+CONFIG_USB_GADGET_M66592=y
+CONFIG_USB_M66592=y
+# CONFIG_USB_GADGET_AMD5536UDC is not set
+# CONFIG_USB_GADGET_FSL_QE is not set
+# CONFIG_USB_GADGET_CI13XXX is not set
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+CONFIG_USB_GADGET_DUALSPEED=y
+# CONFIG_USB_ZERO is not set
+CONFIG_USB_ETH=m
+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
+# CONFIG_USB_G_PRINTER is not set
+# CONFIG_USB_CDC_COMPOSITE is not set
+
+#
+# OTG and related infrastructure
+#
+CONFIG_USB_OTG_UTILS=y
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_ISP1301_OMAP is not set
+CONFIG_TWL4030_USB=y
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_UNSAFE_RESUME=y
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_BOUNCE=y
+CONFIG_SDIO_UART=y
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+# CONFIG_MMC_SDHCI is not set
+CONFIG_MMC_OMAP_HS=y
+# CONFIG_MMC_SPI is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_ACCESSIBILITY is not set
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_OMAP_DEBUG is not set
+CONFIG_LEDS_OMAP=y
+CONFIG_LEDS_OMAP_PWM=y
+# CONFIG_LEDS_PCA9532 is not set
+CONFIG_LEDS_GPIO=y
+# CONFIG_LEDS_LP5521 is not set
+# CONFIG_LEDS_PCA955X is not set
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_BACKLIGHT=y
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+
+#
+# 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
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1374 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_MAX6900 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_M41T80 is not set
+CONFIG_RTC_DRV_TWL4030=y
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+
+#
+# SPI RTC drivers
+#
+# CONFIG_RTC_DRV_M41T94 is not set
+# CONFIG_RTC_DRV_DS1305 is not set
+# CONFIG_RTC_DRV_DS1390 is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_R9701 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_DS3234 is not set
+
+#
+# Platform RTC drivers
+#
+# CONFIG_RTC_DRV_CMOS is not set
+# CONFIG_RTC_DRV_DS1286 is not set
+# CONFIG_RTC_DRV_DS1511 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_STK17TA8 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_M48T35 is not set
+# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_BQ4802 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# on-CPU RTC drivers
+#
+# CONFIG_DMADEVICES is not set
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+CONFIG_REGULATOR_BQ24022=y
+CONFIG_REGULATOR_TWL4030=y
+# CONFIG_UIO is not set
+# CONFIG_STAGING is not set
+
+#
+# CBUS support
+#
+# CONFIG_CBUS is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# 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_EXT4_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_FILE_LOCKING=y
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_QUOTA=y
+# CONFIG_QUOTA_NETLINK_INTERFACE is not set
+CONFIG_PRINT_QUOTA_WARNING=y
+CONFIG_QUOTA_TREE=y
+# CONFIG_QFMT_V1 is not set
+CONFIG_QFMT_V2=y
+CONFIG_QUOTACTL=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+CONFIG_FUSE_FS=y
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=y
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+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_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+# CONFIG_CONFIGFS_FS is not set
+CONFIG_MISC_FILESYSTEMS=y
+# 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_FS_WBUF_VERIFY is not set
+# 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_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_SQUASHFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+CONFIG_NFS_V3_ACL=y
+# CONFIG_NFS_V4 is not set
+CONFIG_ROOT_NFS=y
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_ACL_SUPPORT=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+# CONFIG_SUNRPC_REGISTER_V4 is not set
+# 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
+
+#
+# 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
+# CONFIG_SYSV68_PARTITION is not set
+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 is not set
+# 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 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_UTF8 is not set
+# CONFIG_DLM is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=1024
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
+CONFIG_SCHED_DEBUG=y
+CONFIG_SCHEDSTATS=y
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_OBJECTS 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=y
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+# CONFIG_DEBUG_MEMORY_INIT is not set
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_RING_BUFFER=y
+CONFIG_TRACING=y
+
+#
+# Tracers
+#
+# CONFIG_FUNCTION_TRACER is not set
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_CONTEXT_SWITCH_TRACER is not set
+# CONFIG_BOOT_TRACER is not set
+# CONFIG_TRACE_BRANCH_PROFILING is not set
+# CONFIG_STACK_TRACER is not set
+# CONFIG_FTRACE_STARTUP_TEST is not set
+# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_ERRORS is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+CONFIG_DEBUG_LL=y
+# CONFIG_DEBUG_ICEDCC is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITYFS is not set
+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+# CONFIG_CRYPTO_FIPS is not set
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+# CONFIG_CRYPTO_GF128MUL is not set
+# CONFIG_CRYPTO_NULL is not set
+# CONFIG_CRYPTO_CRYPTD is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Authenticated Encryption with Associated Data
+#
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_SEQIV is not set
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=y
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+CONFIG_CRYPTO_ECB=y
+# CONFIG_CRYPTO_LRW is not set
+CONFIG_CRYPTO_PCBC=m
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=y
+# CONFIG_CRYPTO_MD4 is not set
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_MICHAEL_MIC=y
+# CONFIG_CRYPTO_RMD128 is not set
+# CONFIG_CRYPTO_RMD160 is not set
+# CONFIG_CRYPTO_RMD256 is not set
+# CONFIG_CRYPTO_RMD320 is not set
+CONFIG_CRYPTO_SHA1=m
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=y
+# CONFIG_CRYPTO_ANUBIS is not set
+CONFIG_CRYPTO_ARC4=y
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+CONFIG_CRYPTO_DES=y
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_LZO is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_HW=y
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+CONFIG_CRC_CCITT=y
+# CONFIG_CRC16 is not set
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC_ITU_T=y
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+CONFIG_LIBCRC32C=y
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
diff --git a/recipes/linux/linux-omap_2.6.28.bb b/recipes/linux/linux-omap_2.6.28.bb
index f89ef2aea6..d14472021e 100644
--- a/recipes/linux/linux-omap_2.6.28.bb
+++ b/recipes/linux/linux-omap_2.6.28.bb
@@ -13,7 +13,7 @@ DEFAULT_PREFERENCE_omap5912osk = "1"
SRCREV = "79d042a081d3e467c735bb0d9569ed6296f85a3c"
PV = "2.6.28"
-PR = "r17"
+PR = "r18"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git;branch=omap-2.6.28;protocol=git \
file://defconfig"
@@ -54,6 +54,7 @@ SRC_URI_append = " \
file://usbttyfix.patch;patch=1 \
file://ioremap-fix.patch;patch=1 \
file://0124-leds-gpio-broken-with-current-git.patch;patch=1 \
+ file://mmctiming.patch;patch=1 \
"
diff --git a/recipes/linux/linux-omap_2.6.29.bb b/recipes/linux/linux-omap_2.6.29.bb
index 6e824b08db..ded981cb8a 100644
--- a/recipes/linux/linux-omap_2.6.29.bb
+++ b/recipes/linux/linux-omap_2.6.29.bb
@@ -3,15 +3,13 @@ require linux.inc
DESCRIPTION = "Linux kernel for OMAP processors"
KERNEL_IMAGETYPE = "uImage"
-COMPATIBLE_MACHINE = "omap5912osk|omap1710h3|omap2430sdp|omap2420h4|beagleboard|omap3evm|omap3-pandora|overo"
+COMPATIBLE_MACHINE = "omap5912osk|omap1710h3|omap2430sdp|omap2420h4|beagleboard|omap3evm|omap3-pandora|overo|omapzoom"
-# This is missing the EHCI patch for beagle
DEFAULT_PREFERENCE = "-1"
-SRCREV = "90e758af52ba803cba233fabee81176d99589f09"
+SRCREV = "58cf2f1425abfd3a449f9fe985e48be2d2555022"
-PV = "2.6.29-${PR}+gitr${SRCREV}"
-PR = "r0"
+PR = "r6+gitr${SRCREV}"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git;protocol=git \
file://defconfig"
@@ -22,6 +20,11 @@ SRC_URI_append = " \
file://read_die_ids.patch;patch=1 \
file://fix-install.patch;patch=1 \
file://DSS2.diff;patch=1 \
+ file://0001-board-ldp-add-regulator-info-to-get-the-microSD-slo.patch;patch=1 \
+ file://fix-unaligned-access.diff;patch=1 \
+ file://make-alignment-visible.diff;patch=1 \
+ file://mmctiming.patch;patch=1 \
+ file://ehci.patch;patch=1 \
"
diff --git a/recipes/linux/linux-omapzoom/omapzoom/defconfig b/recipes/linux/linux-omapzoom/omapzoom/defconfig
index 764589d7a1..7d076d1b2f 100644
--- a/recipes/linux/linux-omapzoom/omapzoom/defconfig
+++ b/recipes/linux/linux-omapzoom/omapzoom/defconfig
@@ -882,7 +882,7 @@ CONFIG_I2C_OMAP=y
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_ISP1301_OMAP is not set
# CONFIG_TPS65010 is not set
-CONFIG_SENSORS_TLV320AIC23=y
+CONFIG_SENSORS_TLV320AIC23=n
CONFIG_TWL4030_MADC=y
CONFIG_TWL4030_USB=y
# CONFIG_TWL4030_PWRBUTTON is not set
@@ -1216,7 +1216,7 @@ CONFIG_SND_DRIVERS=y
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
CONFIG_SND_ARM=y
-CONFIG_SND_OMAP_AIC23=y
+CONFIG_SND_OMAP_AIC23=n
# CONFIG_SND_OMAP_TSC2101 is not set
# CONFIG_SND_SX1 is not set
# CONFIG_SND_OMAP_TSC2102 is not set
diff --git a/recipes/linux/linux-rp-2.6.26/defconfig-qemux86 b/recipes/linux/linux-rp-2.6.26/defconfig-qemux86
index 975dbdd85b..57f7c0d15a 100644
--- a/recipes/linux/linux-rp-2.6.26/defconfig-qemux86
+++ b/recipes/linux/linux-rp-2.6.26/defconfig-qemux86
@@ -1,12 +1,14 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.24-rc8
-# Sun Jan 20 18:20:37 2008
+# Linux kernel version: 2.6.26
+# Fri Apr 3 08:05:50 2009
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
# CONFIG_X86_64 is not set
CONFIG_X86=y
+CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
+# CONFIG_GENERIC_LOCKBREAK is not set
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
@@ -14,30 +16,39 @@ CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_SEMAPHORE_SLEEPERS=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_FAST_CMPXCHG_LOCAL=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
-CONFIG_QUICKLIST=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
+# CONFIG_GENERIC_GPIO is not set
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
-CONFIG_DMI=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
# CONFIG_GENERIC_TIME_VSYSCALL is not set
-CONFIG_ARCH_SUPPORTS_OPROFILE=y
+CONFIG_ARCH_HAS_CPU_RELAX=y
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
# CONFIG_ZONE_DMA32 is not set
CONFIG_ARCH_POPULATES_NODE_MAP=y
# CONFIG_AUDIT_ARCH is not set
+CONFIG_ARCH_SUPPORTS_AOUT=y
+CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_X86_SMP=y
+CONFIG_X86_32_SMP=y
CONFIG_X86_HT=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_X86_TRAMPOLINE=y
@@ -58,19 +69,18 @@ CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set
-# CONFIG_USER_NS is not set
-# CONFIG_PID_NS is not set
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDIT_TREE=y
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=15
# CONFIG_CGROUPS is not set
-CONFIG_FAIR_GROUP_SCHED=y
-CONFIG_FAIR_USER_SCHED=y
-# CONFIG_FAIR_CGROUP_SCHED is not set
+CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+# CONFIG_GROUP_SCHED is not set
CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
# CONFIG_RELAY is not set
+# CONFIG_NAMESPACES is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
@@ -78,28 +88,42 @@ CONFIG_SYSCTL=y
CONFIG_EMBEDDED=y
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
+CONFIG_SYSCTL_SYSCALL_CHECK=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
+CONFIG_PCSPKR_PLATFORM=y
+CONFIG_COMPAT_BRK=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLAB=y
# CONFIG_SLUB is not set
# CONFIG_SLOB is not set
+CONFIG_PROFILING=y
+# CONFIG_MARKERS is not set
+CONFIG_OPROFILE=m
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+# CONFIG_HAVE_DMA_ATTRS is not set
+CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_MODVERSIONS is not set
@@ -124,6 +148,7 @@ CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_CLASSIC_RCU=y
#
# Processor type and features
@@ -142,6 +167,7 @@ CONFIG_X86_PC=y
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
+# CONFIG_X86_RDC321X is not set
# CONFIG_X86_VSMP is not set
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
# CONFIG_PARAVIRT_GUEST is not set
@@ -172,6 +198,7 @@ CONFIG_M686=y
# CONFIG_MCORE2 is not set
# CONFIG_GENERIC_CPU is not set
CONFIG_X86_GENERIC=y
+CONFIG_X86_CPU=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=7
CONFIG_X86_XADD=y
@@ -186,14 +213,16 @@ CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=4
+CONFIG_X86_DEBUGCTLMSR=y
# CONFIG_HPET_TIMER is not set
+CONFIG_DMI=y
+# CONFIG_IOMMU_HELPER is not set
CONFIG_NR_CPUS=8
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
-CONFIG_PREEMPT_BKL=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_MCE=y
@@ -227,14 +256,15 @@ CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_SPARSEMEM_STATIC=y
# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
+CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_RESOURCES_64BIT is not set
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
-CONFIG_NR_QUICK=1
CONFIG_VIRT_TO_BUS=y
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
+# CONFIG_X86_PAT is not set
# CONFIG_EFI is not set
CONFIG_IRQBALANCE=y
CONFIG_SECCOMP=y
@@ -243,6 +273,7 @@ CONFIG_HZ_250=y
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
+CONFIG_SCHED_HRTICK=y
CONFIG_KEXEC=y
CONFIG_PHYSICAL_START=0x100000
# CONFIG_RELOCATABLE is not set
@@ -254,13 +285,11 @@ CONFIG_COMPAT_VDSO=y
# Power management options
#
CONFIG_PM=y
-CONFIG_PM_LEGACY=y
# CONFIG_PM_DEBUG is not set
CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_SLEEP=y
-CONFIG_SUSPEND_SMP_POSSIBLE=y
CONFIG_SUSPEND=y
-CONFIG_HIBERNATION_SMP_POSSIBLE=y
+CONFIG_SUSPEND_FREEZER=y
# CONFIG_HIBERNATION is not set
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
@@ -277,8 +306,10 @@ CONFIG_ACPI_FAN=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_THERMAL=y
+# CONFIG_ACPI_WMI is not set
# CONFIG_ACPI_ASUS is not set
# CONFIG_ACPI_TOSHIBA is not set
+# CONFIG_ACPI_CUSTOM_DSDT is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_EC=y
@@ -302,6 +333,7 @@ CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not set
+# CONFIG_PCI_GOOLPC is not set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
@@ -317,6 +349,7 @@ CONFIG_ISA=y
# CONFIG_EISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set
+# CONFIG_OLPC is not set
CONFIG_K8_NB=y
# CONFIG_PCCARD is not set
# CONFIG_HOTPLUG_PCI is not set
@@ -336,13 +369,14 @@ CONFIG_NET=y
#
# Networking options
#
-CONFIG_PACKET=m
+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_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
# CONFIG_NET_KEY is not set
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
@@ -387,85 +421,176 @@ 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_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=m
# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_IPV6_MROUTE is not set
# CONFIG_NETWORK_SECMARK is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=y
#
# Core Netfilter Configuration
#
-# CONFIG_NETFILTER_NETLINK is not set
-# CONFIG_NF_CONNTRACK_ENABLED is not set
-# CONFIG_NF_CONNTRACK is not set
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CT_ACCT=y
+CONFIG_NF_CONNTRACK_MARK=y
+# CONFIG_NF_CONNTRACK_EVENTS is not set
+# CONFIG_NF_CT_PROTO_DCCP is not set
+CONFIG_NF_CT_PROTO_GRE=m
+# CONFIG_NF_CT_PROTO_SCTP is not set
+CONFIG_NF_CT_PROTO_UDPLITE=m
+CONFIG_NF_CONNTRACK_AMANDA=m
+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_SANE is not set
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
CONFIG_NETFILTER_XTABLES=m
-# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
-# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
-# CONFIG_NETFILTER_XT_TARGET_MARK is not set
-# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
-# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
-# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
-# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
-# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
-# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
-# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
-# CONFIG_NETFILTER_XT_MATCH_ESP is not set
-# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
-# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
-# CONFIG_NETFILTER_XT_MATCH_MAC is not set
-# CONFIG_NETFILTER_XT_MATCH_MARK is not set
-# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
-# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
-# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
-# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
-# CONFIG_NETFILTER_XT_MATCH_REALM is not set
+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_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=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_IPRANGE=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_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
-# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
-# CONFIG_NETFILTER_XT_MATCH_STRING is not set
-# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
-# CONFIG_NETFILTER_XT_MATCH_TIME is not set
-# CONFIG_NETFILTER_XT_MATCH_U32 is not set
-# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
+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_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=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=m
CONFIG_IP_NF_IPTABLES=m
-CONFIG_IP_NF_MATCH_IPRANGE=m
-CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_RECENT=m
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_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_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PROTO_GRE=m
+CONFIG_NF_NAT_PROTO_UDPLITE=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_NAT_AMANDA=m
+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=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
#
-# IPv6: Netfilter Configuration (EXPERIMENTAL)
+# IPv6: Netfilter Configuration
#
+CONFIG_NF_CONNTRACK_IPV6=m
# CONFIG_IP6_NF_QUEUE is not set
-# CONFIG_IP6_NF_IPTABLES 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_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_MH=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=m
+
+#
+# Bridge: Netfilter Configuration
+#
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+# CONFIG_BRIDGE_EBT_ULOG is not set
+CONFIG_BRIDGE_EBT_NFLOG=m
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
-# CONFIG_BRIDGE is not set
-# CONFIG_VLAN_8021Q 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 is not set
# CONFIG_ATALK is not set
@@ -474,12 +599,14 @@ CONFIG_IP_NF_ARP_MANGLE=m
# 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 is not set
# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
CONFIG_IRDA=m
#
@@ -514,14 +641,6 @@ CONFIG_IRCOMM=m
# CONFIG_KS959_DONGLE is not set
#
-# Old SIR device drivers
-#
-
-#
-# Old Serial dongle support
-#
-
-#
# FIR device drivers
#
# CONFIG_USB_IRDA is not set
@@ -570,8 +689,6 @@ CONFIG_IEEE80211=m
CONFIG_IEEE80211_CRYPT_WEP=m
CONFIG_IEEE80211_CRYPT_CCMP=m
CONFIG_IEEE80211_CRYPT_TKIP=m
-CONFIG_IEEE80211_SOFTMAC=m
-# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
# CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set
@@ -624,7 +741,7 @@ CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=65536
-CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
+# CONFIG_BLK_DEV_XIP is not set
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
CONFIG_MISC_DEVICES=y
@@ -633,23 +750,28 @@ CONFIG_MISC_DEVICES=y
# CONFIG_EEPROM_93CX6 is not set
# CONFIG_SGI_IOC4 is not set
# CONFIG_TIFM_CORE is not set
+# CONFIG_ACER_WMI is not set
# CONFIG_ASUS_LAPTOP is not set
# CONFIG_FUJITSU_LAPTOP is not set
+# CONFIG_TC1100_WMI is not set
# CONFIG_MSI_LAPTOP is not set
# CONFIG_SONY_LAPTOP is not set
# CONFIG_THINKPAD_ACPI is not set
+# CONFIG_INTEL_MENLOW is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+CONFIG_HAVE_IDE=y
CONFIG_IDE=y
CONFIG_IDE_MAX_HWIFS=4
CONFIG_BLK_DEV_IDE=y
#
-# Please see Documentation/ide.txt for help/info on IDE drives
+# Please see Documentation/ide/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_IDE_SATA is not set
-# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_BLK_DEV_IDECD=y
+CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set
@@ -665,12 +787,12 @@ CONFIG_IDE_GENERIC=y
CONFIG_BLK_DEV_CMD640=y
# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
# CONFIG_BLK_DEV_IDEPNP is not set
+CONFIG_BLK_DEV_IDEDMA_SFF=y
#
# PCI IDE chipsets support
#
CONFIG_BLK_DEV_IDEPCI=y
-CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_IDEPCI_PCIBUS_ORDER=y
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_BLK_DEV_GENERIC=y
@@ -704,7 +826,6 @@ CONFIG_BLK_DEV_PIIX=y
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_BLK_DEV_TC86C001 is not set
-# CONFIG_IDE_ARM is not set
#
# Other IDE chipsets support
@@ -720,7 +841,7 @@ CONFIG_BLK_DEV_PIIX=y
# CONFIG_BLK_DEV_QD65XX is not set
# CONFIG_BLK_DEV_UMC8672 is not set
CONFIG_BLK_DEV_IDEDMA=y
-CONFIG_IDE_ARCH_OBSOLETE_INIT=y
+# CONFIG_BLK_DEV_HD_ONLY is not set
# CONFIG_BLK_DEV_HD is not set
#
@@ -794,17 +915,16 @@ CONFIG_SCSI_DPT_I2O=m
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_PPA is not set
# CONFIG_SCSI_IMM is not set
+# CONFIG_SCSI_MVSAS is not set
# CONFIG_SCSI_NCR53C406A is not set
# CONFIG_SCSI_STEX is not set
# CONFIG_SCSI_SYM53C8XX_2 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_QLA_ISCSI is not set
# CONFIG_SCSI_LPFC is not set
-# CONFIG_SCSI_SEAGATE is not set
# CONFIG_SCSI_SYM53C416 is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
@@ -834,6 +954,10 @@ CONFIG_DM_MULTIPATH_EMC=m
#
# IEEE 1394 (FireWire) support
#
+
+#
+# Enable only one of the two stacks, unless you know what you are doing
+#
# CONFIG_FIREWIRE is not set
# CONFIG_IEEE1394 is not set
# CONFIG_I2O is not set
@@ -901,7 +1025,6 @@ CONFIG_NE2000=y
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
CONFIG_NET_PCI=y
CONFIG_PCNET32=m
-CONFIG_PCNET32_NAPI=y
CONFIG_AMD8111_ETH=m
CONFIG_AMD8111E_NAPI=y
CONFIG_ADAPTEC_STARFIRE=m
@@ -926,6 +1049,7 @@ CONFIG_8139TOO_PIO=y
# CONFIG_8139TOO_TUNE_TWISTER is not set
# CONFIG_8139TOO_8129 is not set
# CONFIG_8139_OLD_RX_RESET is not set
+# CONFIG_R6040 is not set
CONFIG_SIS900=m
CONFIG_EPIC100=m
CONFIG_SUNDANCE=m
@@ -944,16 +1068,18 @@ CONFIG_E1000=m
CONFIG_E1000_NAPI=y
# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
# CONFIG_E1000E is not set
+# CONFIG_E1000E_ENABLED is not set
# CONFIG_IP1000 is not set
+# CONFIG_IGB is not set
CONFIG_NS83820=m
CONFIG_HAMACHI=m
CONFIG_YELLOWFIN=m
CONFIG_R8169=m
CONFIG_R8169_NAPI=y
+CONFIG_R8169_VLAN=y
CONFIG_SIS190=m
CONFIG_SKGE=m
CONFIG_SKY2=m
-CONFIG_SK98LIN=m
CONFIG_VIA_VELOCITY=m
CONFIG_TIGON3=m
CONFIG_BNX2=m
@@ -971,6 +1097,8 @@ CONFIG_S2IO=m
# CONFIG_NIU is not set
# CONFIG_MLX4_CORE is not set
# CONFIG_TEHUTI is not set
+# CONFIG_BNX2X is not set
+# CONFIG_SFC is not set
# CONFIG_TR is not set
#
@@ -990,13 +1118,13 @@ CONFIG_HERMES=m
# CONFIG_ATMEL is not set
# CONFIG_PRISM54 is not set
# CONFIG_USB_ZD1201 is not set
+# CONFIG_USB_NET_RNDIS_WLAN is not set
+# CONFIG_IWLWIFI_LEDS is not set
CONFIG_HOSTAP=m
CONFIG_HOSTAP_FIRMWARE=y
# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
# CONFIG_HOSTAP_PLX is not set
# CONFIG_HOSTAP_PCI is not set
-# CONFIG_BCM43XX is not set
-# CONFIG_ZD1211RW is not set
#
# USB Network Adapters
@@ -1023,7 +1151,6 @@ CONFIG_PPP_BSDCOMP=m
# CONFIG_SLIP is not set
CONFIG_SLHC=m
# 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
@@ -1111,13 +1238,15 @@ CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_VT_HW_CONSOLE_BINDING is not set
+CONFIG_DEVKMEM=y
# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_NOZOMI is not set
#
# Serial drivers
#
CONFIG_SERIAL_8250=y
-# CONFIG_SERIAL_8250_CONSOLE is not set
+CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
@@ -1129,6 +1258,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4
# 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
@@ -1138,8 +1268,6 @@ CONFIG_PRINTER=y
# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
# CONFIG_NVRAM is not set
-# CONFIG_RTC is not set
-# CONFIG_GEN_RTC is not set
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
@@ -1155,18 +1283,14 @@ CONFIG_PRINTER=y
# CONFIG_TELCLOCK is not set
CONFIG_DEVPORT=y
# CONFIG_I2C is not set
-
-#
-# SPI support
-#
# CONFIG_SPI is not set
-# CONFIG_SPI_MASTER is not set
# CONFIG_W1 is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
# CONFIG_PDA_POWER is not set
# CONFIG_BATTERY_DS2760 is not set
# CONFIG_HWMON is not set
+CONFIG_THERMAL=y
# CONFIG_WATCHDOG is not set
#
@@ -1174,8 +1298,10 @@ CONFIG_POWER_SUPPLY=y
#
CONFIG_SSB_POSSIBLE=y
CONFIG_SSB=m
+CONFIG_SSB_SPROM=y
CONFIG_SSB_PCIHOST_POSSIBLE=y
CONFIG_SSB_PCIHOST=y
+# CONFIG_SSB_B43_PCI_BRIDGE is not set
# CONFIG_SSB_SILENT is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
@@ -1185,16 +1311,30 @@ CONFIG_SSB_DRIVER_PCICORE=y
# Multifunction device drivers
#
# CONFIG_MFD_SM501 is not set
+# CONFIG_HTC_PASIC3 is not set
# CONFIG_HTC_ASIC3 is not set
# CONFIG_HTC_ASIC3_DS1WM is not set
#
# Multimedia devices
#
+
+#
+# Multimedia core support
+#
CONFIG_VIDEO_DEV=m
-CONFIG_VIDEO_V4L1=y
+CONFIG_VIDEO_V4L2_COMMON=m
+CONFIG_VIDEO_ALLOW_V4L1=y
CONFIG_VIDEO_V4L1_COMPAT=y
-CONFIG_VIDEO_V4L2=y
+# CONFIG_DVB_CORE is not set
+CONFIG_VIDEO_MEDIA=m
+
+#
+# Multimedia drivers
+#
+# CONFIG_MEDIA_ATTACH is not set
+CONFIG_VIDEO_V4L2=m
+CONFIG_VIDEO_V4L1=m
CONFIG_VIDEO_CAPTURE_DRIVERS=y
# CONFIG_VIDEO_ADV_DEBUG is not set
CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
@@ -1206,6 +1346,7 @@ CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
# CONFIG_VIDEO_CPIA2 is not set
# CONFIG_VIDEO_STRADIS is not set
CONFIG_V4L_USB_DRIVERS=y
+# CONFIG_USB_VIDEO_CLASS is not set
# CONFIG_USB_VICAM is not set
# CONFIG_USB_IBMCAM is not set
# CONFIG_USB_KONICAWC is not set
@@ -1218,6 +1359,8 @@ CONFIG_USB_STV680=m
# CONFIG_USB_ZC0301 is not set
# CONFIG_USB_PWC is not set
# CONFIG_USB_ZR364XX is not set
+# CONFIG_USB_STKWEBCAM is not set
+# CONFIG_SOC_CAMERA is not set
CONFIG_RADIO_ADAPTERS=y
# CONFIG_RADIO_CADET is not set
# CONFIG_RADIO_RTRACK is not set
@@ -1234,7 +1377,7 @@ CONFIG_RADIO_ADAPTERS=y
# CONFIG_RADIO_TYPHOON is not set
# CONFIG_RADIO_ZOLTRIX is not set
CONFIG_USB_DSBR=m
-# CONFIG_DVB_CORE is not set
+# CONFIG_USB_SI470X is not set
CONFIG_DAB=y
# CONFIG_USB_DABUSB is not set
@@ -1275,8 +1418,8 @@ CONFIG_FB_CFB_IMAGEBLIT=m
# CONFIG_FB_SYS_FILLRECT is not set
# CONFIG_FB_SYS_COPYAREA is not set
# CONFIG_FB_SYS_IMAGEBLIT is not set
+# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_SYS_FOPS is not set
-# CONFIG_FB_DEFERRED_IO is not set
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set
@@ -1296,7 +1439,7 @@ CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_UVESA=m
# CONFIG_FB_VESA is not set
# CONFIG_FB_EFI is not set
-# CONFIG_FB_HECUBA is not set
+# CONFIG_FB_N411 is not set
# CONFIG_FB_HGA is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
@@ -1359,7 +1502,6 @@ CONFIG_LOGO=y
CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y
# CONFIG_LOGO_LINUX_CLUT224 is not set
-CONFIG_LOGO_OHAND_CLUT224=y
#
# Sound
@@ -1388,6 +1530,7 @@ CONFIG_SND_VERBOSE_PROCFS=y
#
# Generic devices
#
+# CONFIG_SND_PCSP is not set
CONFIG_SND_AC97_CODEC=y
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_VIRMIDI is not set
@@ -1443,10 +1586,12 @@ CONFIG_SND_AC97_CODEC=y
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AW2 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_OXYGEN is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS5530 is not set
@@ -1473,6 +1618,7 @@ CONFIG_SND_AC97_CODEC=y
# CONFIG_SND_HDA_INTEL is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_HDSPM is not set
+# CONFIG_SND_HIFIER is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
CONFIG_SND_INTEL8X0=y
@@ -1486,10 +1632,12 @@ CONFIG_SND_INTEL8X0=y
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_SIS7019 is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VIRTUOSO is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_YMFPCI is not set
# CONFIG_SND_AC97_POWER_SAVE is not set
@@ -1507,7 +1655,11 @@ CONFIG_SND_INTEL8X0=y
# CONFIG_SND_SOC is not set
#
-# SoC Audio support for SuperH
+# ALSA SoC audio for Freescale SOCs
+#
+
+#
+# SoC Audio for the Texas Instruments OMAP
#
#
@@ -1533,6 +1685,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
#
# Miscellaneous USB options
@@ -1541,17 +1694,19 @@ CONFIG_USB_DEVICEFS=y
CONFIG_USB_DEVICE_CLASS=y
# CONFIG_USB_DYNAMIC_MINORS is not set
CONFIG_USB_SUSPEND=y
-# CONFIG_USB_PERSIST is not set
# CONFIG_USB_OTG is not set
+# CONFIG_USB_OTG_WHITELIST is not set
+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
#
# USB Host Controller Drivers
#
+# CONFIG_USB_C67X00_HCD is not set
CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_SPLIT_ISO=y
# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
# CONFIG_USB_EHCI_TT_NEWSCHED is not set
# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_ISP1760_HCD is not set
CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
@@ -1565,6 +1720,7 @@ CONFIG_USB_SL811_HCD=m
#
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=m
+# CONFIG_USB_WDM is not set
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -1584,7 +1740,9 @@ CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
# CONFIG_USB_LIBUSUAL is not set
#
@@ -1598,11 +1756,8 @@ CONFIG_USB_MON=y
# USB port drivers
#
# CONFIG_USB_USS720 is not set
-
-#
-# USB Serial Converter support
-#
CONFIG_USB_SERIAL=m
+CONFIG_USB_EZUSB=y
CONFIG_USB_SERIAL_GENERIC=y
# CONFIG_USB_SERIAL_AIRCABLE is not set
# CONFIG_USB_SERIAL_AIRPRIME is not set
@@ -1623,6 +1778,7 @@ CONFIG_USB_SERIAL_EDGEPORT=m
CONFIG_USB_SERIAL_EDGEPORT_TI=m
CONFIG_USB_SERIAL_GARMIN=m
CONFIG_USB_SERIAL_IPW=m
+# CONFIG_USB_SERIAL_IUU is not set
CONFIG_USB_SERIAL_KEYSPAN_PDA=m
CONFIG_USB_SERIAL_KEYSPAN=m
# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
@@ -1642,9 +1798,11 @@ CONFIG_USB_SERIAL_KOBIL_SCT=m
CONFIG_USB_SERIAL_MCT_U232=m
# CONFIG_USB_SERIAL_MOS7720 is not set
# CONFIG_USB_SERIAL_MOS7840 is not set
+# CONFIG_USB_SERIAL_MOTOROLA is not set
# CONFIG_USB_SERIAL_NAVMAN is not set
CONFIG_USB_SERIAL_PL2303=m
# CONFIG_USB_SERIAL_OTI6858 is not set
+# CONFIG_USB_SERIAL_SPCP8X5 is not set
# CONFIG_USB_SERIAL_HP4X is not set
CONFIG_USB_SERIAL_SAFE=m
# CONFIG_USB_SERIAL_SAFE_PADDED is not set
@@ -1655,7 +1813,6 @@ CONFIG_USB_SERIAL_XIRCOM=m
# CONFIG_USB_SERIAL_OPTION is not set
CONFIG_USB_SERIAL_OMNINET=m
# CONFIG_USB_SERIAL_DEBUG is not set
-CONFIG_USB_EZUSB=y
#
# USB Miscellaneous drivers
@@ -1680,39 +1837,61 @@ CONFIG_USB_IDMOUSE=m
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set
-
-#
-# USB DSL modem support
-#
-
-#
-# USB Gadget Support
-#
+# CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_GADGET is not set
# CONFIG_MMC is not set
+# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
#
# LED drivers
#
+# CONFIG_LEDS_CLEVO_MAIL is not set
#
# LED Triggers
#
# CONFIG_LEDS_TRIGGERS is not set
+# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND is not set
# CONFIG_EDAC is not set
-# CONFIG_RTC_CLASS is not set
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY is not set
-CONFIG_VIRTUALIZATION=y
-# CONFIG_KVM is not set
-# CONFIG_LGUEST is not set
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+
+#
+# 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
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# SPI RTC drivers
+#
#
-# Userspace I/O
+# Platform RTC drivers
#
+CONFIG_RTC_DRV_CMOS=y
+# CONFIG_RTC_DRV_DS1511 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_STK17TA8 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# on-CPU RTC drivers
+#
+# CONFIG_DMADEVICES is not set
+# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set
#
@@ -1722,6 +1901,7 @@ CONFIG_VIRTUALIZATION=y
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not set
CONFIG_DMIID=y
+# CONFIG_ISCSI_IBFT_FIND is not set
#
# File systems
@@ -1737,14 +1917,11 @@ CONFIG_JBD=y
# CONFIG_JFS_FS is not set
# CONFIG_FS_POSIX_ACL is not set
# 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_DNOTIFY=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 is not set
# CONFIG_FUSE_FS is not set
@@ -1792,12 +1969,11 @@ CONFIG_TMPFS=y
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
CONFIG_CRAMFS=m
-CONFIG_SQUASHFS=m
-# CONFIG_SQUASHFS_EMBEDDED is not set
-CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
CONFIG_NETWORK_FILESYSTEMS=y
@@ -1805,12 +1981,10 @@ 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=y
CONFIG_NFSD_V3=y
# CONFIG_NFSD_V3_ACL is not set
# CONFIG_NFSD_V4 is not set
-# CONFIG_NFSD_TCP is not set
CONFIG_ROOT_NFS=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
@@ -1894,11 +2068,6 @@ CONFIG_NLS_KOI8_R=m
CONFIG_NLS_KOI8_U=m
CONFIG_NLS_UTF8=y
# CONFIG_DLM is not set
-CONFIG_INSTRUMENTATION=y
-CONFIG_PROFILING=y
-CONFIG_OPROFILE=m
-# CONFIG_KPROBES is not set
-# CONFIG_MARKERS is not set
#
# Kernel hacking
@@ -1907,17 +2076,32 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y
# CONFIG_PRINTK_TIME is not set
CONFIG_ENABLE_WARN_DEPRECATED=y
CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=1024
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 is not set
# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_LATENCYTOP is not set
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_NONPROMISC_DEVMEM is not set
CONFIG_EARLY_PRINTK=y
+# CONFIG_4KSTACKS is not set
CONFIG_X86_FIND_SMP_CONFIG=y
CONFIG_X86_MPPARSE=y
CONFIG_DOUBLEFAULT=y
+CONFIG_IO_DELAY_TYPE_0X80=0
+CONFIG_IO_DELAY_TYPE_0XED=1
+CONFIG_IO_DELAY_TYPE_UDELAY=2
+CONFIG_IO_DELAY_TYPE_NONE=3
+CONFIG_IO_DELAY_0X80=y
+# CONFIG_IO_DELAY_0XED is not set
+# CONFIG_IO_DELAY_UDELAY is not set
+# CONFIG_IO_DELAY_NONE is not set
+CONFIG_DEFAULT_IO_DELAY_TYPE=0
#
# Security options
@@ -1926,59 +2110,103 @@ CONFIG_DOUBLEFAULT=y
# CONFIG_SECURITY is not set
# CONFIG_SECURITY_FILE_CAPABILITIES is not set
CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
CONFIG_CRYPTO_ALGAPI=m
+CONFIG_CRYPTO_AEAD=m
CONFIG_CRYPTO_BLKCIPHER=m
CONFIG_CRYPTO_HASH=m
CONFIG_CRYPTO_MANAGER=m
+# CONFIG_CRYPTO_GF128MUL is not set
+CONFIG_CRYPTO_NULL=m
+# CONFIG_CRYPTO_CRYPTD is not set
+CONFIG_CRYPTO_AUTHENC=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Authenticated Encryption with Associated Data
+#
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_SEQIV is not set
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=m
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+CONFIG_CRYPTO_ECB=m
+# CONFIG_CRYPTO_LRW is not set
+CONFIG_CRYPTO_PCBC=m
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
CONFIG_CRYPTO_HMAC=m
# CONFIG_CRYPTO_XCBC is not set
-CONFIG_CRYPTO_NULL=m
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_SHA1=m
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_WP512=m
# CONFIG_CRYPTO_TGR192 is not set
-# CONFIG_CRYPTO_GF128MUL is not set
-CONFIG_CRYPTO_ECB=m
-CONFIG_CRYPTO_CBC=m
-CONFIG_CRYPTO_PCBC=m
-# CONFIG_CRYPTO_LRW is not set
-# CONFIG_CRYPTO_XTS is not set
-# CONFIG_CRYPTO_CRYPTD is not set
-CONFIG_CRYPTO_DES=m
-# CONFIG_CRYPTO_FCRYPT is not set
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_TWOFISH_COMMON=m
-# CONFIG_CRYPTO_TWOFISH_586 is not set
-CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_WP512=m
+
+#
+# Ciphers
+#
CONFIG_CRYPTO_AES=m
# CONFIG_CRYPTO_AES_586 is not set
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_DES=m
+# CONFIG_CRYPTO_FCRYPT is not set
CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_ANUBIS=m
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SALSA20_586 is not set
# CONFIG_CRYPTO_SEED is not set
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+# CONFIG_CRYPTO_TWOFISH_586 is not set
+
+#
+# Compression
+#
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_LZO=m
-CONFIG_CRYPTO_MICHAEL_MIC=m
-CONFIG_CRYPTO_CRC32C=m
-CONFIG_CRYPTO_CAMELLIA=m
-CONFIG_CRYPTO_TEST=m
-# CONFIG_CRYPTO_AUTHENC is not set
# CONFIG_CRYPTO_HW is not set
+CONFIG_HAVE_KVM=y
+CONFIG_VIRTUALIZATION=y
+# CONFIG_KVM is not set
+# CONFIG_LGUEST is not set
+# CONFIG_VIRTIO_PCI is not set
+# CONFIG_VIRTIO_BALLOON is not set
#
# Library routines
#
CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_FIRST_BIT=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_CRC_CCITT=y
# CONFIG_CRC16 is not set
-# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC_ITU_T=y
CONFIG_CRC32=y
# CONFIG_CRC7 is not set
CONFIG_LIBCRC32C=m
@@ -1987,6 +2215,10 @@ CONFIG_ZLIB_INFLATE=m
CONFIG_ZLIB_DEFLATE=m
CONFIG_LZO_COMPRESS=m
CONFIG_LZO_DECOMPRESS=m
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
diff --git a/recipes/linux/linux-rp_2.6.26.bb b/recipes/linux/linux-rp_2.6.26.bb
index baf15a1237..2d6c9f6742 100644
--- a/recipes/linux/linux-rp_2.6.26.bb
+++ b/recipes/linux/linux-rp_2.6.26.bb
@@ -1,10 +1,10 @@
require linux-rp.inc
-PR = "r9"
+PR = "r11"
DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_qemuarm = "-1"
-DEFAULT_PREFERENCE_qemux86 = "-1"
+DEFAULT_PREFERENCE_qemux86 = "1"
DEFAULT_PREFERENCE_spitz = "1"
DEFAULT_PREFERENCE_collie = "1"
DEFAULT_PREFERENCE_akita = "1"
diff --git a/recipes/linux/linux_2.6.27.bb b/recipes/linux/linux_2.6.27.bb
index 5d2d485b12..0b873a65a7 100644
--- a/recipes/linux/linux_2.6.27.bb
+++ b/recipes/linux/linux_2.6.27.bb
@@ -1,6 +1,6 @@
require linux.inc
-PR = "r7"
+PR = "r8"
# Mark archs/machines that this kernel supports
DEFAULT_PREFERENCE = "-1"
@@ -18,7 +18,6 @@ SRC_URI_append_boc01 = "\
file://005-090226-isl12024.patch;patch=1 \
file://007-081217-lm73.patch;patch=1 \
file://008-081208-spi.patch;patch=1 \
- file://010-090112-mii.patch;patch=1 \
file://011-090115-gpio.patch;patch=1 \
file://012-090219-capsense.patch;patch=1 \
file://013-090306-lcd.patch;patch=1 \
diff --git a/recipes/linux/linux_2.6.29.bb b/recipes/linux/linux_2.6.29.bb
index e99802b9e0..0d1ced114c 100644
--- a/recipes/linux/linux_2.6.29.bb
+++ b/recipes/linux/linux_2.6.29.bb
@@ -1,17 +1,36 @@
require linux.inc
+PR = "r1"
+
S = "${WORKDIR}/linux-2.6.29"
# Mark archs/machines that this kernel supports
DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_boc01 = "1"
+DEFAULT_PREFERENCE_canyonlands = "1"
DEFAULT_PREFERENCE_tosa = "1"
DEFAULT_PREFERENCE_vortex86sx = "1"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.29.tar.bz2 \
file://defconfig"
-SRC_URI_append_tosa = " \
- file://0001-pxa-make-second-argument-of-clk_add_alias-a-name-in.patch;patch=1 \
- file://0002-spi-pxa2xx-spi-set-default-cs_control-to-null_cs_co.patch;patch=1 \
+SRC_URI_append_boc01 = "\
+ file://boc01.dts \
+ file://001-090114-sqn11x0-usb-hack.patch;patch=1 \
+ file://004-081205-usb.patch;patch=1 \
+ file://005-090226-isl12024.patch;patch=1 \
+ file://007-081217-lm73.patch;patch=1 \
+ file://008-081208-spi.patch;patch=1 \
+ file://011-090115-gpio.patch;patch=1 \
+ file://012-090219-capsense.patch;patch=1 \
+ file://013-090306-lcd.patch;patch=1 \
"
+SRC_URI_append_canyonlands = " \
+ file://0001-powerpc-4xx-Add-PPC4xx-PCIe-MSI-support.patch;patch=1 \
+ "
+
+SRC_URI_append_tosa = " \
+ file://0001-pxa-make-second-argument-of-clk_add_alias-a-name-in.patch;patch=1 \
+ file://0002-spi-pxa2xx-spi-set-default-cs_control-to-null_cs_co.patch;patch=1 \
+ "
diff --git a/recipes/llvm/llvm-2.4/fix-build.patch b/recipes/llvm/llvm-2.4/fix-build.patch
deleted file mode 100644
index ed077affcd..0000000000
--- a/recipes/llvm/llvm-2.4/fix-build.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-Index: llvm-2.4/Makefile.rules
-===================================================================
---- llvm-2.4.orig/Makefile.rules 2008-10-03 23:24:52.000000000 +0200
-+++ llvm-2.4/Makefile.rules 2009-01-24 09:59:20.000000000 +0100
-@@ -234,9 +234,10 @@
- EXTRA_OPTIONS += -fstrict-aliasing -Wstrict-aliasing
- endif
-
-- CXX.Flags += $(OPTIMIZE_OPTION) $(OmitFramePointer)
-- C.Flags += $(OPTIMIZE_OPTION) $(OmitFramePointer)
-- LD.Flags += $(OPTIMIZE_OPTION)
-+# OE: Do not interfere with flags given by OE
-+# CXX.Flags += $(OPTIMIZE_OPTION) $(OmitFramePointer)
-+# C.Flags += $(OPTIMIZE_OPTION) $(OmitFramePointer)
-+# LD.Flags += $(OPTIMIZE_OPTION)
- else
- BuildMode := Debug
- CXX.Flags += -g
-@@ -309,11 +310,7 @@
- #--------------------------------------------------------------------
- TargetMode :=
- ifeq ($(LLVM_CROSS_COMPILING),1)
-- ifeq ($(BUILD_COMPONENT),1)
-- TargetMode := Build
-- else
-- TargetMode := Host
-- endif
-+ TargetMode := Host
- BuildLLVMToolDir := $(LLVM_OBJ_ROOT)/$(BuildMode)/Build/bin
- endif
-
-@@ -436,7 +433,7 @@
- ifdef EXAMPLE_TOOL
- LD.Flags += -rpath $(ExmplDir) -export-dynamic
- else
-- LD.Flags += -rpath $(ToolDir) -export-dynamic
-+ LD.Flags += -export-dynamic
- endif
- endif
-
-Index: llvm-2.4/lib/ExecutionEngine/JIT/JIT.cpp
-===================================================================
---- llvm-2.4.orig/lib/ExecutionEngine/JIT/JIT.cpp 2008-09-24 18:25:55.000000000 +0200
-+++ llvm-2.4/lib/ExecutionEngine/JIT/JIT.cpp 2009-01-23 15:10:03.000000000 +0100
-@@ -65,7 +65,7 @@
- }
-
-
--#if defined (__GNUC__)
-+#if defined (__GNUC__) && ! defined (__ARM_EABI__)
-
- // libgcc defines the __register_frame function to dynamically register new
- // dwarf frames for exception handling. This functionality is not portable
-@@ -225,7 +225,7 @@
- }
-
- // Register routine for informing unwinding runtime about new EH frames
--#if defined(__GNUC__)
-+#if defined(__GNUC__) && ! defined(__ARM_EABI__)
- #if defined(__APPLE__)
- struct LibgccObjectInfo* LOI = (struct LibgccObjectInfo*)
- _keymgr_get_and_lock_processwide_ptr(KEYMGR_GCC3_DW2_OBJ_LIST);
-Index: llvm-2.4/Makefile
-===================================================================
---- llvm-2.4.orig/Makefile 2008-10-03 00:56:44.000000000 +0200
-+++ llvm-2.4/Makefile 2009-01-23 15:10:33.000000000 +0100
-@@ -27,9 +27,9 @@
-
- # When cross-compiling, there are some things (tablegen) that need to
- # be build for the build system.
--ifeq ($(LLVM_CROSS_COMPILING),1)
-- BUILD_TARGET_DIRS := lib/System lib/Support utils
--endif
-+#ifeq ($(LLVM_CROSS_COMPILING),1)
-+# BUILD_TARGET_DIRS := lib/System lib/Support utils
-+#endif
-
- # llvm-gcc4 doesn't need runtime libs. llvm-gcc4 is the only supported one.
- # FIXME: Remove runtime entirely once we have an understanding of where
diff --git a/recipes/llvm/llvm-2.4/fix-static-initialization.patch b/recipes/llvm/llvm-2.4/fix-static-initialization.patch
deleted file mode 100644
index a3ec2d6374..0000000000
--- a/recipes/llvm/llvm-2.4/fix-static-initialization.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-Index: llvm-2.4/include/llvm/System/DynamicLibrary.h
-===================================================================
---- llvm-2.4.orig/include/llvm/System/DynamicLibrary.h 2008-05-06 03:32:53.000000000 +0200
-+++ llvm-2.4/include/llvm/System/DynamicLibrary.h 2009-01-24 11:24:12.000000000 +0100
-@@ -16,6 +16,7 @@
-
- #include "llvm/System/Path.h"
- #include <string>
-+#include <map>
-
- namespace llvm {
- namespace sys {
-@@ -90,6 +91,10 @@
- DynamicLibrary(const DynamicLibrary&); ///< Do not implement
- DynamicLibrary& operator=(const DynamicLibrary&); ///< Do not implement
- /// @}
-+
-+ private:
-+ static std::map<std::string, void *> &g_symbols();
-+
- };
-
- } // End sys namespace
-Index: llvm-2.4/lib/System/DynamicLibrary.cpp
-===================================================================
---- llvm-2.4.orig/lib/System/DynamicLibrary.cpp 2008-07-10 02:52:20.000000000 +0200
-+++ llvm-2.4/lib/System/DynamicLibrary.cpp 2009-01-24 11:27:42.000000000 +0100
-@@ -14,14 +14,18 @@
- #include "llvm/System/DynamicLibrary.h"
- #include "llvm/Config/config.h"
- #include <cstring>
--#include <map>
-
- // Collection of symbol name/value pairs to be searched prior to any libraries.
--static std::map<std::string, void *> g_symbols;
-+std::map<std::string, void *> &llvm::sys::DynamicLibrary::g_symbols() {
-+ static std::map<std::string, void *> *symbols
-+ = new std::map<std::string, void *>();
-+
-+ return *symbols;
-+}
-
- void llvm::sys::DynamicLibrary::AddSymbol(const char* symbolName,
- void *symbolValue) {
-- g_symbols[symbolName] = symbolValue;
-+ g_symbols()[symbolName] = symbolValue;
- }
-
- // It is not possible to use ltdl.c on VC++ builds as the terms of its LGPL
-@@ -75,8 +79,8 @@
- // check_ltdl_initialization();
-
- // First check symbols added via AddSymbol().
-- std::map<std::string, void *>::iterator I = g_symbols.find(symbolName);
-- if (I != g_symbols.end())
-+ std::map<std::string, void *>::iterator I = g_symbols().find(symbolName);
-+ if (I != g_symbols().end())
- return I->second;
-
- // Now search the libraries.
diff --git a/recipes/llvm/llvm-common-native.bb b/recipes/llvm/llvm-common-native.bb
new file mode 100644
index 0000000000..c2b79bd6a5
--- /dev/null
+++ b/recipes/llvm/llvm-common-native.bb
@@ -0,0 +1,12 @@
+require llvm-common.bb
+
+inherit native
+
+do_install() {
+ :
+}
+
+do_stage() {
+ install -d ${STAGING_BINDIR}
+ install -m 0755 ${WORKDIR}/llvm-config ${STAGING_BINDIR}
+}
diff --git a/recipes/llvm/llvm-common.bb b/recipes/llvm/llvm-common.bb
new file mode 100644
index 0000000000..b7f2bfc011
--- /dev/null
+++ b/recipes/llvm/llvm-common.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "Helper script for OE's llvm support"
+
+SRC_URI = "file://llvm-config"
+
+PACKAGES = ""
+
+do_install() {
+ :
+}
+
+do_stage() {
+ install -d ${STAGING_BINDIR_CROSS}
+ install -m 0755 ${WORKDIR}/llvm-config ${STAGING_BINDIR_CROSS}
+}
diff --git a/recipes/llvm/llvm-common/llvm-config b/recipes/llvm/llvm-common/llvm-config
new file mode 100644
index 0000000000..5256b8cd06
--- /dev/null
+++ b/recipes/llvm/llvm-common/llvm-config
@@ -0,0 +1,10 @@
+#!/bin/sh
+# Wrapper script for real llvm-config. Simply calls
+
+if [ $WANT_LLVM_RELEASE ]; then
+ exec `dirname $0`/llvm-config$WANT_LLVM_RELEASE ${@}
+else
+ echo "The variable WANT_LLVM_RELEASE is not defined and exported"
+ echo "by your build recipe. Go figure."
+ exit 1
+fi
diff --git a/recipes/llvm/llvm-gcc4-cross_svn.bb b/recipes/llvm/llvm-gcc4-cross_svn.bb
index 9b0e07ab94..4cd5ae1db6 100644
--- a/recipes/llvm/llvm-gcc4-cross_svn.bb
+++ b/recipes/llvm/llvm-gcc4-cross_svn.bb
@@ -2,10 +2,12 @@ DESCRIPTION = "The Low Level Virtual Machine - gcc4 frontend"
HOMEPAGE = "http://llvm.org"
LICENSE = "various"
-DEPENDS = "llvm-native"
+DEPENDS = "llvm2.5-native"
PV = "2.1+svnr${SRCREV}"
+PR = "r1"
+
inherit autotools cross
SRC_URI = "svn://anonsvn.opensource.apple.com/svn/llvm/;module=trunk \
diff --git a/recipes/llvm/llvm-gcc4_svn.bb b/recipes/llvm/llvm-gcc4_svn.bb
index 599e2ca183..6a39362080 100644
--- a/recipes/llvm/llvm-gcc4_svn.bb
+++ b/recipes/llvm/llvm-gcc4_svn.bb
@@ -2,10 +2,12 @@ DESCRIPTION = "The Low Level Virtual Machine - gcc4 frontend"
HOMEPAGE = "http://llvm.org"
LICENSE = "various"
-DEPENDS = "llvm-native"
+DEPENDS = "llvm2.5-native"
PV = "2.0+svnr${SRCREV}"
+PR = "r1"
+
inherit autotools cross
SRC_URI = "svn://anonsvn.opensource.apple.com/svn/llvm/;module=trunk \
diff --git a/recipes/llvm/llvm-native.inc b/recipes/llvm/llvm-native.inc
new file mode 100644
index 0000000000..a7d7fa3830
--- /dev/null
+++ b/recipes/llvm/llvm-native.inc
@@ -0,0 +1,26 @@
+require llvm.inc
+
+DEPENDS = "llvm-common-native"
+
+inherit native
+
+# the difference to the non-native build is that we do not need
+# to declare the location of the tblgen executable.
+EXTRA_OECMAKE = "\
+ -DLLVM_TARGETS_TO_BUILD=${LLVM_ARCH} \
+ -DCMAKE_LINKER:FILEPATH=${LD} \
+ -DCMAKE_AR:FILEPATH=${AR} \
+ -DCMAKE_OBJCOPY:FILEPATH=${OBJCOPY} \
+ -DCMAKE_OBJDUMP:FILEPATH=${OBJDUMP} \
+ -DCMAKE_RANLIB:FILEPATH=${RANLIB} \
+ -DCMAKE_STRIP:FILEPATH=${STRIP} \
+"
+
+do_stage() {
+ llvm_stage
+
+ install -d ${STAGING_BINDIR}
+ install -m 0755 build/bin/llvm-config${LLVM_RELEASE} ${STAGING_BINDIR}
+}
+
+
diff --git a/recipes/llvm/llvm-native_1.9.bb b/recipes/llvm/llvm-native_1.9.bb
deleted file mode 100644
index 1493bab886..0000000000
--- a/recipes/llvm/llvm-native_1.9.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require llvm.inc
-
-inherit native
-
-S = "${WORKDIR}/llvm-${PV}"
-
-do_stage() {
- install -m 755 ${S}/Release/bin/* ${STAGING_BINDIR_NATIVE}/
-}
diff --git a/recipes/llvm/llvm-native_2.1.bb b/recipes/llvm/llvm-native_2.1.bb
deleted file mode 100644
index 6366b9bbbe..0000000000
--- a/recipes/llvm/llvm-native_2.1.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require llvm.inc
-
-SRC_URI = "http://llvm.org/releases/2.1/llvm-${PV}.tar.gz"
-
-
-inherit native
-
-S = "${WORKDIR}/llvm-${PV}"
-
-do_stage() {
- install -m 755 ${S}/Release/bin/* ${STAGING_BINDIR_NATIVE}/
-}
-
-do_rm_work() {
- :
-}
diff --git a/recipes/llvm/llvm-native_2.4.bb b/recipes/llvm/llvm-native_2.4.bb
deleted file mode 100644
index 2e0a73fe86..0000000000
--- a/recipes/llvm/llvm-native_2.4.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require llvm.inc
-
-SRC_URI = "http://llvm.org/releases/2.4/llvm-${PV}.tar.gz"
-
-inherit native
-
-S = "${WORKDIR}/llvm-${PV}"
-
-do_stage() {
- install -m 755 ${S}/Release/bin/* ${STAGING_BINDIR_NATIVE}/
-}
-
-do_rm_work() {
- :
-}
diff --git a/recipes/llvm/llvm-native_cvs.bb b/recipes/llvm/llvm-native_cvs.bb
deleted file mode 100644
index b3dfdebb2c..0000000000
--- a/recipes/llvm/llvm-native_cvs.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require llvm.inc
-
-inherit native
-
-PV = "1.9+cvs${SRCDATE}"
-
-SRC_URI = "cvs://anon@llvm.org/var/cvs/llvm;module=llvm"
-
-S = "${WORKDIR}/llvm"
-
-do_stage() {
- install -m 755 ${S}/Debug/bin/* ${STAGING_BINDIR_NATIVE}/
-}
diff --git a/recipes/llvm/llvm.inc b/recipes/llvm/llvm.inc
index d9664aeebd..7e6bacb3e7 100644
--- a/recipes/llvm/llvm.inc
+++ b/recipes/llvm/llvm.inc
@@ -1,16 +1,124 @@
+# LLVM does not provide ABI stability between different versions. For this
+# reason OE makes it possible to build and install different llvm versions
+# at the same time.
+#
+# This is true for the normal recipes as well as the native ones.
+#
+# All regular installation directories are prefixed with 'llvm${LLVM_RELEASE}'
+# e.g. "${STAGING_BINDIR}/llvm2.5" or "${STAGING_INCDIR}/llvm2.5"
+#
+# For your program or library that makes use of llvm you do should not need to
+# modify anything as long as it uses the results of various llvm-config
+# invocations. If you need customizations something is wrong and it needs to be
+# fixed (report bug).
+#
+# However the *recipe* for your program/library *must* declare
+# export WANT_LLVM_RELEASE = "<valid version number>
+# The version number is picked up by a generic wrapper script which just calls
+# the variant of the specified version.
+
DESCRIPTION = "The Low Level Virtual Machine"
HOMEPAGE = "http://llvm.org"
-LICENSE = "various"
-SRC_URI = "http://llvm.org/releases/1.9/llvm-${PV}.tar.gz"
+DEPENDS = "llvm-common llvm${LLVM_RELEASE}-native"
+
+# 3-clause BSD-like
+LICENSE = "University of Illinois/NCSA Open Source License"
+
+SRC_URI = "http://llvm.org/releases/${PV}/llvm-${PV}.tar.gz"
+
+S = "${WORKDIR}/llvm-${PV}"
+
+inherit cmake
+
+# Defines the LLVM supported arches. By now we always build either for ${BUILD}
+# (native) or ${TARGET}. In the future it may make sense to enable all backends
+# for the non-native build. The decision which backends are used is made by
+# the 3rd party program or library that uses llvm anyway.
+LLVM_ARCH = "${@get_llvm_arch(d)}"
+
+# This is used for generating the install directory for the llvm libraries,
+# binaries and headers. It makes side by side installation of those possible.
+LLVM_RELEASE = "${PV}"
+
+# llvm *must* be built out of tree
+OECMAKE_SOURCEPATH = ".."
+OECMAKE_BUILDPATH = "build"
+EXTRA_OEMAKE = "-C build"
+EXTRA_OECMAKE = "\
+ -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm${LLVM_RELEASE}/tblgen \
+ -DLLVM_TARGETS_TO_BUILD=${LLVM_ARCH} \
+ -DCMAKE_LINKER:FILEPATH=${LD} \
+ -DCMAKE_AR:FILEPATH=${AR} \
+ -DCMAKE_OBJCOPY:FILEPATH=${OBJCOPY} \
+ -DCMAKE_OBJDUMP:FILEPATH=${OBJDUMP} \
+ -DCMAKE_RANLIB:FILEPATH=${RANLIB} \
+ -DCMAKE_STRIP:FILEPATH=${STRIP} \
+ -DLLVM_ENABLE_PIC:BOOL=ON \
+"
+
+llvm_stage() {
+ # Install into a private directory to be able to reorganize the files.
+ oe_runmake DESTDIR=${WORKDIR}/llvm-install install
+
+ # Create our custom target directories
+ install -d ${STAGING_BINDIR}/llvm${LLVM_RELEASE}
+ install -d ${STAGING_INCDIR}/llvm${LLVM_RELEASE}
+ install -d ${STAGING_LIBDIR}/llvm${LLVM_RELEASE}
-inherit autotools
+ # Move headers into their own directory
+ cp -r ${WORKDIR}/llvm-install/${prefix}/include/llvm \
+ ${STAGING_INCDIR}/llvm${LLVM_RELEASE}/
+ cp -r ${WORKDIR}/llvm-install/${prefix}/include/llvm-c \
+ ${STAGING_INCDIR}/llvm${LLVM_RELEASE}/
-do_configure() {
- oe_runconf
+ # llvm somehow forgets these
+# find include/llvm -name "*.h" -maxdepth 1 -exec \
+# install {} ${STAGING_INCDIR}/llvm${LLVM_RELEASE}/llvm \;
+
+ find ${WORKDIR}/llvm-install/${prefix}/lib -name "*" -maxdepth 1 -exec \
+ install {} ${STAGING_LIBDIR}/llvm${LLVM_RELEASE} \;
+
+ # I dont know another way out. Binaries are installed into a special subdir
+ find ${WORKDIR}/llvm-install/${prefix}/bin -name "*" -maxdepth 1 -exec \
+ install {} ${STAGING_BINDIR}/llvm${LLVM_RELEASE} \;
+
+ # LLVM does not install this by default.
+ install build/bin/tblgen ${STAGING_BINDIR}/llvm${LLVM_RELEASE}
+
+ # Fix the paths in the config script to make it find the binaries and
+ # library files. Doing so allows 3rd party configure scripts working
+ # unmodified.
+ sed -e's!my.*ABS_RUN_DIR =.*!my $ABS_RUN_DIR = "${STAGING_DIR_TARGET}";!' \
+ -e's!my.*INCLUDEDIR =.*!my $INCLUDEDIR = "${STAGING_INCDIR}/llvm${LLVM_RELEASE}";!' \
+ -e's!my.*LIBDIR.*!my $LIBDIR = "${STAGING_LIBDIR}/llvm${LLVM_RELEASE}";!' \
+ -e's!my.*BINDIR.*!my $BINDIR = "${STAGING_BINDIR}/llvm${LLVM_RELEASE}";!' \
+ build/bin/llvm-config > build/bin/llvm-config${LLVM_RELEASE}
}
do_stage() {
- autotools_stage_all
-}
+ llvm_stage
+
+ install -d ${STAGING_BINDIR_CROSS}
+ install -m 0755 build/bin/llvm-config${LLVM_RELEASE} ${STAGING_BINDIR_CROSS}
+}
+
+# Retrieve the target in a way that is compatible to the arch
+# value in llvm (>= 2.5)
+def get_llvm_arch(d):
+ import bb;
+
+ arch = bb.data.getVar('TARGET_ARCH', d, 1)
+ if arch == "x86_64" or arch == "i486" or arch == "i586" or arch == "i686":
+ arch = "X86"
+ elif arch == "arm":
+ arch = "ARM"
+ elif arch == "mipsel":
+ arch = "Mips"
+ elif arch == "powerpc":
+ arch = "PowerPC"
+ else:
+ oefatal("Your target architecture is not supported by this recipe");
+
+ return arch
diff --git a/recipes/llvm/llvm2.5-native_2.5.bb b/recipes/llvm/llvm2.5-native_2.5.bb
new file mode 100644
index 0000000000..13b5a446b7
--- /dev/null
+++ b/recipes/llvm/llvm2.5-native_2.5.bb
@@ -0,0 +1,4 @@
+require llvm-native.inc
+
+SRC_URI += "file://fix-build.patch;patch=1"
+
diff --git a/recipes/llvm/llvm-2.5/fix-build.patch b/recipes/llvm/llvm2.5/fix-build.patch
index 527823c18c..527823c18c 100644
--- a/recipes/llvm/llvm-2.5/fix-build.patch
+++ b/recipes/llvm/llvm2.5/fix-build.patch
diff --git a/recipes/llvm/llvm2.5_2.5.bb b/recipes/llvm/llvm2.5_2.5.bb
new file mode 100644
index 0000000000..355634e0fa
--- /dev/null
+++ b/recipes/llvm/llvm2.5_2.5.bb
@@ -0,0 +1,4 @@
+require llvm.inc
+
+SRC_URI += "file://fix-build.patch;patch=1"
+
diff --git a/recipes/llvm/llvm_2.0.bb b/recipes/llvm/llvm_2.0.bb
deleted file mode 100644
index 7e80f245cc..0000000000
--- a/recipes/llvm/llvm_2.0.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require llvm.inc
-
-SRC_URI = "http://llvm.org/releases/2.0/llvm-${PV}.tar.gz"
-
-S = "${WORKDIR}/llvm-${PV}"
-
diff --git a/recipes/llvm/llvm_2.4.bb b/recipes/llvm/llvm_2.4.bb
deleted file mode 100644
index fef48f5343..0000000000
--- a/recipes/llvm/llvm_2.4.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-DESCRIPTION = "The Low Level Virtual Machine"
-HOMEPAGE = "http://llvm.org"
-LICENSE = "various"
-
-SRC_URI = "\
- http://llvm.org/releases/${PV}/llvm-${PV}.tar.gz \
- file://fix-build.patch;patch=1 \
- file://fix-static-initialization.patch;patch=1 \
- file://fix-ldr_pre.patch;patch=1 \
- "
-
-DEPENDS = "llvm-native"
-
-inherit autotools
-
-# --enable-debug-runtime disables automatic stripping and lets
-# OE control that
-EXTRA_OECONF += "--enable-debug-runtime --enable-targets=host-only"
-
-do_compile() {
- # The build wants these binaries, together with the build-fix patch
- # they are not compiled again (which would not work).
- # Most important aspect is removing BUILD_TARGET_DIRS variable.
- install -d Release/Build/bin
- cp ${STAGING_BINDIR_NATIVE}/tblgen Release/Build/bin
- cp ${STAGING_BINDIR_NATIVE}/fpcmp Release/Build/bin
- cp ${STAGING_BINDIR_NATIVE}/llvm-PerfectShuffle Release/Build/bin
-
- oe_runmake
-}
-
-do_stage() {
- autotools_stage_all
-
- rm ${STAGING_LIBDIR}/LLVMHello.*
-
- install -d ${STAGING_BINDIR_CROSS}
-
- sed -e's^my.*ABS_RUN_DIR =.*^my $ABS_RUN_DIR = "${STAGING_DIR_TARGET}";^' \
- -e's^my.*INCLUDEDIR =.*^my $INCLUDEDIR = "${STAGING_INCDIR}";^' \
- -e's^my.*LIBDIR.*^my $LIBDIR = "${STAGING_LIBDIR}";^' \
- -e's^my.*BINDIR.*^my $BINDIR = "${STAGING_BINDIR}";^' \
- Release/Host/bin/llvm-config > ${STAGING_BINDIR_CROSS}/llvm-config
-
- chmod +x ${STAGING_BINDIR_CROSS}/llvm-config
-}
-
diff --git a/recipes/llvm/llvm_2.5.bb b/recipes/llvm/llvm_2.5.bb
deleted file mode 100644
index ece64422b5..0000000000
--- a/recipes/llvm/llvm_2.5.bb
+++ /dev/null
@@ -1,67 +0,0 @@
-DESCRIPTION = "The Low Level Virtual Machine"
-HOMEPAGE = "http://llvm.org"
-LICENSE = "various"
-
-SRC_URI = "\
- http://llvm.org/releases/${PV}/llvm-${PV}.tar.gz \
- file://fix-build.patch;patch=1 \
-"
-
-PR = "r2"
-
-DEPENDS = "llvm-native"
-
-inherit cmake
-
-OECMAKE_SOURCEPATH = ".."
-OECMAKE_BUILDPATH = "build"
-EXTRA_OEMAKE = "-C build"
-EXTRA_OECMAKE = "\
- -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/tblgen \
- -DLLVM_TARGETS_TO_BUILD=${@get_llvm_arch(d)} \
- -DCMAKE_LINKER:FILEPATH=${LD} \
- -DCMAKE_AR:FILEPATH=${AR} \
- -DCMAKE_OBJCOPY:FILEPATH=${OBJCOPY} \
- -DCMAKE_OBJDUMP:FILEPATH=${OBJDUMP} \
- -DCMAKE_RANLIB:FILEPATH=${RANLIB} \
- -DCMAKE_STRIP:FILEPATH=${STRIP} \
-"
-
-do_stage() {
- oe_runmake DESTDIR="${STAGING_DIR_HOST}" install
-
- install -d ${STAGING_INCDIR}/llvm
- find include/llvm -name "*.h" -maxdepth 1 -exec \
- install {} ${STAGING_INCDIR}/llvm \;
-
- install -d ${STAGING_BINDIR_CROSS}
-
- # Fix some paths in the script to make it work correctly
- sed -e's^my.*ABS_RUN_DIR =.*^my $ABS_RUN_DIR = "${STAGING_DIR_TARGET}";^' \
- -e's^my.*INCLUDEDIR =.*^my $INCLUDEDIR = "${STAGING_INCDIR}";^' \
- -e's^my.*LIBDIR.*^my $LIBDIR = "${STAGING_LIBDIR}";^' \
- -e's^my.*BINDIR.*^my $BINDIR = "${STAGING_BINDIR}";^' \
- build/bin/llvm-config > ${STAGING_BINDIR_CROSS}/llvm-config
-
- chmod +x ${STAGING_BINDIR_CROSS}/llvm-config
-}
-
-# Retrieve the target in a way that is compatible to the arch
-# value in llvm (>= 2.5)
-def get_llvm_arch(d):
- import bb;
-
- arch = bb.data.getVar('TARGET_ARCH', d, 1)
- if arch == "x86_64" or arch == "i486" or arch == "i586" or arch == "i686":
- arch = "X86"
- elif arch == "arm":
- arch = "ARM"
- elif arch == "mipsel":
- arch = "Mips"
- elif arch == "powerpc":
- arch = "PowerPC"
- else:
- oefatal("Your target architecture is not supported by this recipe");
-
- return arch
-
diff --git a/recipes/ltp/ltp-20090131/no_epoll_create2_mips.patch b/recipes/ltp/ltp-20090131/no_epoll_create2.patch
index 84ce8e4128..84ce8e4128 100644
--- a/recipes/ltp/ltp-20090131/no_epoll_create2_mips.patch
+++ b/recipes/ltp/ltp-20090131/no_epoll_create2.patch
diff --git a/recipes/ltp/ltp_20090131.bb b/recipes/ltp/ltp_20090131.bb
index 9026ac5081..4793d24e27 100644
--- a/recipes/ltp/ltp_20090131.bb
+++ b/recipes/ltp/ltp_20090131.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://ltp.sourceforge.net"
LICENSE = "GPL"
SECTION = "console/utils"
DEPENDS = "zip-native"
-PR = "r2"
+PR = "r3"
inherit autotools
@@ -14,35 +14,26 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/ltp/ltp-full-${PV}.tgz \
file://no-IDcheck.patch;patch=1 \
file://no_hyperthreading_tests.patch;patch=1"
-SRC_URI_append_mips += "file://no_epoll_create2_mips.patch;patch=1"
-SRC_URI_append_mipsel += "file://no_epoll_create2_mips.patch;patch=1"
+SRC_URI_append_mips += "file://no_epoll_create2.patch;patch=1"
+SRC_URI_append_mipsel += "file://no_epoll_create2.patch;patch=1"
+SRC_URI_append_arm += "file://no_epoll_create2.patch;patch=1"
+SRC_URI_append_armeb += "file://no_epoll_create2.patch;patch=1"
S = "${WORKDIR}/ltp-full-${PV}"
EXTRA_OEMAKE_append = " CROSS_COMPILE=${HOST_PREFIX}"
-FILES_${PN}-dbg = "${libexecdir}/ltp/*/*/*/*/*/.debug"
+FILES_${PN}-dbg = "${libexecdir}/ltp/*/*/*/*/*/*/*/*/*/.debug"
+FILES_${PN}-dbg += "${libexecdir}/ltp/*/*/*/*/*/*/*/*/.debug"
+FILES_${PN}-dbg += "${libexecdir}/ltp/*/*/*/*/*/*/*/.debug"
+FILES_${PN}-dbg += "${libexecdir}/ltp/*/*/*/*/*/*/.debug"
+FILES_${PN}-dbg += "${libexecdir}/ltp/*/*/*/*/*/.debug"
FILES_${PN}-dbg += "${libexecdir}/ltp/*/*/*/*/.debug"
FILES_${PN}-dbg += "${libexecdir}/ltp/*/*/*/.debug"
FILES_${PN}-dbg += "${libexecdir}/ltp/*/*/.debug"
FILES_${PN}-dbg += "${libexecdir}/ltp/*/.debug"
-#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/misc/math/float/trigo/.debug"
-#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/misc/math/float/iperb/.debug"
-#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/misc/math/float/exp_log/.debug"
-#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/misc/math/float/power/.debug"
-#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/misc/math/float/bessel/.debug"
-#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/misc/math/abs/.debug"
-#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/misc/math/atof/.debug"
-#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/misc/math/nextafter/.debug"
-#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/misc/math/fptests/.debug"
-#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/misc/f00f/.debug"
-#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/misc/crash/.debug"
-#FILES_${PN}-dbg += "${libexecdir}/ltp/pan/.debug"
-#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/network/ipv6/*/.debug"
-#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/network/rpc/rpc01/.debug"
-#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/bin/.debug"
-#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/kernel/syscalls/*/.debug"
-#FILES_${PN}-dbg += "${libexecdir}/ltp/testcases/kernel/mem/*/.debug"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
do_compile(){
oe_runmake CROSS_COMPILE=${HOST_PREFIX}
diff --git a/recipes/makedevs/makedevs_1.0.0.bb b/recipes/makedevs/makedevs_1.0.0.bb
index 249e1a47c4..5579e61bdd 100644
--- a/recipes/makedevs/makedevs_1.0.0.bb
+++ b/recipes/makedevs/makedevs_1.0.0.bb
@@ -6,7 +6,7 @@ PRIORITY = "required"
SRC_URI = "file://makedevs.c"
S = "${WORKDIR}/makedevs-${PV}"
-PR = "r6"
+PR = "r7"
inherit update-alternatives
@@ -15,7 +15,7 @@ do_configure() {
}
do_compile() {
- ${CC} ${CFLAGS} -L${STAGING_LIBDIR}/ -o ${S}/makedevs ${S}/makedevs.c
+ ${CC} ${CFLAGS} ${LDFLAGS} -o ${S}/makedevs ${S}/makedevs.c
}
do_install() {
diff --git a/recipes/mb-desktop-xine/mb-desktop-xine_0.4.bb b/recipes/mb-desktop-xine/mb-desktop-xine_0.4.bb
index e7a933ee0c..a718b0a37d 100644
--- a/recipes/mb-desktop-xine/mb-desktop-xine_0.4.bb
+++ b/recipes/mb-desktop-xine/mb-desktop-xine_0.4.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "foo"
HOMEPAGE = "http://projects.o-hand.com/matchbox/"
LICENSE = "GPL"
-DEPENDS = "matchbox-desktop libxine-x11"
+DEPENDS = "matchbox-desktop libxine"
RDEPENDS = "libxine-plugin-vo-out-xshm \
libxine-plugin-vo-out-none \
libxine-plugin-ao-out-esd \
diff --git a/recipes/mc/mc.inc b/recipes/mc/mc.inc
index 3c622ec736..6bd3ebeb99 100644
--- a/recipes/mc/mc.inc
+++ b/recipes/mc/mc.inc
@@ -11,13 +11,14 @@ SRC_URI = "http://www.ibiblio.org/pub/Linux/utils/file/managers/mc/mc-${PV}.tar.
inherit autotools
-EXTRA_OECONF = "--libexecdir=${libdir} --disable-glibtest --without-x --without-samba \
+EXTRA_OECONF = "--disable-glibtest --without-x --without-samba \
--without-nfs --without-gpm-mouse --with-screen=ncurses"
PACKAGES += "${PN}-extfs ${PN}-hilite"
-FILES_${PN} = "${bindir}/ ${libdir}/ ${datadir}/mc/*.charsets ${datadir}/mc/*.ext ${datadir}/mc/*.hint ${datadir}/mc/*.hlp ${datadir}/mc/*.lib ${datadir}/mc/*.menu ${datadir}/mc/*.rc ${datadir}/mc/bin /etc/profile.d"
+FILES_${PN} = "${bindir}/ ${libexecdir}/mc ${datadir}/mc/*.charsets ${datadir}/mc/*.ext ${datadir}/mc/*.hint ${datadir}/mc/*.hlp ${datadir}/mc/*.lib ${datadir}/mc/*.menu ${datadir}/mc/*.rc ${datadir}/mc/bin /etc/profile.d"
FILES_${PN}-extfs = "${datadir}/mc/extfs/"
FILES_${PN}-hilite = "${datadir}/mc/syntax/"
+FILES_${PN}-dbg += "${libexecdir}/mc/.debug"
RRECOMMENDS_${PN} += "${PN}-extfs ${PN}-hilite"
RDEPENDS_${PN}-extfs = "${PN}"
RDEPENDS_${PN}-hilite = "${PN}"
diff --git a/recipes/mc/mc_4.6.2.bb b/recipes/mc/mc_4.6.2.bb
index 9310857b66..75d2a1b551 100644
--- a/recipes/mc/mc_4.6.2.bb
+++ b/recipes/mc/mc_4.6.2.bb
@@ -23,7 +23,7 @@ SRC_URI = "http://www.midnight-commander.org/downloads/${P}.tar.gz \
file://mc-cursor-appearance.patch;patch=1 \
file://mc-esc-seq.patch;patch=1"
-EXTRA_OECONF = "--libexecdir=${libdir} --without-x --without-samba \
+EXTRA_OECONF = "--without-x --without-samba \
--without-nfs --without-gpm-mouse --enable-charset"
do_unpack_append() {
diff --git a/recipes/meta/meta-toolchain-neuros.bb b/recipes/meta/meta-toolchain-neuros.bb
index f60fbf0063..087ddcb325 100644
--- a/recipes/meta/meta-toolchain-neuros.bb
+++ b/recipes/meta/meta-toolchain-neuros.bb
@@ -1,6 +1,6 @@
# Toolchain for neuros-osd devices
-PR = "r3"
+PR = "r4"
TOOLCHAIN_HOST_TASK = "task-sdk-host \
qmake2-sdk uicmoc4-sdk"
@@ -9,7 +9,7 @@ require meta-toolchain.bb
TOOLCHAIN_TARGET_TASK += " \
dbus dbus-dev \
- qt-embedded qt-embedded-dev \
+ qt4-embedded qt4-embedded-dev \
"
SDK_SUFFIX = "toolchain-neuros"
diff --git a/recipes/mozilla/firefox-3.0.8/0001-Remove-Werror-from-build.patch b/recipes/mozilla/firefox-3.0.8/0001-Remove-Werror-from-build.patch
new file mode 100644
index 0000000000..8fe1087b4d
--- /dev/null
+++ b/recipes/mozilla/firefox-3.0.8/0001-Remove-Werror-from-build.patch
@@ -0,0 +1,45 @@
+From 48a378ae647cbd6f8466bd0e8dbb04400bb175a8 Mon Sep 17 00:00:00 2001
+From: Eduardo Valentin <eduardo.valentin@openpossa.org>
+Date: Thu, 24 Jul 2008 16:05:09 -0400
+Subject: [PATCH 1/1] Remove -Werror from build
+
+Remove -Werror from build
+
+Signed-off-by: Eduardo Valentin <eduardo.valentin@openpossa.org>
+---
+ configure | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/configure b/configure
+index a2d84ab..402e70a 100755
+--- a/configure
++++ b/configure
+@@ -5344,7 +5344,7 @@ if test "$GNU_CC"; then
+ # Don't allow undefined symbols in libraries
+ DSO_LDOPTS="$DSO_LDOPTS -Wl,-z,defs"
+ fi
+- WARNINGS_AS_ERRORS='-Werror'
++ WARNINGS_AS_ERRORS=''
+ DSO_CFLAGS=''
+ DSO_PIC_CFLAGS='-fPIC'
+ _MOZ_RTTI_FLAGS_ON=${_COMPILER_PREFIX}-frtti
+@@ -6811,7 +6811,7 @@ EOF
+ IMPLIB='emximp -o'
+ FILTER='emxexp -o'
+ LDFLAGS='-Zmap'
+- WARNINGS_AS_ERRORS='-Werror'
++ WARNINGS_AS_ERRORS=''
+ MOZ_DEBUG_FLAGS="-g -fno-inline"
+ MOZ_OPTIMIZE_FLAGS="-O2"
+ MOZ_OPTIMIZE_LDFLAGS="-s -Zlinker /EXEPACK:2 -Zlinker /PACKCODE -Zlinker /PACKDATA"
+@@ -7048,7 +7048,7 @@ else
+ fi
+ rm -f conftest*
+ fi
+- WARNINGS_AS_ERRORS='-Werror'
++ WARNINGS_AS_ERRORS=''
+ MOZ_OPTIMIZE_FLAGS="-xO4"
+ MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_FLAGS) $(DSO_LDOPTS) -h $@ -o $@'
+ MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_FLAGS) -G -z muldefs -h $@ -o $@'
+--
+1.5.4.3
diff --git a/recipes/mozilla/firefox-3.0.8/0002-Fix-security-cross-compile-cpu-detection-error.patch b/recipes/mozilla/firefox-3.0.8/0002-Fix-security-cross-compile-cpu-detection-error.patch
new file mode 100644
index 0000000000..ce8d4d9948
--- /dev/null
+++ b/recipes/mozilla/firefox-3.0.8/0002-Fix-security-cross-compile-cpu-detection-error.patch
@@ -0,0 +1,42 @@
+From 599b26141d493ff19633796ce5e19b00315d3821 Mon Sep 17 00:00:00 2001
+From: Eduardo Valentin <eduardo.valentin@openpossa.org>
+Date: Fri, 25 Jul 2008 11:20:02 -0400
+Subject: [PATCH 1/1] Fix security cross compile cpu detection error
+
+Fix security cross compile cpu detection error.
+Reference to bug 376279.
+
+Signed-off-by: Eduardo Valentin <eduardo.valentin@openpossa.org>
+---
+ security/coreconf/arch.mk | 2 ++
+ security/manager/Makefile.in | 1 +
+ 2 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/security/coreconf/arch.mk b/security/coreconf/arch.mk
+index fba38ff..28da32e 100644
+--- a/security/coreconf/arch.mk
++++ b/security/coreconf/arch.mk
+@@ -66,7 +66,9 @@ OS_ARCH := $(subst /,_,$(shell uname -s))
+ # Attempt to differentiate between sparc and x86 Solaris
+ #
+
++ifndef OE_TEST
+ OS_TEST := $(shell uname -m)
++endif
+ ifeq ($(OS_TEST),i86pc)
+ OS_RELEASE := $(shell uname -r)_$(OS_TEST)
+ else
+diff --git a/security/manager/Makefile.in b/security/manager/Makefile.in
+index 86119f7..86c09ca 100644
+--- a/security/manager/Makefile.in
++++ b/security/manager/Makefile.in
+@@ -240,6 +240,7 @@ DEFAULT_GMAKE_FLAGS += \
+ RC="$(RC) $(RCFLAGS)" \
+ OS_ARCH="$(OS_ARCH)" \
+ CPU_ARCH="$(TARGET_CPU)" \
++ OS_TEST="$(TARGET_CPU)" \
+ $(NULL)
+ SKIP_CHK=1
+ endif
+--
+1.5.4.3
diff --git a/recipes/mozilla/firefox-3.0.8/010_FPU_IS_ARM_FPA_xslt.diff b/recipes/mozilla/firefox-3.0.8/010_FPU_IS_ARM_FPA_xslt.diff
new file mode 100644
index 0000000000..854100c4c3
--- /dev/null
+++ b/recipes/mozilla/firefox-3.0.8/010_FPU_IS_ARM_FPA_xslt.diff
@@ -0,0 +1,56 @@
+# Bug 369722 – prdtoa.c jsnum.h txDouble.h not required IEEE_ARM define on Codesourcery EABI gcc3.4.4 compiler
+#
+--- mozilla/content/xslt/public/txDouble.h.orig 2006-07-13 17:21:52.000000000 +0300
++++ mozilla/content/xslt/public/txDouble.h 2007-10-25 15:01:25.000000000 +0300
+@@ -58,46 +58,48 @@ fp_except_t oldmask = fpsetmask(~allmask
+ /**
+ * Stefan Hanske <sh990154@mail.uni-greifswald.de> reports:
+ * ARM is a little endian architecture but 64 bit double words are stored
+ * differently: the 32 bit words are in little endian byte order, the two words
+ * are stored in big endian`s way.
+ */
+
+ #if defined(__arm) || defined(__arm32__) || defined(__arm26__) || defined(__arm__)
+-#define CPU_IS_ARM
++#if !defined(__VFP_FP__)
++#define FPU_IS_ARM_FPA
++#endif
+ #endif
+
+ #if (__GNUC__ == 2 && __GNUC_MINOR__ > 95) || __GNUC__ > 2
+ /**
+ * This version of the macros is safe for the alias optimizations
+ * that gcc does, but uses gcc-specific extensions.
+ */
+
+ typedef union txdpun {
+ PRFloat64 d;
+ struct {
+-#if defined(IS_LITTLE_ENDIAN) && !defined(CPU_IS_ARM)
++#if defined(IS_LITTLE_ENDIAN) && !defined(FPU_IS_ARM_FPA)
+ PRUint32 lo, hi;
+ #else
+ PRUint32 hi, lo;
+ #endif
+ } s;
+ } txdpun;
+
+ #define TX_DOUBLE_HI32(x) (__extension__ ({ txdpun u; u.d = (x); u.s.hi; }))
+ #define TX_DOUBLE_LO32(x) (__extension__ ({ txdpun u; u.d = (x); u.s.lo; }))
+
+ #else // __GNUC__
+
+ /* We don't know of any non-gcc compilers that perform alias optimization,
+ * so this code should work.
+ */
+
+-#if defined(IS_LITTLE_ENDIAN) && !defined(CPU_IS_ARM)
++#if defined(IS_LITTLE_ENDIAN) && !defined(FPU_IS_ARM_FPA)
+ #define TX_DOUBLE_HI32(x) (((PRUint32 *)&(x))[1])
+ #define TX_DOUBLE_LO32(x) (((PRUint32 *)&(x))[0])
+ #else
+ #define TX_DOUBLE_HI32(x) (((PRUint32 *)&(x))[0])
+ #define TX_DOUBLE_LO32(x) (((PRUint32 *)&(x))[1])
+ #endif
+
+ #endif // __GNUC__
diff --git a/recipes/mozilla/firefox-3.0.8/Bug339782.additional.fix.diff b/recipes/mozilla/firefox-3.0.8/Bug339782.additional.fix.diff
new file mode 100644
index 0000000000..0848e730d3
--- /dev/null
+++ b/recipes/mozilla/firefox-3.0.8/Bug339782.additional.fix.diff
@@ -0,0 +1,39 @@
+# XPTC_InvokeByIndex crashes
+# Bug 339782 [ARM] XPTC_InvokeByIndex crashes when cross-compiled under GCC 3.4.x with EABI (CodeSourcery)
+Index: mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp
+===================================================================
+--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp
+@@ -51,22 +51,32 @@
+ #ifdef __ARM_EABI__
+ #define DOUBLEWORD_ALIGN(p) ((PRUint32 *)((((PRUint32)(p)) + 7) & 0xfffffff8))
+ #define VAR_STACK_SIZE_64 3
+ #else
+ #define DOUBLEWORD_ALIGN(p) (p)
+ #define VAR_STACK_SIZE_64 2
+ #endif
+
++#ifdef __ARM_EABI__
++#define DOUBLEWORD_ALIGN(p) ((PRUint32 *)((((PRUint32)(p)) + 7) & 0xfffffff8))
++#else
++#define DOUBLEWORD_ALIGN(p) (p)
++#endif
++
+ // Remember that these 'words' are 32bit DWORDS
+
+ static PRUint32
+ invoke_count_words(PRUint32 paramCount, nsXPTCVariant* s)
+ {
+ PRUint32 result = 0;
++
++ /* Note that we give a "worst case" estimate of how much stack _might_ be
++ * needed, rather than the real count - this should be safe */
++
+ for(PRUint32 i = 0; i < paramCount; i++, s++)
+ {
+ if(s->IsPtrData())
+ {
+ result++;
+ continue;
+ }
+ switch(s->type)
diff --git a/recipes/mozilla/firefox-3.0.8/Bug385583.nspr.jmp_buf.eabi.diff b/recipes/mozilla/firefox-3.0.8/Bug385583.nspr.jmp_buf.eabi.diff
new file mode 100644
index 0000000000..486440c30e
--- /dev/null
+++ b/recipes/mozilla/firefox-3.0.8/Bug385583.nspr.jmp_buf.eabi.diff
@@ -0,0 +1,33 @@
+diff -up mozilla/nsprpub/pr/include/md/_linux.h.orig mozilla/nsprpub/pr/include/md/_linux.h
+--- mozilla/nsprpub/pr/include/md/_linux.h.orig 2007-11-28 14:16:03.000000000 -0500
++++ mozilla/nsprpub/pr/include/md/_linux.h 2007-11-28 14:12:09.000000000 -0500
+@@ -346,8 +346,8 @@ extern void _MD_CleanupBeforeExit(void);
+ #error "Linux/MIPS pre-glibc2 not supported yet"
+ #endif /* defined(__GLIBC__) && __GLIBC__ >= 2 */
+
+-#elif defined(__arm__)
+-/* ARM/Linux */
++#elif defined(__arm__) && !defined(__ARM_EABI__)
++/* ARM/Linux (old-ABI) */
+ #if defined(__GLIBC__) && __GLIBC__ >= 2
+ #define _MD_GET_SP(_t) (_t)->md.context[0].__jmpbuf[20]
+ #define _MD_SET_FP(_t, val) ((_t)->md.context[0].__jmpbuf[19] = (val))
+@@ -358,6 +358,18 @@ extern void _MD_CleanupBeforeExit(void);
+ #error "ARM/Linux pre-glibc2 not supported yet"
+ #endif /* defined(__GLIBC__) && __GLIBC__ >= 2 */
+
++#elif defined(__arm__) && defined(__ARM_EABI__)
++/* ARM/Linux (EABI) */
++#if defined(__GLIBC__) && __GLIBC__ >= 2
++#define _MD_GET_SP(_t) (_t)->md.context[0].__jmpbuf[8]
++#define _MD_SET_FP(_t, val) ((_t)->md.context[0].__jmpbuf[7] = (val))
++#define _MD_GET_SP_PTR(_t) &(_MD_GET_SP(_t))
++#define _MD_GET_FP_PTR(_t) (&(_t)->md.context[0].__jmpbuf[7])
++#define _MD_SP_TYPE __ptr_t
++#else
++#error "ARM/Linux pre-glibc2 not supported yet"
++#endif /* defined(__GLIBC__) && __GLIBC__ >= 2 */
++
+ #else
+
+ #error "Unknown CPU architecture"
diff --git a/recipes/mozilla/firefox-3.0.8/Bug405992.atomic.nspr.diff b/recipes/mozilla/firefox-3.0.8/Bug405992.atomic.nspr.diff
new file mode 100644
index 0000000000..f54f916a6a
--- /dev/null
+++ b/recipes/mozilla/firefox-3.0.8/Bug405992.atomic.nspr.diff
@@ -0,0 +1,48 @@
+# Add atomic operations for ARM.
+diff --git a/nsprpub/pr/include/md/_linux.h b/nsprpub/pr/include/md/_linux.h
+index 5b794c5..cb8d58e 100644
+--- a/nsprpub/pr/include/md/_linux.h
++++ b/nsprpub/pr/include/md/_linux.h
+@@ -194,6 +194,42 @@ extern PRInt32 _PR_x86_64_AtomicSet(PRInt32 *val, PRInt32 newval);
+ })
+ #endif
+
++#if defined(__arm__)
++#define _PR_HAVE_ATOMIC_OPS
++#define _MD_INIT_ATOMIC()
++
++typedef int (__kernel_cmpxchg_t)(int oldval, int newval, volatile int *ptr);
++#define __kernel_cmpxchg (*(__kernel_cmpxchg_t *)0xffff0fc0)
++
++#define _MD_ATOMIC_INCREMENT(ptr) _MD_ATOMIC_ADD(ptr, 1)
++#define _MD_ATOMIC_DECREMENT(ptr) _MD_ATOMIC_ADD(ptr, -1)
++#define _MD_ATOMIC_ADD(ptr, n) \
++ ({ \
++ PRInt32 ov, nv; \
++ volatile PRInt32 *vp = (ptr); \
++ \
++ do { \
++ ov = *vp; \
++ nv = ov + (n); \
++ } \
++ while (__kernel_cmpxchg(ov, nv, vp)); \
++ \
++ nv; \
++ })
++#define _MD_ATOMIC_SET(ptr, nv) \
++ ({ \
++ PRInt32 ov; \
++ volatile PRInt32 *vp = (ptr); \
++ \
++ do { \
++ ov = *vp; \
++ } \
++ while (__kernel_cmpxchg(ov, (nv), vp)); \
++ \
++ ov; \
++ })
++#endif
++
+ #define USE_SETJMP
+ #if defined(__GLIBC__) && __GLIBC__ >= 2
+ #define _PR_POLL_AVAILABLE
diff --git a/recipes/mozilla/firefox-3.0.8/configure-wchart.patch b/recipes/mozilla/firefox-3.0.8/configure-wchart.patch
new file mode 100644
index 0000000000..36ee2a0ba4
--- /dev/null
+++ b/recipes/mozilla/firefox-3.0.8/configure-wchart.patch
@@ -0,0 +1,11 @@
+--- a/configure.in 2008-04-15 12:56:35.000000000 +0300
++++ b/configure.in.old 2008-03-20 21:17:09.000000000 +0200
+@@ -2743,7 +2743,7 @@
+
+ AC_CACHE_CHECK(for compiler -fshort-wchar option,
+ ac_cv_have_usable_wchar_option_v2,
+- [AC_TRY_LINK([#include <stddef.h>
++ [AC_TRY_COMPILE([#include <stddef.h>
+ $configure_static_assert_macros],
+ [CONFIGURE_STATIC_ASSERT(sizeof(wchar_t) == 2);
+ CONFIGURE_STATIC_ASSERT((wchar_t)-1 > (wchar_t) 0)],
diff --git a/recipes/mozilla/firefox-3.0.8/jemalloc-tls.patch b/recipes/mozilla/firefox-3.0.8/jemalloc-tls.patch
new file mode 100644
index 0000000000..d1d740989e
--- /dev/null
+++ b/recipes/mozilla/firefox-3.0.8/jemalloc-tls.patch
@@ -0,0 +1,28 @@
+--- /tmp/jemalloc.c 2008-06-23 10:57:36.000000000 +0200
++++ mozilla/memory/jemalloc/jemalloc.c 2008-06-23 11:20:13.000000000 +0200
+@@ -386,7 +386,7 @@
+ #else
+ # define NO_TLS
+ #endif
+-#if 0
++
+ #ifdef __i386__
+ # define QUANTUM_2POW_MIN 4
+ # define SIZEOF_PTR_2POW 2
+@@ -420,7 +420,6 @@
+ # define QUANTUM_2POW_MIN 4
+ # define SIZEOF_PTR_2POW 2
+ #endif
+-#endif
+
+ #define SIZEOF_PTR (1U << SIZEOF_PTR_2POW)
+
+@@ -2582,7 +2581,7 @@
+ * knowledge of how _pthread_self() calculates values, we can't
+ * easily do much better than this.
+ */
+- ind = (unsigned long) _pthread_self() % narenas;
++ ind = 255255 % narenas;
+
+ /*
+ * Optimistially assume that arenas[ind] has been initialized.
diff --git a/recipes/mozilla/firefox-3.0.8/jsautocfg-dontoverwrite.patch b/recipes/mozilla/firefox-3.0.8/jsautocfg-dontoverwrite.patch
new file mode 100644
index 0000000000..39978cfd11
--- /dev/null
+++ b/recipes/mozilla/firefox-3.0.8/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/recipes/mozilla/firefox-3.0.8/linkage-problem.patch b/recipes/mozilla/firefox-3.0.8/linkage-problem.patch
new file mode 100644
index 0000000000..28bffd1e22
--- /dev/null
+++ b/recipes/mozilla/firefox-3.0.8/linkage-problem.patch
@@ -0,0 +1,14 @@
+--- mozilla/layout/build/Makefile.in~ 2007-11-24 00:38:14.000000000 -0200
++++ mozilla/layout/build/Makefile.in 2007-11-24 00:38:14.000000000 -0200
+@@ -229,6 +229,11 @@
+ $(NULL)
+ endif
+
++ifdef MOZ_ENABLE_XFT
++EXTRA_DSO_LDOPTS += $(MOZ_XFT_LIBS) \
++ $(NULL)
++endif
++
+ ifneq (,$(MOZ_ENABLE_CANVAS)$(MOZ_SVG_RENDERER_CAIRO))
+ EXTRA_DSO_LDOPTS += $(MOZ_CAIRO_LIBS) \
+ $(NULL)
diff --git a/recipes/mozilla/firefox-3.0.8/mozconfig b/recipes/mozilla/firefox-3.0.8/mozconfig
new file mode 100644
index 0000000000..d8d3f3923d
--- /dev/null
+++ b/recipes/mozilla/firefox-3.0.8/mozconfig
@@ -0,0 +1,72 @@
+. $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-bz2
+#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
+ac_add_options --disable-updater
+
+# 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 --disable-gtktest
+ac_add_options --disable-tests
+ac_add_options --disable-printing
+ac_add_options --disable-gnomevfs
+ac_add_options --disable-gnomeui
+ac_add_options --enable-debugger-info-modules
+
+# 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,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=-O2
+
+# Use cairo from system
+ac_add_options --enable-system-cairo
+
+# Disable jemalloc
+ac_add_options --disable-jemalloc
+
+# enable libxul
+ac_add_options --enable-libxul
+
+# Disable striping
+ac_add_options --disable-strip
+ac_add_options --disable-install-strip
diff --git a/recipes/mozilla/firefox-3.0.8/security-cross.patch b/recipes/mozilla/firefox-3.0.8/security-cross.patch
new file mode 100644
index 0000000000..e1c988d7e6
--- /dev/null
+++ b/recipes/mozilla/firefox-3.0.8/security-cross.patch
@@ -0,0 +1,98 @@
+--- 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,93 +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
+-ifeq (,$(filter-out i%86,$(OS_TEST)))
+- OS_REL_CFLAGS = -DLINUX1_2 -Di386 -D_XOPEN_SOURCE
+- CPU_ARCH = x86
+-else
+- OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
+- CPU_ARCH = $(OS_TEST)
+-endif
+-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/recipes/mozilla/firefox_3.0.8.bb b/recipes/mozilla/firefox_3.0.8.bb
new file mode 100644
index 0000000000..fceed37542
--- /dev/null
+++ b/recipes/mozilla/firefox_3.0.8.bb
@@ -0,0 +1,45 @@
+DEPENDS += "cairo"
+PR = "r1"
+
+# Fails to build with gcc 4.3.x due to wchar problems:
+# /OE/angstrom-dev/cross/armv7a/lib/gcc/arm-angstrom-linux-gnueabi/4.3.1/../../../../arm-angstrom-linux-gnueabi/bin/ld: ERROR: mozilla-xremote-client.o: Conflicting definitions of wchar_t
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${PV}/source/firefox-${PV}-source.tar.bz2 \
+ file://jsautocfg.h \
+ file://security-cross.patch;patch=1 \
+ file://jsautocfg-dontoverwrite.patch;patch=1 \
+ file://Bug339782.additional.fix.diff;patch=1 \
+ file://Bug385583.nspr.jmp_buf.eabi.diff;patch=1 \
+ file://Bug405992.atomic.nspr.diff;patch=1 \
+ file://jemalloc-tls.patch;patch=1 \
+ file://0001-Remove-Werror-from-build.patch;patch=1 \
+ file://0002-Fix-security-cross-compile-cpu-detection-error.patch;patch=1 \
+ file://plugins-dir.patch;patch=1 \
+"
+
+S = "${WORKDIR}/mozilla"
+
+inherit mozilla
+require firefox.inc
+
+export HOST_LIBIDL_CONFIG = "${STAGING_BINDIR_NATIVE}/libIDL-config-2"
+FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2"
+
+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}/firefox-${PV}
+ cd dist/sdk/include
+ rm -rf obsolete
+ headers=`find . -name "*.h"`
+ for f in $headers
+ do
+ install -D -m 0644 $f ${STAGING_INCDIR}/firefox-${PV}/
+ done
+ # removes 2 lines that call absent headers
+ sed -e '178,179d' ${STAGING_INCDIR}/firefox-${PV}/nsIServiceManager.h
+}
diff --git a/recipes/ncurses/ncurses/use_ldflags.patch b/recipes/ncurses/ncurses/use_ldflags.patch
new file mode 100644
index 0000000000..e04f1e576c
--- /dev/null
+++ b/recipes/ncurses/ncurses/use_ldflags.patch
@@ -0,0 +1,12 @@
+diff -urN ncurses-5.4.orig/mk-1st.awk ncurses-5.4/mk-1st.awk
+--- ncurses-5.4.orig/mk-1st.awk 2004-01-10 20:48:43.000000000 +0000
++++ ncurses-5.4/mk-1st.awk 2009-04-02 10:23:04.000000000 +0000
+@@ -287,7 +287,7 @@
+ }
+ end_name = lib_name;
+ printf "../lib/%s : $(%s_OBJS)\n", lib_name, OBJS
+- printf "\tcd ../lib && $(LIBTOOL_LINK) $(%s) -o %s $(%s_OBJS:$o=.lo) -rpath $(DESTDIR)$(libdir) -version-info $(NCURSES_MAJOR):$(NCURSES_MINOR) $(SHLIB_LIST)\n", compile, lib_name, OBJS
++ printf "\tcd ../lib && $(LIBTOOL_LINK) $(%s) $(LDFLAGS) -o %s $(%s_OBJS:$o=.lo) -rpath $(DESTDIR)$(libdir) -version-info $(NCURSES_MAJOR):$(NCURSES_MINOR) $(SHLIB_LIST)\n", compile, lib_name, OBJS
+ print ""
+ print "install \\"
+ print "install.libs \\"
diff --git a/recipes/ncurses/ncurses_5.4.bb b/recipes/ncurses/ncurses_5.4.bb
index 56076140fa..eb798df67d 100644
--- a/recipes/ncurses/ncurses_5.4.bb
+++ b/recipes/ncurses/ncurses_5.4.bb
@@ -1,7 +1,8 @@
-PR = "r18"
+PR = "r19"
SRC_URI = "${GNU_MIRROR}/ncurses/ncurses-${PV}.tar.gz \
file://makefile_tweak.patch;patch=1 \
+ file://use_ldflags.patch;patch=1 \
file://visibility.patch;patch=1"
S = "${WORKDIR}/ncurses-${PV}"
diff --git a/recipes/nonworking/sword/gnomesword_2.1.2.bb b/recipes/nonworking/sword/gnomesword_2.1.2.bb
index a4ec60d040..6fe172af88 100644
--- a/recipes/nonworking/sword/gnomesword_2.1.2.bb
+++ b/recipes/nonworking/sword/gnomesword_2.1.2.bb
@@ -1,8 +1,8 @@
DESCRIPTION = "GUI frontend for sword"
HOMEPAGE = "http://gnomesword.sf.net"
LICENSE = "GPLv3"
-DEPENDS = "gail libgnomeui gtkhtml-3.6 gail sword"
-
+DEPENDS = "libgnomeui gtkhtml-3.6 virtual/gail sword"
+PR = "r2"
SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${P}.tar.gz"
diff --git a/recipes/openssl/openssl-0.9.8j/oe-ldflags.patch b/recipes/openssl/openssl-0.9.8j/oe-ldflags.patch
new file mode 100644
index 0000000000..3a2fae64d3
--- /dev/null
+++ b/recipes/openssl/openssl-0.9.8j/oe-ldflags.patch
@@ -0,0 +1,21 @@
+diff -urN openssl-0.9.8j.orig/Makefile.shared openssl-0.9.8j/Makefile.shared
+--- openssl-0.9.8j.orig/Makefile.shared 2008-09-17 15:56:40.000000000 +0000
++++ openssl-0.9.8j/Makefile.shared 2009-04-02 13:44:48.000000000 +0000
+@@ -90,7 +90,7 @@
+ LINK_APP= \
+ ( $(SET_X); \
+ LIBDEPS="$${LIBDEPS:-$(LIBDEPS)}"; \
+- LDCMD="$${LDCMD:-$(CC)}"; LDFLAGS="$${LDFLAGS:-$(CFLAGS)}"; \
++ LDCMD="$${LDCMD:-$(CC)}"; LDFLAGS="$(OE_LDFLAGS) $${LDFLAGS:-$(CFLAGS)}"; \
+ LIBPATH=`for x in $$LIBDEPS; do if echo $$x | grep '^ *-L' > /dev/null 2>&1; then echo $$x | sed -e 's/^ *-L//'; fi; done | uniq`; \
+ LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
+ LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
+@@ -100,7 +100,7 @@
+ ( $(SET_X); \
+ LIBDEPS="$${LIBDEPS:-$(LIBDEPS)}"; \
+ SHAREDCMD="$${SHAREDCMD:-$(CC)}"; \
+- SHAREDFLAGS="$${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
++ SHAREDFLAGS="$(OE_LDFLAGS) $${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
+ LIBPATH=`for x in $$LIBDEPS; do if echo $$x | grep '^ *-L' > /dev/null 2>&1; then echo $$x | sed -e 's/^ *-L//'; fi; done | uniq`; \
+ LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
+ LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
diff --git a/recipes/openssl/openssl-native_0.9.8g.bb b/recipes/openssl/openssl-native_0.9.8g.bb
index 1ad90a0001..4975cf5b1d 100644
--- a/recipes/openssl/openssl-native_0.9.8g.bb
+++ b/recipes/openssl/openssl-native_0.9.8g.bb
@@ -1,7 +1,5 @@
inherit pkgconfig native
-DEFAULT_PREFERENCE = "-1"
-
require openssl.inc
PR = "r1"
diff --git a/recipes/openssl/openssl-native_0.9.8j.bb b/recipes/openssl/openssl-native_0.9.8j.bb
index 5f3e3076cb..2a69855eb6 100644
--- a/recipes/openssl/openssl-native_0.9.8j.bb
+++ b/recipes/openssl/openssl-native_0.9.8j.bb
@@ -1,7 +1,5 @@
inherit pkgconfig native
-DEFAULT_PREFERENCE = "-1"
-
require openssl.inc
PR = "r1"
diff --git a/recipes/openssl/openssl_0.9.8j.bb b/recipes/openssl/openssl_0.9.8j.bb
index d40fb48bfe..21450d2a24 100644
--- a/recipes/openssl/openssl_0.9.8j.bb
+++ b/recipes/openssl/openssl_0.9.8j.bb
@@ -2,10 +2,13 @@ inherit pkgconfig
require openssl.inc
-PR = "r1"
+PR = "r2"
+
+export OE_LDFLAGS="${LDFLAGS}"
SRC_URI += "file://configure-targets.patch;patch=1 \
file://shared-libs.patch;patch=1 \
- file://debian.patch;patch=1"
+ file://debian.patch;patch=1 \
+ file://oe-ldflags.patch;patch=1"
PARALLEL_MAKE = ""
diff --git a/recipes/opie-mediaplayer2/opie-mediaplayer2.inc b/recipes/opie-mediaplayer2/opie-mediaplayer2.inc
index b4fb39bbe7..248704d779 100644
--- a/recipes/opie-mediaplayer2/opie-mediaplayer2.inc
+++ b/recipes/opie-mediaplayer2/opie-mediaplayer2.inc
@@ -3,7 +3,7 @@ It plays mp3, mpeg, wav, ogg, quicktime, divx, etc. and is capable of streaming.
SECTION = "opie/multimedia"
PRIORITY = "optional"
LICENSE = "GPL"
-DEPENDS = "libxine-fb libqtaux2 opie-mediaplayer2-skin-default"
+DEPENDS = "libxine libqtaux2 opie-mediaplayer2-skin-default"
RDEPENDS = "opie-mediaplayer2-skin-default"
RRECOMMENDS = "libxine-plugin-ao-out-oss libxine-plugin-inp-file \
libxine-plugin-decode-ff libxine-plugin-decode-mad \
diff --git a/recipes/perl/perl-5.8.8/shared-ldflags.patch b/recipes/perl/perl-5.8.8/shared-ldflags.patch
new file mode 100644
index 0000000000..b872dc919c
--- /dev/null
+++ b/recipes/perl/perl-5.8.8/shared-ldflags.patch
@@ -0,0 +1,11 @@
+diff -urN perl-5.8.8.orig/Cross/generate_config_sh perl-5.8.8/Cross/generate_config_sh
+--- perl-5.8.8.orig/Cross/generate_config_sh 2003-09-05 08:31:08.000000000 +0000
++++ perl-5.8.8/Cross/generate_config_sh 2009-04-02 14:59:56.000000000 +0000
+@@ -30,6 +30,7 @@
+ $callbacks->{'cppstdin'} = [\&simple_process_append, ["CC", "arm-linux-gcc -E", "-E"]];
+ $callbacks->{'full_ar'} = [\&backtick, ["AR", "which $ENV{AR}", "/usr/local/arm/2.95.3/bin/arm-linux-ar"]];
+ $callbacks->{'ld'} = [\&simple_process, ["LD", "arm-linux-ld"]];
++$callbacks->{'lddlflags'} = [\&simple_process, ["LDDLFLAGS", ""]];
+ $callbacks->{'ldflags'} = [\&simple_process, ["LDFLAGS", ""]];
+ $callbacks->{'ldflags_uselargefiles'} = [\&simple_process, ["LDFLAGS", ""]];
+ $callbacks->{'myarchname'} = [\&simple_process, ["SYS", "armv4l-linux"]];
diff --git a/recipes/perl/perl_5.8.8.bb b/recipes/perl/perl_5.8.8.bb
index 2118bba68f..521cdf65e5 100644
--- a/recipes/perl/perl_5.8.8.bb
+++ b/recipes/perl/perl_5.8.8.bb
@@ -5,7 +5,7 @@ LICENSE = "Artistic|GPL"
PRIORITY = "optional"
# We need gnugrep (for -I)
DEPENDS = "virtual/db perl-native grep-native"
-PR = "r26"
+PR = "r27"
# Major part of version
PVM = "5.8"
@@ -29,6 +29,7 @@ SRC_URI = "ftp://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz \
file://62_debian_cpan_definstalldirs.patch;patch=1 \
file://64_debian_enc2xs_inc.patch;patch=1 \
file://asm-pageh-fix.patch;patch=1 \
+ file://shared-ldflags.patch;patch=1 \
file://config.sh \
file://config.sh-32 \
file://config.sh-32-le \
@@ -43,6 +44,9 @@ HOSTPERL = "${STAGING_BINDIR_NATIVE}/perl${PV}"
# Where to find .so files - use the -native versions not those from the target build
export PERLHOSTLIB = "${STAGING_LIBDIR_NATIVE}/perl/${PV}/"
+# LDFLAGS for shared libraries
+export LDDLFLAGS = "${LDFLAGS} -shared"
+
do_configure() {
# Make hostperl in build directory be the native perl
cp -f ${HOSTPERL} hostperl
diff --git a/recipes/procps/procps_3.2.7.bb b/recipes/procps/procps_3.2.7.bb
index 689fc33503..6da975adc7 100644
--- a/recipes/procps/procps_3.2.7.bb
+++ b/recipes/procps/procps_3.2.7.bb
@@ -1,6 +1,6 @@
require procps.inc
-PR = "r7"
+PR = "r8"
inherit update-rc.d
@@ -22,8 +22,8 @@ FILES = "${bindir}/top.${PN} ${base_bindir}/ps.${PN} ${bindir}/uptime.${PN} ${ba
CONFFILES_${PN} = "${sysconfdir}/sysctl.conf"
EXTRA_OEMAKE = "CFLAGS=-I${STAGING_INCDIR} \
- CPPFLAGS=-I${STAGING_INCDIR} \
- LDFLAGS=-L${STAGING_LIBDIR} -Wl,--rpath-link,${STAGING_LIBDIR} \
+ CPPFLAGS=-I${STAGING_INCDIR} \
+ LDFLAGS="${LDFLAGS}" \
CURSES=-lncurses \
install='install -D' \
ldconfig=echo"
diff --git a/recipes/qt4/files/configure-lflags.patch b/recipes/qt4/files/configure-lflags.patch
new file mode 100644
index 0000000000..df195494ee
--- /dev/null
+++ b/recipes/qt4/files/configure-lflags.patch
@@ -0,0 +1,13 @@
+Index: qtopia-core-opensource-src-4.3.3/configure
+===================================================================
+--- qtopia-core-opensource-src-4.3.3.orig/configure 2008-01-14 08:53:51.000000000 +0000
++++ qtopia-core-opensource-src-4.3.3/configure 2008-01-14 08:54:07.000000000 +0000
+@@ -447,7 +447,7 @@
+ # initalize variables
+ #-------------------------------------------------------------------------------
+
+-SYSTEM_VARIABLES="CC CXX CFLAGS CXXFLAGS LDFLAGS"
++SYSTEM_VARIABLES="CC CXX CFLAGS CXXFLAGS LDFLAGS LFLAGS"
+ for varname in $SYSTEM_VARIABLES; do
+ cmd=`echo \
+ 'if [ -n "\$'${varname}'" ]; then
diff --git a/recipes/qt4/qt4-embedded_4.4.3.bb b/recipes/qt4/qt4-embedded_4.4.3.bb
index 050b2c66ac..c7685c3770 100644
--- a/recipes/qt4/qt4-embedded_4.4.3.bb
+++ b/recipes/qt4/qt4-embedded_4.4.3.bb
@@ -4,7 +4,7 @@ LICENSE = "GPL QPL"
PRIORITY = "optional"
HOMEPAGE = "http://www.trolltech.com"
DEPENDS += "tslib"
-PR = "r10"
+PR = "r11"
SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-embedded-linux-opensource-src-${PV}.tar.bz2 \
file://0001-cross-compile.patch;patch=1 \
@@ -29,7 +29,7 @@ QT_CONFIG_FLAGS += " \
-DQT_KEYPAD_NAVIGATION \
"
-QT_BASE_NAME = "qt-embedded"
+QT_BASE_NAME = "qt4-embedded"
QT_BASE_LIB = "libqt-embedded"
QT_DIR_NAME = "qtopia"
QT_LIBINFIX="E"
diff --git a/recipes/qt4/qt4-embedded_4.5.0.bb b/recipes/qt4/qt4-embedded_4.5.0.bb
index 90a3b28a8f..35b56de48a 100644
--- a/recipes/qt4/qt4-embedded_4.5.0.bb
+++ b/recipes/qt4/qt4-embedded_4.5.0.bb
@@ -4,6 +4,7 @@ LICENSE = "GPL LGPL QPL"
PRIORITY = "optional"
HOMEPAGE = "http://www.trolltech.com"
DEPENDS += "tslib"
+PR = "r1"
DEFAULT_PREFERENCE = "-1"
SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-embedded-linux-opensource-src-${PV}.tar.bz2 \
@@ -30,7 +31,7 @@ QT_CONFIG_FLAGS += " \
-DQT_KEYPAD_NAVIGATION \
"
-QT_BASE_NAME = "qt-embedded"
+QT_BASE_NAME = "qt4-embedded"
QT_BASE_LIB = "libqt-embedded"
QT_DIR_NAME = "qtopia"
QT_LIBINFIX="E"
diff --git a/recipes/qt4/qt4-tools-native.inc b/recipes/qt4/qt4-tools-native.inc
index fe2f94a6d8..df5afd3c15 100644
--- a/recipes/qt4/qt4-tools-native.inc
+++ b/recipes/qt4/qt4-tools-native.inc
@@ -8,6 +8,7 @@ LICENSE = "GPL"
inherit native
SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-embedded-linux-opensource-src-${PV}.tar.bz2 \
+ file://configure-lflags.patch;patch=1 \
file://qt-config.patch;patch=1 \
file://g++.conf \
file://linux.conf"
@@ -29,7 +30,7 @@ EXTRA_OECONF = "-prefix ${prefix} \
EXTRA_OEMAKE = " "
do_configure() {
- echo yes | ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}"
+ echo yes | LFLAGS="-L${STAGING_LIBDIR_NATIVE}" ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}"
}
TOBUILD = "\
diff --git a/recipes/qt4/qt4-tools-native_4.4.3.bb b/recipes/qt4/qt4-tools-native_4.4.3.bb
index 8a8d46fb8d..ef86db4703 100644
--- a/recipes/qt4/qt4-tools-native_4.4.3.bb
+++ b/recipes/qt4/qt4-tools-native_4.4.3.bb
@@ -1,2 +1,2 @@
require qt4-tools-native.inc
-PR = "r2"
+PR = "r3"
diff --git a/recipes/qt4/qt4-tools-native_4.5.0.bb b/recipes/qt4/qt4-tools-native_4.5.0.bb
index 6e5474be31..ab633149ba 100644
--- a/recipes/qt4/qt4-tools-native_4.5.0.bb
+++ b/recipes/qt4/qt4-tools-native_4.5.0.bb
@@ -1,5 +1,5 @@
require qt4-tools-native.inc
-PR = "r0"
+PR = "r1"
DEFAULT_PREFERENCE = "-1"
TOBUILD := "src/tools/bootstrap ${TOBUILD}"
diff --git a/recipes/sato-icon-theme/sato-icon-theme.inc b/recipes/sato-icon-theme/sato-icon-theme.inc
index 3c3699dc8d..30d0017b74 100644
--- a/recipes/sato-icon-theme/sato-icon-theme.inc
+++ b/recipes/sato-icon-theme/sato-icon-theme.inc
@@ -1,5 +1,3 @@
-require sato-icon-theme.inc
-
SECTION = "x11"
DESCRIPTION = "Sato Icon Theme"
LICENSE = "CC-BY-SA3"
diff --git a/recipes/sqlite/sqlite-2.8.17/mainmk_build_dynamic.patch b/recipes/sqlite/sqlite-2.8.17/mainmk_build_dynamic.patch
index e936f81c72..914422f1df 100644
--- a/recipes/sqlite/sqlite-2.8.17/mainmk_build_dynamic.patch
+++ b/recipes/sqlite/sqlite-2.8.17/mainmk_build_dynamic.patch
@@ -1,6 +1,6 @@
-diff -bur sqlite-2.8.17~orig/main.mk sqlite-2.8.17/main.mk
---- sqlite-2.8.17~orig/main.mk 2005-04-23 17:43:23.000000000 -0500
-+++ sqlite-2.8.17/main.mk 2006-02-13 03:31:03.000000000 -0600
+diff -urN sqlite-2.8.17.orig/main.mk sqlite-2.8.17/main.mk
+--- sqlite-2.8.17.orig/main.mk 2005-04-23 22:43:23.000000000 +0000
++++ sqlite-2.8.17/main.mk 2009-04-02 20:10:36.000000000 +0000
@@ -139,7 +139,7 @@
# This is the default Makefile target. The objects listed here
# are what get build when you type just "make" with no arguments.
@@ -17,13 +17,15 @@ diff -bur sqlite-2.8.17~orig/main.mk sqlite-2.8.17/main.mk
-libsqlite.a: $(LIBOBJ)
- $(AR) libsqlite.a $(LIBOBJ)
- $(RANLIB) libsqlite.a
-+libsqlite.so: $(LIBOBJ)
-+ $(CC) -shared -o libsqlite.so -Wl,-soname,libsqlite.so.0 $(LIBOBJ)
-
+-
-sqlite$(EXE): $(TOP)/src/shell.c libsqlite.a sqlite.h
-+sqlite$(EXE): $(TOP)/src/shell.c libsqlite.so sqlite.h
- $(TCCX) $(READLINE_FLAGS) -o sqlite$(EXE) $(TOP)/src/shell.c \
+- $(TCCX) $(READLINE_FLAGS) -o sqlite$(EXE) $(TOP)/src/shell.c \
- libsqlite.a $(LIBREADLINE) $(THREADLIB)
++libsqlite.so: $(LIBOBJ)
++ $(CC) $(LDFLAGS) -shared -o libsqlite.so -Wl,-soname,libsqlite.so.0 $(LIBOBJ)
++
++sqlite$(EXE): $(TOP)/src/shell.c libsqlite.so sqlite.h
++ $(TCCX) $(LDFLAGS) $(READLINE_FLAGS) -o sqlite$(EXE) $(TOP)/src/shell.c \
+ -lsqlite $(LIBREADLINE) $(THREADLIB)
sqlite_analyzer$(EXE): $(TOP)/src/tclsqlite.c libsqlite.a $(TESTSRC) \
diff --git a/recipes/sqlite/sqlite_2.8.17.bb b/recipes/sqlite/sqlite_2.8.17.bb
index b5939d9848..9f6ec7efe2 100644
--- a/recipes/sqlite/sqlite_2.8.17.bb
+++ b/recipes/sqlite/sqlite_2.8.17.bb
@@ -4,7 +4,7 @@ SECTION = "libs"
PRIORITY = "optional"
DEPENDS = "readline ncurses"
LICENSE = "PD"
-PR = "r2"
+PR = "r3"
SRC_URI = "http://www.hwaci.com/sw/sqlite/sqlite-${PV}.tar.gz \
file://mainmk_build_dynamic.patch;patch=1 \
diff --git a/recipes/tasks/task-base.bb b/recipes/tasks/task-base.bb
index c60ae4ff0b..4003359dd1 100644
--- a/recipes/tasks/task-base.bb
+++ b/recipes/tasks/task-base.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "Merge machine and distro options to create a basic machine task/package"
-PR = "r79"
+PR = "r80"
inherit task
diff --git a/recipes/tasks/task-qtopia-core-console.bb b/recipes/tasks/task-qtopia-core-console.bb
deleted file mode 100644
index 3d1533a33d..0000000000
--- a/recipes/tasks/task-qtopia-core-console.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-HOMEPAGE = "http://www.trolltech.com"
-LICENSE = "MIT"
-
-inherit task
-
-DESCRIPTION_task-qtopia-core-console = "QtopiaCore Core libraries for XML, SQL, Network, Containers and others."
-RDEPENDS_task-qtopia-core-console = "\
- libqt-embeddedcore4 \
- libqt-embeddednetwork4 \
- libqt-embeddedxml4 \
- libqt-embeddedsql4"
-
-
diff --git a/recipes/tasks/task-qtopia-core-gui.bb b/recipes/tasks/task-qtopia-core-gui.bb
deleted file mode 100644
index 1e2f27418e..0000000000
--- a/recipes/tasks/task-qtopia-core-gui.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-HOMEPAGE = "http://www.trolltech.com"
-LICENSE = "MIT"
-
-inherit task
-
-DESCRIPTION_task-qtopia-core-gui = "QtopiaCore GUI library"
-RDEPENDS_task-qtopia-core-gui = " \
- task-qtopia-core-console \
- libqt-embeddedgui4 \
- libqt-embeddedscript4 \
- libqt-embeddeddbus4"
diff --git a/recipes/totem/totem_0.99.15.bb b/recipes/totem/totem_0.99.15.bb
index 3defdaebe6..ed182b7d5a 100644
--- a/recipes/totem/totem_0.99.15.bb
+++ b/recipes/totem/totem_0.99.15.bb
@@ -11,7 +11,7 @@ SRC_URI="http://ftp.acc.umu.se/pub/GNOME/sources/totem/0.99/totem-${PV}.tar.gz \
file://include.patch;patch=1 \
file://omf.patch;patch=1"
-DEPENDS="gtk+ libglade gnome-vfs gconf libxine-x11 libgnomeui"
+DEPENDS="gtk+ libglade gnome-vfs gconf libxine libgnomeui"
RDEPENDS += " libgnomeui"
inherit autotools
diff --git a/recipes/totem/totem_1.0.4.bb b/recipes/totem/totem_1.0.4.bb
index a12f307ffa..8694bcb8d3 100644
--- a/recipes/totem/totem_1.0.4.bb
+++ b/recipes/totem/totem_1.0.4.bb
@@ -15,7 +15,7 @@ SRC_URI="http://ftp.gnome.org/pub/GNOME/sources/totem/1.0/totem-${PV}.tar.gz \
file://cflags.patch;patch=1 \
file://gtkonly.patch;patch=1"
-DEPENDS="gtk+ libglade gnome-vfs gconf libxine-x11 libxml2"
+DEPENDS="gtk+ libglade gnome-vfs gconf libxine libxml2"
inherit autotools
diff --git a/recipes/vlc/x264_r2245.bb b/recipes/vlc/x264_r2245.bb
index a662b56240..8d1036fa76 100644
--- a/recipes/vlc/x264_r2245.bb
+++ b/recipes/vlc/x264_r2245.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "H.264 encoder"
LICENSE = "GPL"
-PR = "r2"
+PR = "r3"
X264PV = "snapshot-20090127-2245"
@@ -8,7 +8,7 @@ SRC_URI = "http://download.videolan.org/pub/videolan/x264/snapshots/x264-${X264P
S = "${WORKDIR}/${PN}-${X264PV}"
-inherit autotools lib_package
+inherit autotools lib_package pkgconfig
# default --extra-cflags
X264_ECFLAGS = ""
@@ -24,8 +24,3 @@ EXTRA_OECONF = '--enable-shared ${X264_DISABLE_ASM} --extra-cflags="${X264_ECFLA
do_stage() {
autotools_stage_all
}
-
-do_configure() {
- ${S}/configure ${EXTRA_OECONF}
-}
-
diff --git a/recipes/webkit/webkit-gtk/autogen.sh b/recipes/webkit/webkit-gtk/autogen.sh
index f87238cf92..8f736c4a54 100644
--- a/recipes/webkit/webkit-gtk/autogen.sh
+++ b/recipes/webkit/webkit-gtk/autogen.sh
@@ -14,6 +14,14 @@ AUTOMAKE_FLAGS="--foreign --add-missing"
DIE=0
+(gtkdocize --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "You must have gtkdocize installed to compile $PROJECT."
+ echo "Install the appropriate package for your distribution,"
+ echo "or get the source tarball at http://ftp.gnome.org/pub/GNOME/sources/gtk-doc/"
+ DIE=1
+}
+
(autoconf --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have autoconf installed to compile $PROJECT."
@@ -50,6 +58,7 @@ rm -rf $top_srcdir/autom4te.cache
touch README INSTALL
+gtkdocize || exit $?
aclocal $ACLOCAL_FLAGS || exit $?
$LIBTOOLIZE $LIBTOOLIZE_FLAGS || exit $?
autoheader || exit $?
diff --git a/recipes/webkit/webkit-gtk/configure.ac b/recipes/webkit/webkit-gtk/configure.ac
index ad13dea585..4940af8bd8 100644
--- a/recipes/webkit/webkit-gtk/configure.ac
+++ b/recipes/webkit/webkit-gtk/configure.ac
@@ -2,7 +2,7 @@ AC_PREREQ(2.59)
m4_define([webkit_major_version], [1])
m4_define([webkit_minor_version], [1])
-m4_define([webkit_micro_version], [3])
+m4_define([webkit_micro_version], [4])
AC_INIT([WebKit],[webkit_major_version.webkit_minor_version.webkit_micro_version],[http://bugs.webkit.org/])
@@ -24,7 +24,7 @@ AC_CONFIG_SRCDIR([WebCore/config.h])
dnl # Libtool library version, not to confuse with API version
dnl # see http://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html#Libtool-versioning
-LIBWEBKITGTK_VERSION=3:0:1
+LIBWEBKITGTK_VERSION=4:0:2
AC_SUBST([LIBWEBKITGTK_VERSION])
AM_INIT_AUTOMAKE([foreign subdir-objects tar-ustar])
@@ -598,6 +598,8 @@ if test "$enable_video" = "yes"; then
html_flags=yes
fi
+GTK_DOC_CHECK([1.10])
+
# OS conditionals
AM_CONDITIONAL([OS_WIN32],[test "$os_win32" = "yes"])
AM_CONDITIONAL([OS_UNIX],[test "$os_win32" = "no"])
@@ -649,6 +651,7 @@ AC_CONFIG_FILES([
GNUmakefile
WebKit/gtk/webkit-1.0.pc:WebKit/gtk/webkit.pc.in
WebKit/gtk/webkit/webkitversion.h
+WebKit/gtk/docs/version.xml
]
)
diff --git a/recipes/webkit/webkit-gtk_svn.bb b/recipes/webkit/webkit-gtk_svn.bb
index 49b1590733..8473131653 100644
--- a/recipes/webkit/webkit-gtk_svn.bb
+++ b/recipes/webkit/webkit-gtk_svn.bb
@@ -1,11 +1,9 @@
DESCRIPTION = "WebKit browser engine, GTK+ edition"
-DEPENDS = "gnome-keyring libsoup-2.4 curl icu libxml2 cairo libxslt libxt libidn gnutls gtk+ gstreamer gst-plugins-base gnome-vfs bison-native flex-native gperf-native perl-native sqlite3"
+DEPENDS = "gtk-doc-native gtk-doc gnome-keyring libsoup-2.4 curl icu libxml2 cairo libxslt libxt libidn gnutls gtk+ gstreamer gst-plugins-base gnome-vfs bison-native flex-native gperf-native perl-native sqlite3"
SRCREV_FORMAT = "webcore-rwebkit"
-# Yes, this is wrong...
-PV = "0.1+svnr${SRCREV}"
-PR = "r9"
+PV = "1.1.4+svnr${SRCREV}"
SRC_URI = "\
svn://svn.webkit.org/repository/webkit/trunk/;module=JavaScriptCore;proto=http \
@@ -33,10 +31,15 @@ EXTRA_OECONF = "\
--enable-debug=no \
--enable-svg \
--enable-icon-database=yes \
- --with-http-backend=soup \
+ --with-http-backend=soup \
"
+
EXTRA_AUTORECONF = " -I autotools "
+do_configure_prepend() {
+ touch gtk-doc.make
+}
+
# Dolt gets used on x86 and ppc and hardcodes 'libtool'
do_configure_append() {
cp ${TARGET_PREFIX}libtool libtool || true
diff --git a/recipes/wireless-tools/wireless-tools.inc b/recipes/wireless-tools/wireless-tools.inc
index 36ee3eddef..d2a7b89a50 100644
--- a/recipes/wireless-tools/wireless-tools.inc
+++ b/recipes/wireless-tools/wireless-tools.inc
@@ -7,6 +7,7 @@ LICENSE = "GPL"
SRC_URI += "\
http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/wireless_tools.${PV}.tar.gz \
file://man.patch;patch=1 \
+ file://shared_lib_ldflags.patch;patch=1 \
file://wireless-tools.if-pre-up \
file://zzz-wireless.if-pre-up"
S = "${WORKDIR}/wireless_tools.${PV}"
diff --git a/recipes/wireless-tools/wireless-tools/shared_lib_ldflags.patch b/recipes/wireless-tools/wireless-tools/shared_lib_ldflags.patch
new file mode 100644
index 0000000000..85abde0ff3
--- /dev/null
+++ b/recipes/wireless-tools/wireless-tools/shared_lib_ldflags.patch
@@ -0,0 +1,12 @@
+diff -urN wireless_tools.29.orig/Makefile wireless_tools.29/Makefile
+--- wireless_tools.29.orig/Makefile 2007-09-17 23:56:46.000000000 +0000
++++ wireless_tools.29/Makefile 2009-04-02 09:22:14.000000000 +0000
+@@ -145,7 +145,7 @@
+
+ # Compilation of the dynamic library
+ $(DYNAMIC): $(OBJS:.o=.so)
+- $(CC) -shared -o $@ -Wl,-soname,$@ $(STRIPFLAGS) $(LIBS) -lc $^
++ $(CC) $(LDFLAGS) -shared -o $@ -Wl,-soname,$@ $(STRIPFLAGS) $(LIBS) -lc $^
+
+ # Compilation of the static library
+ $(STATIC): $(OBJS:.o=.so)
diff --git a/recipes/wireless-tools/wireless-tools_29.bb b/recipes/wireless-tools/wireless-tools_29.bb
index c83ae175e0..196a1942d1 100644
--- a/recipes/wireless-tools/wireless-tools_29.bb
+++ b/recipes/wireless-tools/wireless-tools_29.bb
@@ -1,3 +1,3 @@
require wireless-tools.inc
-PR = "r2"
+PR = "r3"
diff --git a/recipes/xorg-lib/libxt/pr10970-header-fix.patch b/recipes/xorg-lib/libxt/pr10970-header-fix.patch
new file mode 100644
index 0000000000..2acafb8b34
--- /dev/null
+++ b/recipes/xorg-lib/libxt/pr10970-header-fix.patch
@@ -0,0 +1,512 @@
+diff --git a/include/X11/CallbackI.h b/include/X11/CallbackI.h
+index 4ae08ab..64e8152 100644
+--- a/include/X11/CallbackI.h
++++ b/include/X11/CallbackI.h
+@@ -58,6 +58,8 @@ typedef XrmResource **CallbackTable;
+ #define _XtCBCalling 1
+ #define _XtCBFreeAfterCalling 2
+
++_XFUNCPROTOBEGIN
++
+ typedef struct internalCallbackRec {
+ unsigned short count;
+ char is_padded; /* contains NULL padding for external form */
+@@ -115,3 +117,5 @@ extern void _XtCallConditionalCallbackList(
+ XtPointer /* call_data */,
+ _XtConditionProc /* cond_proc */
+ );
++
++_XFUNCPROTOEND
+diff --git a/include/X11/CompositeP.h b/include/X11/CompositeP.h
+index ed055b2..e93275a 100644
+--- a/include/X11/CompositeP.h
++++ b/include/X11/CompositeP.h
+@@ -52,6 +52,8 @@ SOFTWARE.
+
+ #include <X11/Composite.h>
+
++_XFUNCPROTOBEGIN
++
+ /************************************************************************
+ *
+ * Additional instance fields for widgets of (sub)class 'Composite'
+@@ -101,6 +103,8 @@ typedef struct _CompositeClassRec {
+
+ externalref CompositeClassRec compositeClassRec;
+
++_XFUNCPROTOEND
++
+ #define XtCompositeExtensionVersion 2L
+ #define XtInheritGeometryManager ((XtGeometryHandler) _XtInherit)
+ #define XtInheritChangeManaged ((XtWidgetProc) _XtInherit)
+diff --git a/include/X11/ConstrainP.h b/include/X11/ConstrainP.h
+index a90d19a..7030a34 100644
+--- a/include/X11/ConstrainP.h
++++ b/include/X11/ConstrainP.h
+@@ -52,6 +52,8 @@ SOFTWARE.
+
+ #include <X11/Constraint.h>
+
++_XFUNCPROTOBEGIN
++
+ typedef struct _ConstraintPart {
+ XtPointer mumble; /* No new fields, keep C compiler happy */
+ } ConstraintPart;
+@@ -88,6 +90,8 @@ typedef struct _ConstraintClassRec {
+
+ externalref ConstraintClassRec constraintClassRec;
+
++_XFUNCPROTOEND
++
+ #define XtConstraintExtensionVersion 1L
+
+ #endif /* _XtConstraintP_h */
+diff --git a/include/X11/Constraint.h b/include/X11/Constraint.h
+index 9bb962e..b8bd902 100644
+--- a/include/X11/Constraint.h
++++ b/include/X11/Constraint.h
+@@ -50,11 +50,15 @@ SOFTWARE.
+ #ifndef _XtConstraint_h
+ #define _XtConstraint_h
+
++_XFUNCPROTOBEGIN
++
+ typedef struct _ConstraintClassRec *ConstraintWidgetClass;
+
+ #ifndef CONSTRAINT
+ externalref WidgetClass constraintWidgetClass;
+ #endif
+
++_XFUNCPROTOEND
++
+ #endif /* _XtConstraint_h */
+ /* DON'T ADD STUFF AFTER THIS #endif */
+diff --git a/include/X11/ConvertI.h b/include/X11/ConvertI.h
+index 02c0e5c..f3f7fb0 100644
+--- a/include/X11/ConvertI.h
++++ b/include/X11/ConvertI.h
+@@ -48,6 +48,8 @@ SOFTWARE.
+ ******************************************************************/
+ /* $XFree86: xc/lib/Xt/ConvertI.h,v 1.3 2001/12/14 19:56:09 dawes Exp $ */
+
++_XFUNCPROTOBEGIN
++
+ /* Representation types */
+
+ extern XrmQuark _XtQString;
+@@ -94,3 +96,4 @@ extern Boolean _XtConvert(
+
+ void _XtConvertInitialize(void);
+
++_XFUNCPROTOEND
+diff --git a/include/X11/Core.h b/include/X11/Core.h
+index ff6cb75..e1a7c28 100644
+--- a/include/X11/Core.h
++++ b/include/X11/Core.h
+@@ -53,6 +53,8 @@ SOFTWARE.
+ #ifndef _XtCore_h
+ #define _XtCore_h
+
++_XFUNCPROTOBEGIN
++
+ typedef struct _WidgetClassRec *CoreWidgetClass;
+ typedef struct _WidgetRec *CoreWidget;
+ externalref WidgetClass coreWidgetClass;
+@@ -62,5 +64,7 @@ externalref WidgetClass widgetClass;
+
+ #endif
+
++_XFUNCPROTOEND
++
+ #endif /* _XtCore_h */
+ /* DON'T ADD STUFF AFTER THIS #endif */
+diff --git a/include/X11/CoreP.h b/include/X11/CoreP.h
+index e07f085..57836e6 100644
+--- a/include/X11/CoreP.h
++++ b/include/X11/CoreP.h
+@@ -55,6 +55,8 @@ SOFTWARE.
+
+ #include <X11/Core.h>
+
++_XFUNCPROTOBEGIN
++
+ externalref int _XtInheritTranslations;
+
+ #define XtInheritTranslations ((String) &_XtInheritTranslations)
+@@ -167,5 +169,7 @@ typedef struct _WidgetClassRec {
+ externalref WidgetClassRec widgetClassRec;
+ #define coreClassRec widgetClassRec
+
++_XFUNCPROTOEND
++
+ #endif /* _XtCoreP_h */
+ /* DON'T ADD STUFF AFTER THIS #endif */
+diff --git a/include/X11/CreateI.h b/include/X11/CreateI.h
+index 87abb1d..e0ca9a3 100644
+--- a/include/X11/CreateI.h
++++ b/include/X11/CreateI.h
+@@ -3,6 +3,8 @@
+ #ifndef _XtcreateI_h
+ #define _XtcreateI_h
+
++_XFUNCPROTOBEGIN
++
+ extern Widget _XtCreateWidget(String name, WidgetClass widget_class,
+ Widget parent, ArgList args, Cardinal num_args,
+ XtTypedArgList typed_args,
+@@ -18,9 +20,12 @@ extern Widget _XtAppCreateShell(String name, String class,
+ Cardinal num_typed_args);
+ extern Widget _XtCreateHookObj(Screen *screen);
+
++_XFUNCPROTOEND
+
+ #include <stdarg.h>
+
++_XFUNCPROTOBEGIN
++
+ /* VarCreate.c */
+ extern Widget _XtVaOpenApplication(XtAppContext *app_context_return,
+ _Xconst char* application_class,
+@@ -34,4 +39,6 @@ extern Widget _XtVaAppInitialize(XtAppContext *app_context_return,
+ int *argc_in_out, String *argv_in_out,
+ String *fallback_resources, va_list var_args);
+
++_XFUNCPROTOEND
++
+ #endif /* _XtcreateI_h */
+diff --git a/include/X11/EventI.h b/include/X11/EventI.h
+index 00858e7..d2d1d0f 100644
+--- a/include/X11/EventI.h
++++ b/include/X11/EventI.h
+@@ -65,6 +65,8 @@ typedef struct _XtGrabRec *XtGrabList;
+
+ #include "PassivGraI.h"
+
++_XFUNCPROTOBEGIN
++
+ extern void _XtEventInitialize(
+ void
+ );
+@@ -131,4 +133,6 @@ extern void _XtFillAncestorList(Widget **listPtr, int *maxElemsPtr,
+ /* NextEvent.c */
+ extern Boolean XtAppPeekEvent_SkipTimer;
+
++_XFUNCPROTOEND
++
+ #endif /* _Event_h_ */
+diff --git a/include/X11/HookObjI.h b/include/X11/HookObjI.h
+index c9a22a2..c0858c2 100644
+--- a/include/X11/HookObjI.h
++++ b/include/X11/HookObjI.h
+@@ -29,6 +29,8 @@ in this Software without prior written authorization from The Open Group.
+ #ifndef _XtHookObjI_h
+ #define _XtHookObjI_h
+
++_XFUNCPROTOBEGIN
++
+ /* This object is implementation-dependent and private to the library. */
+
+ typedef struct _HookObjRec *HookObject;
+@@ -66,6 +68,8 @@ typedef struct _HookObjClassRec {
+
+ externalref HookObjClassRec hookObjClassRec;
+
++_XFUNCPROTOEND
++
+ #endif /* ifndef _Xt_HookObjI_h */
+
+
+diff --git a/include/X11/InitialI.h b/include/X11/InitialI.h
+index c2fe47c..2ae9b74 100644
+--- a/include/X11/InitialI.h
++++ b/include/X11/InitialI.h
+@@ -84,6 +84,8 @@ SOFTWARE.
+ #include <X11/Xos.h>
+ #include <X11/Xpoll.h>
+
++_XFUNCPROTOBEGIN
++
+ typedef struct _TimerEventRec {
+ struct timeval te_timer_value;
+ struct _TimerEventRec *te_next;
+@@ -426,4 +428,6 @@ extern XrmDatabase _XtPreparseCommandLine(XrmOptionDescRec *urlist,
+ String *applName, String *displayName,
+ String *language);
+
++_XFUNCPROTOEND
++
+ #endif /* _XtinitialI_h */
+diff --git a/include/X11/IntrinsicI.h b/include/X11/IntrinsicI.h
+index d749867..d88166f 100644
+--- a/include/X11/IntrinsicI.h
++++ b/include/X11/IntrinsicI.h
+@@ -194,6 +194,8 @@ SOFTWARE.
+ #define ERRORDB "/usr/lib/X11/XtErrorDB"
+ #endif
+
++_XFUNCPROTOBEGIN
++
+ extern String XtCXtToolkitError;
+
+ extern void _XtAllocError(
+@@ -257,5 +259,7 @@ extern char* __XtCalloc (
+ #define __XtCalloc XtCalloc
+ #endif
+
++_XFUNCPROTOEND
++
+ #endif /* _XtintrinsicI_h */
+ /* DON'T ADD STUFF AFTER THIS #endif */
+diff --git a/include/X11/Object.h b/include/X11/Object.h
+index 96723b1..2c84aaf 100644
+--- a/include/X11/Object.h
++++ b/include/X11/Object.h
+@@ -50,11 +50,16 @@ SOFTWARE.
+ #ifndef _XtObject_h
+ #define _XtObject_h
+
++_XFUNCPROTOBEGIN
++
+ typedef struct _ObjectRec *Object;
+ typedef struct _ObjectClassRec *ObjectClass;
+
+ #ifndef OBJECT
+ externalref WidgetClass objectClass;
+ #endif
++
++_XFUNCPROTOEND
++
+ #endif /* _XtObject_h */
+ /* DON'T ADD STUFF AFTER THIS #endif */
+diff --git a/include/X11/ObjectP.h b/include/X11/ObjectP.h
+index a24564e..0f484d2 100644
+--- a/include/X11/ObjectP.h
++++ b/include/X11/ObjectP.h
+@@ -52,6 +52,8 @@ SOFTWARE.
+
+ #include <X11/Object.h>
+
++_XFUNCPROTOBEGIN
++
+ /**********************************************************
+ * Object Instance Data Structures
+ *
+@@ -132,6 +134,8 @@ typedef struct _ObjectClassRec {
+
+ externalref ObjectClassRec objectClassRec;
+
++_XFUNCPROTOEND
++
+ #define XtObjectExtensionVersion 1L
+ #define XtInheritAllocate ((XtAllocateProc) _XtInherit)
+ #define XtInheritDeallocate ((XtDeallocateProc) _XtInherit)
+diff --git a/include/X11/PassivGraI.h b/include/X11/PassivGraI.h
+index 02e2964..10591ac 100644
+--- a/include/X11/PassivGraI.h
++++ b/include/X11/PassivGraI.h
+@@ -60,6 +60,8 @@ in this Software without prior written authorization from The Open Group.
+ #define KEYBOARD TRUE
+ #define POINTER FALSE
+
++_XFUNCPROTOBEGIN
++
+ typedef enum {
+ XtNoServerGrab,
+ XtPassiveServerGrab,
+@@ -183,4 +185,6 @@ extern void _XtClearAncestorCache(
+ Widget /* widget */
+ );
+
++_XFUNCPROTOEND
++
+ #endif /* _PDI_h_ */
+diff --git a/include/X11/RectObj.h b/include/X11/RectObj.h
+index 07615fa..dced5c3 100644
+--- a/include/X11/RectObj.h
++++ b/include/X11/RectObj.h
+@@ -50,11 +50,16 @@ SOFTWARE.
+ #ifndef _XtRect_h
+ #define _XtRect_h
+
++_XFUNCPROTOBEGIN
++
+ typedef struct _RectObjRec *RectObj;
+ typedef struct _RectObjClassRec *RectObjClass;
+
+ #ifndef RECTOBJ
+ externalref WidgetClass rectObjClass;
+ #endif
++
++_XFUNCPROTOEND
++
+ #endif /* _XtRect_h */
+ /* DON'T ADD STUFF AFTER THIS #endif */
+diff --git a/include/X11/RectObjP.h b/include/X11/RectObjP.h
+index ca3b8ad..d6ffb78 100644
+--- a/include/X11/RectObjP.h
++++ b/include/X11/RectObjP.h
+@@ -53,6 +53,8 @@ SOFTWARE.
+ #include <X11/RectObj.h>
+ #include <X11/ObjectP.h>
+
++_XFUNCPROTOBEGIN
++
+ /**********************************************************
+ * Rectangle Object Instance Data Structures
+ *
+@@ -126,4 +128,6 @@ typedef struct _RectObjClassRec {
+
+ externalref RectObjClassRec rectObjClassRec;
+
++_XFUNCPROTOEND
++
+ #endif /*_Xt_RectObjP_h_*/
+diff --git a/include/X11/ResourceI.h b/include/X11/ResourceI.h
+index d6ed1df..3db97f8 100644
+--- a/include/X11/ResourceI.h
++++ b/include/X11/ResourceI.h
+@@ -61,6 +61,8 @@ SOFTWARE.
+ #define StringToName(string) XrmStringToName(string)
+ #define StringToClass(string) XrmStringToClass(string)
+
++_XFUNCPROTOBEGIN
++
+ extern void _XtDependencies(
+ XtResourceList * /* class_resp */,
+ Cardinal * /* class_num_resp */,
+@@ -96,5 +98,6 @@ extern XrmResourceList* _XtCreateIndirectionTable(XtResourceList resources,
+ Cardinal num_resources);
+ extern void _XtResourceListInitialize(void);
+
++_XFUNCPROTOEND
+
+ #endif /* _XtresourceI_h */
+diff --git a/include/X11/ShellP.h b/include/X11/ShellP.h
+index 2b08c3f..7297d33 100644
+--- a/include/X11/ShellP.h
++++ b/include/X11/ShellP.h
+@@ -67,6 +67,8 @@ SOFTWARE.
+ * *****
+ */
+
++_XFUNCPROTOBEGIN
++
+ /***********************************************************************
+ *
+ * Shell Widget Private Data
+@@ -214,8 +216,12 @@ typedef struct {
+ WMShellPart wm;
+ } WMShellRec, *WMShellWidget;
+
++_XFUNCPROTOEND
++
+ #include <X11/VendorP.h>
+
++_XFUNCPROTOBEGIN
++
+ /***********************************************************************
+ *
+ * TransientShell Widget Private Data
+@@ -425,4 +431,6 @@ typedef struct {
+ SessionShellPart session;
+ } SessionShellRec, *SessionShellWidget;
+
++_XFUNCPROTOEND
++
+ #endif /* _XtShellPrivate_h */
+diff --git a/include/X11/ThreadsI.h b/include/X11/ThreadsI.h
+index 1492d77..28cbc98 100644
+--- a/include/X11/ThreadsI.h
++++ b/include/X11/ThreadsI.h
+@@ -81,6 +81,8 @@ typedef void (*ThreadAppRestoreLockProc)(
+ Boolean* /* pushed_thread */
+ );
+
++_XFUNCPROTOBEGIN
++
+ extern void (*_XtProcessLock)(
+ void
+ );
+@@ -93,6 +95,8 @@ extern void (*_XtInitAppLock)(
+ XtAppContext /* app */
+ );
+
++_XFUNCPROTOEND
++
+ #define INIT_APP_LOCK(app) if(_XtInitAppLock) (*_XtInitAppLock)(app)
+ #define FREE_APP_LOCK(app) if(app && app->free_lock)(*app->free_lock)(app)
+
+diff --git a/include/X11/TranslateI.h b/include/X11/TranslateI.h
+index 1224875..6cc3099 100644
+--- a/include/X11/TranslateI.h
++++ b/include/X11/TranslateI.h
+@@ -342,6 +342,8 @@ typedef struct _TMGlobalRec{
+ #endif /* TRACE_TM */
+ }TMGlobalRec;
+
++_XFUNCPROTOBEGIN
++
+ extern TMGlobalRec _XtGlobalTM;
+
+ #define TM_MOD_SEGMENT_SIZE 16
+@@ -604,3 +606,4 @@ extern void _XtUnmergeTranslations(
+ /* TMKey.c */
+ extern void _XtAllocTMContext(XtPerDisplay pd);
+
++_XFUNCPROTOEND
+diff --git a/include/X11/VarargsI.h b/include/X11/VarargsI.h
+index e15404a..76ce9bc 100644
+--- a/include/X11/VarargsI.h
++++ b/include/X11/VarargsI.h
+@@ -34,6 +34,8 @@ in this Software without prior written authorization from The Open Group.
+
+ /* private routines */
+
++_XFUNCPROTOBEGIN
++
+ extern void _XtCountVaList(
+ va_list /*var*/, int* /*total_count*/, int* /*typed_count*/
+ );
+@@ -62,4 +64,6 @@ extern void _XtGetSubresources(
+ Widget /*w*/, XtPointer /*base*/, const char* /*name*/, const char* /*class*/, XtResourceList /*resources*/, Cardinal /*num_resources*/, ArgList /*args*/, Cardinal /*num_args*/, XtTypedArgList /*typed_args*/, Cardinal /*num_typed_args*/
+ );
+
++_XFUNCPROTOEND
++
+ #endif /* _VarargsI_h_ */
+diff --git a/include/X11/Vendor.h b/include/X11/Vendor.h
+index 65e7c38..633d17a 100644
+--- a/include/X11/Vendor.h
++++ b/include/X11/Vendor.h
+@@ -65,7 +65,11 @@ SOFTWARE.
+
+ typedef struct _VendorShellClassRec *VendorShellWidgetClass;
+
++_XFUNCPROTOBEGIN
++
+ externalref WidgetClass vendorShellWidgetClass;
+
++_XFUNCPROTOEND
++
+ #endif /* _XtVendor_h */
+ /* DON'T ADD STUFF AFTER THIS #endif */
+diff --git a/include/X11/VendorP.h b/include/X11/VendorP.h
+index 08bf689..e60857d 100644
+--- a/include/X11/VendorP.h
++++ b/include/X11/VendorP.h
+@@ -72,6 +72,8 @@ SOFTWARE.
+
+ /* New fields for the VendorShell widget class record */
+
++_XFUNCPROTOBEGIN
++
+ typedef struct {
+ XtPointer extension; /* pointer to extension record */
+ } VendorShellClassPart;
+@@ -100,4 +102,6 @@ typedef struct {
+ VendorShellPart vendor;
+ } VendorShellRec, *VendorShellWidget;
+
++_XFUNCPROTOEND
++
+ #endif /* _XtVendorPrivate_h */
diff --git a/recipes/xorg-lib/libxt_1.0.4.bb b/recipes/xorg-lib/libxt_1.0.4.bb
index e67590bdf1..3911b78382 100644
--- a/recipes/xorg-lib/libxt_1.0.4.bb
+++ b/recipes/xorg-lib/libxt_1.0.4.bb
@@ -9,6 +9,10 @@ PROVIDES = "xt"
XORG_PN = "libXt"
+SRC_URI += "file://pr10970-header-fix.patch;patch=1"
+
+PR = "r1"
+
EXTRA_OECONF="--enable-malloc0returnsnull --disable-install-makestrs --disable-xkb"
do_compile() {
diff --git a/recipes/xorg-lib/libxt_1.0.5.bb b/recipes/xorg-lib/libxt_1.0.5.bb
index 4190a1158b..47b980e650 100644
--- a/recipes/xorg-lib/libxt_1.0.5.bb
+++ b/recipes/xorg-lib/libxt_1.0.5.bb
@@ -3,11 +3,13 @@ require xorg-lib-common.inc
DESCRIPTION = "X11 toolkit intrinsics library"
DEPENDS += "libsm virtual/libx11 kbproto"
PROVIDES = "xt"
-PR = "r1"
+PR = "r2"
PE = "1"
XORG_PN = "libXt"
+SRC_URI += "file://pr10970-header-fix.patch;patch=1"
+
EXTRA_OECONF += "--disable-install-makestrs --disable-xkb"
do_compile() {
diff --git a/recipes/zeroconf/files/zeroconf-ldflags.patch b/recipes/zeroconf/files/zeroconf-ldflags.patch
new file mode 100644
index 0000000000..ba6056953e
--- /dev/null
+++ b/recipes/zeroconf/files/zeroconf-ldflags.patch
@@ -0,0 +1,12 @@
+diff -urN zeroconf-0.9.orig/Makefile zeroconf-0.9/Makefile
+--- zeroconf-0.9.orig/Makefile 2006-04-29 10:41:15.000000000 +0000
++++ zeroconf-0.9/Makefile 2009-04-02 09:27:38.000000000 +0000
+@@ -18,7 +18,7 @@
+
+ zeroconf: zeroconf.o delay.o
+ $(Q)echo "Creating $@"
+- $(Q)$(CC) $(CFLAGS) -o $@ $^ $(LIBS)
++ $(Q)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)
+
+
+ # Automatic dependency generation
diff --git a/recipes/zeroconf/zeroconf_0.9.bb b/recipes/zeroconf/zeroconf_0.9.bb
index 5c42237888..2857247196 100644
--- a/recipes/zeroconf/zeroconf_0.9.bb
+++ b/recipes/zeroconf/zeroconf_0.9.bb
@@ -5,10 +5,11 @@ LICENSE = "GPL"
SECTION = "net"
PRIORITY = "optional"
-PR = "r1"
+PR = "r2"
SRC_URI = "http://www.progsoc.org/~wildfire/zeroconf/download/${PN}-${PV}.tar.gz \
file://zeroconf-default \
+ file://zeroconf-ldflags.patch;patch=1 \
file://zeroconf-limits.h.patch;patch=1 \
file://debian-zeroconf"